下面就給大家介紹下外存分配的幾種方式、及其優劣。
連續分配
建立檔案時,分配一組連續的塊;FAT中每個檔案只要一項,說明起始塊和檔案的長度。對順序檔案有利。
優點:
簡單。適用於一次性寫入的操作
支援順序存取和隨機存取,順序存取速度快
所需的磁碟尋道次數和尋道時間最少(因為由於空間的連續性,當訪問下一個磁碟塊時,一般無需移動磁頭,當需要磁頭移動,只需要移動一個磁軌。
缺點:
檔案不能動態增長(可能檔案末尾處的空塊已經分配給別的檔案)
不利於檔案插入和刪除
外部碎片問題(反覆增刪檔案後),使得很難找到空間大小足夠的連續塊。進行緊縮在建立檔案時宣告檔案的大小。
鏈式分配
一個檔案的資訊存放在若干不連續的物理塊中,各塊之間通過指標連線,前一個物理塊指向下一個物理塊。FAT中每個檔案同樣只需要一項,包括檔名、起始塊號和最後塊號。任何一個自由塊都可以加入到鏈中。
優點:
提高了磁碟空間利用率,不存在外部碎片問題
有利於檔案插入和刪除
有利於檔案動態擴充
缺點:
存取速度慢,一般僅適於對資訊的順序存取,不適於隨機存取:查詢某一個塊必須從頭開始沿指標進行。
可靠性問題,如指標出錯;更多的尋道次數和尋道時間
連結指標佔用一定的空間,將多個塊組成簇(cluster),按簇進行分配而不是按塊進行分配(增加了磁碟碎片)。
索引分配
每個檔案在FAT中有一個一級索引,索引包含分配給檔案的每個分割槽的入口。檔案的索引儲存在一個單獨的塊中。FAT中該檔案的入口指向這一塊。
優點:
保持了連結結構的優點,又解決了其缺點:按塊分配可以消除外部碎片,按大小可變的分割槽分配可以提高區域性性。索引分配支援順序訪問檔案和直接訪問檔案,是普遍採用的一種方式。
滿足了檔案動態增長、插入刪除的要求(只要有空閒塊)
也能充分利用外存空間
缺點:
較多的尋道次數和尋道時間.
索引表本身帶來了系統開銷,如:內外存空間,存取時間
如果覺得本文有用,請頂我們一下!謝謝!