磁盤碎片整理程序的原理是什么?


盤碎片整理,就是通過系統軟件或者專業的磁盤碎片整理軟件對電腦磁盤在長期使用過程中產生的碎片和凌亂文件重新整理,釋放出更多的磁盤空間,可提高電腦的整體性能和運行速度。
磁盤碎片應該稱為文件碎片,是因為文件被分散保存到整個磁盤的不同地方,而不是連續地保存在磁盤連續的簇中形成的。硬盤在使用一段時間后,由於反復寫入和刪除文件,磁盤中的空閑扇區會分散到整個磁盤中不連續的物理位置上,從而使文件不能存在連續的扇區類。這樣,再讀寫文件時就需要到不同的地方去讀取,增加了磁頭的來回移動,降低了磁盤的訪問速度。
當應用程序所需的物理內存不足時,一般操作系統會在硬盤中產生臨時交換文件,用該文件所占用的硬盤空間虛擬成內存。虛擬內存管理程序會對硬盤頻繁讀寫,產生大量的碎片,這是產生硬盤碎片的主要原因。其他如IE瀏覽器瀏覽信息時生成的臨時文件或臨時文件目錄的設置也會造成系統中形成大量的碎片。文件碎片一般不會在系統中引起問題,但文件碎片過多會使系統在讀文件的時候來回尋找,引起硬盤性能下降,嚴重的還要縮短硬盤壽命。
硬盤就像屋子一樣更需要常整理,要整理磁盤就要用到“磁盤碎片整理程序”這個東西,磁盤碎片整理程序可以對使用文件分配表 (FAT)文件系統、FAT32 文件系統和 NTFS文件系統格式化的卷進行碎片整理。磁盤碎片整理其實就是把硬盤上的文件重新寫在硬盤上,以便讓文件保持連續性。 只有連續長時間頻繁的讀寫硬盤才會對磁盤造成一定的傷害,但整理碎片並不算傷害硬盤,因為大多數人不會每天都整理一次,且每次整理的時間亦很短,並不會長時間的讀寫硬盤。關於整理碎片會損害硬盤的使用壽命,可不必太在意。建議至多每月作一次到兩次磁盤碎片整理,使硬盤的讀寫速度保持在最佳狀態。
一般家庭用戶1個月整理一次,商業用戶以及服務器半個月整理一次

這里所說的磁盤碎片應該稱為文件碎片,是因為文件被分散保存到整個磁盤的不同地方,而不是連續地保存在磁盤連續的簇中形成的。硬盤在使用一段時間后,由於反復寫入和刪除文件,磁盤中的空閑扇區會分散到整個磁盤中不連續的物理位置上,從而使文件不能存在連續的扇區里。這樣,再讀寫文件時就需要到不同的地方去讀取,增加了磁頭的來回移動,降低了磁盤的訪問速度。

生成碎片的主要原因是:當應用程序所需的物理內存不足時,一般操作系統會在硬盤中產生磁盤臨時交換文件,用該文件所占用的硬盤空間虛擬成內存。虛擬內存管理程序會對硬盤頻繁讀寫,產生大量的碎片,這是產生硬盤碎片的主要原因。此外,其他如IE瀏覽器瀏覽信息時生成的臨時文件或臨時文件目錄的設置也會造成系統中形成大量的碎片。文件碎片一般不會在系統中引起問題,但文件碎片過多會使系統在讀文件的時候來回尋找,引起硬盤性能下降,嚴重的還要縮短硬盤壽命。

所謂磁盤碎片整理,就是通過系統軟件或者專業的磁盤碎片整理軟件對電腦磁盤在長期使用過程中產生的碎片和凌亂文件重新整理,可提高電腦的整體性能和運行速度。

一般家庭用戶1個月整理一次,商業用戶以及服務器半個月整理一次。但要根據碎片比例來考慮,如在windows7中,碎片超過10%,則需整理,否則不必。(回答參考百度百科)

 


磁盤主要由盤片,能夠轉動盤片的驅動馬達,機械臂以及機械臂上的讀取頭組成,在讀取數據時,馬達會驅動盤片來讓讀取頭在盤片上讀取。盤片是主要記錄數據的地方,扇區(sector)是硬盤的盤片上最小的物理存儲單位,一般為 512 KB;而塊(block)是文件系統(FAT、NTFS、Ext2,Ext3 )中最小的操作單位,由一個或多個 sector 組成,類似於 FAT 文件系統中簇的概念,讀寫文件時是按照文件系統中定義的 block 的大小來進行的。一般最小的 block 為 4 KB,大文件讀寫時有 128 KB、256 KB。

以 FAT 文件系統(Windows 98 以前的操作系統以及 U 盤常用的文件系統)為例,文件數據一般會存放在連續的block中,比較大的文件會占用多個block。但是當對同一文件進行頻繁更新(刪除、移動、新增等)時,文件體積發現變化后,文件系統會嘗試放在原始文件開始的 block 緊鄰的位置中,但是由於緊鄰的 block 已經沒有空間可放,此時會跳到其他 block 中存放。通常,一個文件占用的多個 block 都是不連續的,操作過於頻繁時會使同一文件的block太過分散。


(圖片源自《鳥哥的LINUX私房菜》)

在FAT文件系統中,每一文件的 block 號碼都是記錄在前一個 block 當中,讀取方式類似上圖所示。

上圖中我們假設文件的數據依序寫入 1->7->4->15 號這四個 block 號碼中, 但這個文件系統沒有辦法一口氣就知道四個 block 的號碼,他得要一個一個的將 block 讀出后,才會知道下一個 block 在何處。 如果同一個文件數據寫入的 block 分散的太過厲害時,則我們的磁盤讀取頭將無法在磁盤轉一圈就讀到所有的數據, 因此磁盤就會多轉好幾圈才能完整的讀取到這個文件的內容!——引自《鳥哥的LINUX私房菜》

磁盤碎片整理的目的就是將文件太過分散的 block 存到在磁盤開始的地方,使它們連續分布,進而彌補磁盤上形成的大量的空洞,提高文件讀寫時的速度。
而 NTFS 文件系統后來進行了優化,會在文件周圍分配一些“緩沖”的空間,在使用時間長后仍然需要進行碎片整理,而 Linux 中的 Ext 文件系統則是采用索引式式文件系統,有 inode 來記錄文件所在的 block 號碼,能夠將文件的所有 block 一口氣讀出來,所以 Linux 系統一般不太需要碎片整理。
 
from:https://www.zhihu.com/question/27291210?from=profile_question_card


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM