連續分配、連結分配和索引分配詳解

2020-07-16 10:04:36
磁碟直接存取的特點在檔案實現時提供了靈活性。在幾乎每種情況下,很多檔案都是儲存在同一個磁碟上的。主要的問題是,如何為這些檔案分配空間,以便有效使用磁碟空間和快速存取檔案。

磁碟空間分配的主要常用方法有三個:連續分配連結分配索引分配每個方法各有優缺點。雖然有些系統對這三種方法都支援。但是更為常見的是,一個系統只對同一檔案系統型別的所有檔案採用一種方法。

連續分配

連續分配方法要求,每個檔案在磁碟上佔有一組連續的塊。磁碟地址為磁碟定義了一個線性排序。有了這個排序,假設只有一個作業正在存取磁碟,在塊 b 之後存取塊 b+1 通常不需要移動磁頭。當需要磁頭移動(從一個柱面的最後磁區到下一個柱面的第一磁區)時,只需要移動一個磁軌。因此,用於存取連續分配檔案的所需尋道數量最小,在確實需要尋道時所需的尋道時間也最小。

檔案的連續分配可以用首塊的磁碟地址和連續的塊數來定義。如果檔案有 n 塊長並從位置 b 開始,則該檔案將占有塊 b,b+1,b+2,…,b+n-1。每個檔案的目錄條目包括起始塊的地址和該檔案所分配區域的長度,參見圖 1。

磁盤空間的連續分配
圖 1 磁碟空間的連續分配