大容量輔助存儲系統(tǒng)的設(shè)計(jì)
分區(qū)引導(dǎo)記錄保存著與文件分配表系統(tǒng)有關(guān)的基本輸入、輸出系統(tǒng)參數(shù)分配表(biosparameter block,BPB)。它主要記錄文件分配表各個部分的起始扇區(qū)以及占用扇區(qū)的數(shù)目, 根目錄大小和簇的大小等重要信息。 在分區(qū)引導(dǎo)記錄之后是FAT(File Allocation Table,文件分配表)區(qū)。FAT32的文件 系統(tǒng)中有兩份完全相同的文件分配表FATl和FAT2,每份FAT表占用空間的大小可從BIOS參數(shù) 記錄塊中查得。
文件分配表的作用是記錄磁盤上簇的分配情況。一個文件一般需要占用很多 簇。同一個文件不一定會完整地存放在一個連續(xù)存儲空間內(nèi),而是分成若干段,像鏈子一樣 的存放。在文件名記錄中,首先指向文件存儲的鏈頭所在文件分配表簇,而該簇的文件分配 表存放下一個鏈子的文件分配表簇值,如果是文件結(jié)尾,使用一個文件結(jié)束標(biāo)志,表示到達(dá) 鏈尾,這樣就標(biāo)識了文件的鏈?zhǔn)酱鎯?,F(xiàn)AT表就是記錄文件存儲中簇與簇之間連接信息的。
緊接在FAT表之后的是文件目錄表FDT,占32個扇區(qū),每個扇區(qū)可以容納16個登記項(xiàng),每 個登記項(xiàng)的長度是32字節(jié)。文件目錄表記錄文件的名稱,通過目錄表查找已存在的文件名, 從而找到指定的文件進(jìn)行操作。每個文件對應(yīng)一個描述其屬性的結(jié)構(gòu),定義如表1。
文件目錄項(xiàng)結(jié)構(gòu)實(shí)現(xiàn)如下:
Struc direntry
{
Unsigned char fName[8];
Unsigned char fExtension[3];
Unsigned char fAttributes;
Unsigned char fLowerCase;
評論