1. 程式人生 > >關於windows作業系統的一些概念。

關於windows作業系統的一些概念。

轉自:http://zhidao.baidu.com/link?url=qqOjY6ztqMf3ASUUpO6IPy8tLFN2ABgusgQXK9ZOXZb1GCgYtktDFyseUytqn_lTvamP-lkrAYrmJDx4oDhA6q

機械硬碟結構及資料讀寫方式】
為了能夠全方位的分析問題,首先認識一下機械硬碟的結構以及資料讀寫方式。當我們給磁碟分割槽的時候,第一個分割槽(通常是C盤)在最外圈,第二個分割槽(D盤)在第一分割槽內圈,以此類推。需要記住一點,外圈讀寫速度比內圈快,越往內圈越慢。當系統發出讀寫指令時,磁碟首先需要尋找資料所在磁軌,即尋道,尋道需要時間,磁頭到達磁軌後,需要等待目標扇區轉動到磁頭下面,即延遲。這裡我們需要記住磁頭頻繁尋道加上延遲,會導致效能急劇下降。到這裡,我們應當認為,程式安裝在C盤,系統速度要快一些。但是!我們忽略一個問題,即磁碟碎片。
【磁碟碎片】
當磁碟上沒有資料,或者資料較少時,有大量空閒空間來儲存資料。當系統要求
資料儲存
時,磁碟會優先選擇連續的空間儲存資料。當我們刪除檔案時,原本連續儲存資料的區域,就會出現小的空閒空間,這些空間就是所謂的碎片。當系統向磁碟儲存一個稍大的檔案時,如果沒有連續空間了,磁碟就會將檔案切割,放到碎片空間中。由於這些碎片空間不連續,就會導致磁碟讀寫資料時需要頻繁尋道,再加上延遲,磁碟讀寫資料自然就變慢了。當系統盤剩餘空間比較小時,碎片數量會急劇增加。將應用程式安裝在C盤,提高了系統盤刪除增加檔案的頻率,碎片數量同樣會增加,看起來,安裝在非系統盤系統盤不易產生碎片,貌似要好一些?我們又忽略了一個問題,程式部署結構! 【程式部署結構】 在過去,程式多數是綠色的。所謂的綠色,就是將程式目錄從一個目錄移動到另外一個目錄,從一個磁碟移動到另外一個磁碟,從一臺電腦移動到另外一臺電腦,程式仍然能夠執行。而且,程式除了在本目錄、臨時目錄產生資料,基本不會在其他地方產生資料。所以將綠色軟體安裝在非系統盤,可以降低系統盤碎片產生頻率和數量,這就是過去將程式安裝在非系統盤的主要原因之一。 可是現在不一樣了,程式結構比較複雜,多數程式安裝後,會在C:\ProgramData、C:\Users\[使用者資料夾]\AppData\Roaming、c:\windows\
system32
、登錄檔等地方放入檔案或者註冊資訊,而且執行時也會在臨時目錄等地方生成檔案。所以現在的程式安裝到非系統盤,就基本上失去降低系統盤碎片數量的意義了。 話又說回來,把程式安裝到非系統盤,難道就不會增加非系統盤的碎片數量麼。放到非系統盤後,不但增加了非系統盤的碎片數量,再加上非系統盤在內圈且讀寫速度慢,且不是讓程式執行速度更慢了? 所以程式結構以及碎片產生的角度上考慮,程式安裝到系統盤要好一些。 另外,我們需要考慮檔案系統的問題。 【檔案系統】 我們通常說的FAT16FAT32、NTFS就是檔案系統了。檔案系統型別不同,磁碟碎片產生的嚴重程度不同。過去使用的是FAT32檔案系統,更早的是
FAT16
,這兩種檔案系統相對NTFS來說,更容易產生磁碟碎片,所以過去經常強調“整理碎片”。現在這樣說的人比較少了。但並不代表NTFS檔案系統不會造成碎片,只是沒那麼“嚴重”。因此我們將程式安裝在系統盤後,由於使用NTFS檔案系統,大大降低碎片導致的系統性能下降問題。 【NCQ技術助陣磁碟資料讀寫】 有網友使用了電梯的例子來形容磁碟資料讀寫,非常形象,這裡不妨借鑑下。 假設有三個人A、B和C,分別到達3、5和10樓,假設按電梯的順序是BAC,電梯就會先到5樓,回到3樓,最後到10樓。當然電梯可不是這麼幹的,但過去的磁碟就是這樣的,因此會導致磁碟尋道頻率比較高,磁頭行程較長。 NCQ(Native Command Queuing全速命令排隊)技術的出現,讓磁碟也類似現在的電梯一樣聰明瞭,大大降低磁碟尋道頻率和行程。尤其是現在的多核CPU、CPU超執行緒、多執行緒環境下,體現更為明顯。 NCQ技術,同樣降低了由於碎片導致的效能下降問題。 所以,碎片問題不再是影響我們將程式安裝到系統盤還是非系統盤的重要因素了,安裝到磁碟外圈的系統盤有利於提高程式執行速度。所以我們建議將程式安裝在系統盤,即C盤。 【總結】 從機械硬碟外圈快內圈慢、檔案系統、磁碟碎片這些綜合因素考慮,將程式安裝在C盤,即系統盤的優勢大於非系統盤,所以建議將程式安裝到系統盤。 注意:如果你的C盤剩餘空間比較小,會急劇降低系統性能,個人經驗建議,系統盤剩餘空間保持在10G以上。另外,建議機械硬碟的使用者,半把年做個磁碟碎片整理