簡介
檔案分配表地址,有兩種解釋1、檔案地址,對應於檔案控制塊中的物理地址段;檔案分配表在記憶體中的地址。由於整個系統中檔案分配表只有一個,檔案分配表地址多指檔案地址。在檔案管理中,凡是屬於某一檔案的第一個盤塊號,或者說是每一條鏈的鏈首指針所對應的盤塊號,均作為檔案地址被填入相應檔案的 FCB 的“物理地址”欄位中。由於查找記錄的過程是在記憶體中進行的,因而不僅顯著地提高了檢索速度,而且大大減少了訪問磁碟的次數。檔案分配表地址的作用有確定檔案指向盤塊號和減少訪問磁碟的次數。
簇的基本概念
為了適應磁碟容量不斷增大的需要,在進行盤塊分配時,不再以盤塊而是以簇(cluster)為基本單位。簇是一組連續的扇區,在 FAT 中它是作為一個虛擬扇區,簇的大小一般是 2n(n 為整數)個盤塊,在 MS-DOS 的實際運用中,簇的容量可以僅有一個扇區(512 B)、兩個扇區(1 KB)、四個扇區(2 KB)、八個扇區(4 KB)等。一個簇應包含扇區的數量與磁碟容量的大小直接有關。例如,當一個簇僅有一個扇區時,磁碟的最大容量為 8 MB;當一個簇包含兩個扇區時,磁碟的最大容量可以達到 16 MB;當一個簇包含了八個扇區時,磁碟的最大容量便可達到 64 MB。
由上所述可以看出,以簇作為基本的分配單位所帶來的最主要的好處是,能適應磁碟容量不斷增大的情況。值得注意的是,使用簇作為基本的分配單位雖可減少 FAT 表中的項數(在相同的磁碟容量下, FAT 表的項數是與簇的大小成反比的)。 這一方面會使 FAT 表占用更少的存儲空間,並減少訪問 FAT 表的存取開銷,提高檔案系統的效率;但這也會造成更大的簇內零頭(它與存儲器管理中的頁內零頭相似)。
檔案控制塊
為了能對一個檔案進行正確的存取,必須為檔案設定用於描述和控制檔案的數據結構,稱之為“檔案控制塊(FCB)” 。檔案管理程式可藉助於檔案控制塊中的信息,對檔案施以各種操作。檔案與檔案控制塊一一對應,而人們把檔案控制塊的有序集合稱為檔案目錄,即一個檔案控制塊就是一個檔案目錄項。通常,一個檔案目錄也被看做是一個檔案,稱為目錄檔案。為了能對系統中的大量檔案施以有效的管理,在檔案控制塊中,通常應含有三類信息,即基本信息、存取控制信息及使用信息。
基本信息類
基本信息類包括: ①檔案名稱,指用於標識一個檔案的符號名。在每個系統中,每一個檔案都必須有惟一的名字,用戶利用該名字進行存取。② 檔案物理位置,指檔案在外存上的存儲位置,它包括存放檔案的設備名、檔案在外存上的起始盤塊號、指示檔案所占用的盤塊數或位元組數的檔案長度。③ 檔案邏輯結構,指示檔案是流式檔案還是記錄式檔案、記錄數;檔案是定長記錄還是變長記錄等。④ 檔案的物理結構,指示檔案是順序檔案,還是連結式檔案或索引檔案。
存取控制信息類
存取控制信息類包括:檔案主的存取許可權、核准用戶的存取許可權以及一般用戶的存取許可權。
使用信息類
使用信息類包括: 檔案的建立日期和時間、 檔案上一次修改的日期和時間及當前使用信息(這項信息包括當前已打開該檔案的進程數、是否被其它進程鎖住、檔案在記憶體中是否已被修改但尚未拷貝到盤上)。應該說明,對於不同 OS 的檔案系統,由於功能不同,可能只含有上述信息中的某些部分。
圖 1 示出了 MS-DOS 中的檔案控制塊, 其中含有檔案名稱、 檔案所在的第一個盤塊號、檔案屬性、檔案建立日期和時間及檔案長度等。FCB 的長度為 32 個位元組,對於 360 KB 的軟碟,總共可包含 112 個 FCB,共占 4 KB 的存儲空間。