檔案控制塊位分配

檔案控制塊位分配

檔案控制塊是作業系統為管理檔案而設定的一組具有固定格式的數據結構,存放了為管理檔案所需的所有有屬性信息(檔案屬性或元數據)。檔案與檔案控制塊一一對應,而人們把檔案控制塊的有序集合稱為檔案目錄,即一個檔案控制塊就是一個檔案目錄項。當檔案很多時,檔案目錄可能要占用大量的盤塊。檔案控制塊位分配是指採用位示圖法來表示檔案目錄的磁碟使用情況。

基本介紹

  • 中文名:檔案控制塊位分配
  • 外文名:File control block bit allocation
  • 學科:計算機
  • 定義:位示圖法表示檔案目錄的磁碟使用
  • 有關術語:檔案控制塊、位示圖
  • 領域:檔案管理
檔案控制塊,基本信息類,存取控制信息類,使用信息類,位示圖法,盤塊的分配,盤塊的回收,

檔案控制塊

為了能對一個檔案進行正確的存取,必須為檔案設定用於描述和控制檔案的數據結構,稱之為“檔案控制塊(FCB)” 。檔案管理程式可藉助於檔案控制塊中的信息,對檔案施以各種操作。檔案與檔案控制塊一一對應,而人們把檔案控制塊的有序集合稱為檔案目錄,即一個檔案控制塊就是一個檔案目錄項。
為了能對系統中的大量檔案施以有效的管理,在檔案控制塊中,通常應含有三類信息,即基本信息、存取控制信息及使用信息。

基本信息類

基本信息類包括: ① 檔案名稱,指用於標識一個檔案的符號名。在每個系統中,每一個檔案都必須有惟一的名字,用戶利用該名字進行存取。② 檔案物理位置,指檔案在外存上的存儲位置,它包括存放檔案的設備名、檔案在外存上的起始盤塊號、指示檔案所占用的盤塊數或位元組數的檔案長度。③ 檔案邏輯結構,指示檔案是流式檔案還是記錄式檔案、記錄數;檔案是定長記錄還是變長記錄等。④ 檔案的物理結構,指示檔案是順序檔案,還是連結式檔案或索引檔案。

存取控制信息類

存取控制信息類包括:檔案主的存取許可權、核准用戶的存取許可權以及一般用戶的存取許可權。

使用信息類

使用信息類包括: 檔案的建立日期和時間、 檔案上一次修改的日期和時間及當前使用信息(這項信息包括當前已打開該檔案的進程數、是否被其它進程鎖住、檔案在記憶體中是否已被修改但尚未拷貝到盤上)。應該說明,對於不同 OS 的檔案系統,由於功能不同,可能只含有上述信息中的某些部分。

位示圖法

位示圖是利用二進制的一位來表示磁碟中一個盤塊的使用情況。當其值為“0”時,表示對應的盤塊空閒;為“1”時,表示已分配。有的系統把“0”作為盤塊已分配的標誌,把“1”作為空閒標誌。(它們在本質上是相同的,都是用一位的兩種狀態來標誌空閒和已分配兩種情況。)磁碟上的所有盤塊都有一個二進制位與之對應,這樣,由所有盤塊所對應的位構成一個集合,稱為位示圖。通常可用 m × n 個位數來構成位示圖,並使 m × n 等於磁碟的總塊數,如圖 所示。
檔案控制塊位分配
位示圖也可描述為一個二維數組 map:
Var map: array of bit;

盤塊的分配

根據位示圖進行盤塊分配時,可分三步進行:
(1) 順序掃描位示圖,從中找出一個或一組其值為“0”的二進制位(“0”表示空閒時)。
(2) 將所找到的一個或一組二進制位轉換成與之相應的盤塊號。假定找到的其值為“0”的二進制位位於位示圖的第 i 行、第 j 列,則其相應的盤塊號應按下式計算:
b = n(i - 1) + j
式中,n 代表每行的位數。
(3) 修改位示圖,令
map[i,j]=1

盤塊的回收

盤塊的回收分兩步:
(1) 將回收盤塊的盤塊號轉換成位示圖中的行號和列號。轉換公式為:
i = (b - 1)DIV n + 1
j = (b - 1)MOD n + 1
(2) 修改位示圖。令 map[i,j] =0。
這種方法的主要優點是,從位示圖中很容易找到一個或一組相鄰接的空閒盤塊。例如,我們需要找到 6 個相鄰接的空閒盤塊,這只需在位示圖中找出 6 個其值連續為“0”的位即可。此外,由於位示圖很小,占用空間少,因而可將它保存在記憶體中,進而使在每次進行盤區分配時,無需首先把盤區分配表讀入記憶體,從而節省了許多磁碟的啟動操作。因此,位示圖常用於微型機和小型機中,如 CP/M、Apple-DOS 等 OS 中。

相關詞條

熱門詞條

聯絡我們