![FAT32文件系統(tǒng)結(jié)構(gòu)研究_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/2/2030d06c-f870-4c4d-b170-aed447aaf091/2030d06c-f870-4c4d-b170-aed447aaf0911.gif)
![FAT32文件系統(tǒng)結(jié)構(gòu)研究_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/2/2030d06c-f870-4c4d-b170-aed447aaf091/2030d06c-f870-4c4d-b170-aed447aaf0912.gif)
![FAT32文件系統(tǒng)結(jié)構(gòu)研究_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/2/2030d06c-f870-4c4d-b170-aed447aaf091/2030d06c-f870-4c4d-b170-aed447aaf0913.gif)
![FAT32文件系統(tǒng)結(jié)構(gòu)研究_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/2/2030d06c-f870-4c4d-b170-aed447aaf091/2030d06c-f870-4c4d-b170-aed447aaf0914.gif)
![FAT32文件系統(tǒng)結(jié)構(gòu)研究_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/2/2030d06c-f870-4c4d-b170-aed447aaf091/2030d06c-f870-4c4d-b170-aed447aaf0915.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、fat32 文件系統(tǒng)結(jié)構(gòu)研究摘 要:windows98 操作系統(tǒng)引入了fat32 文件系統(tǒng),它解決了fat16 文件系統(tǒng)存在的諸多問(wèn)題. 但有關(guān)fat32 文件系統(tǒng)技術(shù)實(shí)質(zhì)的文章尚不多見(jiàn). 本文對(duì)fat32 文件系統(tǒng)的結(jié)構(gòu)和技術(shù)實(shí)質(zhì)進(jìn)行了詳細(xì)分析,揭示了fat32 文件系統(tǒng)存儲(chǔ)和管理文件的算法. 掌握f(shuō)at32文件系統(tǒng)的內(nèi)部結(jié)構(gòu),可以使讀者在更高層次上發(fā)揮操作系統(tǒng)的功能.關(guān)鍵詞: 文件分配表;文件目錄表;文件系統(tǒng);操作系統(tǒng)1. 引言 fat32 是個(gè)非常有功勞的文件系統(tǒng),microsoft 成功地設(shè)計(jì)并運(yùn)用了它,直到今天ntfs鋪天蓋地襲來(lái)的時(shí)候,fat32 依然占據(jù)著microsoft wi
2、ndows 文件系統(tǒng)中重要的地位。fat32最早是出于fat16 不支持大分區(qū)、單位簇容量大以致空間急劇浪費(fèi)等缺點(diǎn)設(shè)計(jì)的。文件系統(tǒng)總體上與fat16 文件系統(tǒng)變化不大,現(xiàn)將有關(guān)變化部分簡(jiǎn)介如下: (1) fat32 文件系統(tǒng)將邏輯盤(pán)的空間劃分為三部分,依次是引導(dǎo)區(qū)(boot 區(qū)) 、文件分配表區(qū)(fat 區(qū)) 、數(shù)據(jù)區(qū)(data 區(qū)) 。引導(dǎo)區(qū)和文件分配表區(qū)又合稱為系統(tǒng)區(qū)。 (2) 引導(dǎo)區(qū)從第一扇區(qū)開(kāi)始,使用了三個(gè)扇區(qū),保存了該邏輯盤(pán)每扇區(qū)字節(jié)數(shù),每簇對(duì)應(yīng)的扇區(qū)數(shù)等等重要參數(shù)和引導(dǎo)記錄。之后還留有若干保留扇區(qū)。而fat16 文件系統(tǒng)的引導(dǎo)區(qū)只占用一個(gè)扇區(qū),沒(méi)有保留扇區(qū)。 (3)文件分配表區(qū)共保
3、存了兩個(gè)相同的文件分配表,因?yàn)槲募加玫拇鎯?chǔ)空間(簇鏈) 及空閑空間的管理都是通過(guò)fat 實(shí)現(xiàn)的, fat 如此重要,保存兩個(gè)以便第一個(gè)損壞時(shí),還有第二個(gè)可用. 為了徹底了解fat32 文件系統(tǒng)對(duì)操作系統(tǒng)的哪些方面進(jìn)行了改變, 本文對(duì)fat32 文件系統(tǒng)的完整結(jié)構(gòu)進(jìn)行了深入分析,其中包括對(duì)構(gòu)成fat32 文件系統(tǒng)的主引導(dǎo)扇區(qū)(分區(qū)扇區(qū)) 、分區(qū)引導(dǎo)扇區(qū)、fat 和fdt 表4 個(gè)結(jié)構(gòu)的分析.fat32 文件系統(tǒng)帶來(lái)了很多好處,隨著大容量硬盤(pán)的日益普及,使用fat32 文件系統(tǒng)將是大勢(shì)所趨.2. 對(duì)fat32 文件系統(tǒng)主引導(dǎo)扇區(qū)的分析 主引導(dǎo)扇區(qū)是硬盤(pán)獨(dú)有的一個(gè)磁盤(pán)控制數(shù)據(jù)存儲(chǔ)區(qū)域,是硬盤(pán)獨(dú)有
4、的一個(gè)磁盤(pán)控制數(shù)據(jù)存儲(chǔ)區(qū)域,其首要功能是存儲(chǔ)有關(guān)硬盤(pán)分區(qū)的數(shù)據(jù),它通常位于硬盤(pán)的0 磁頭0 柱面1 扇區(qū)。由于主引導(dǎo)扇區(qū)存放硬盤(pán)分區(qū)的有關(guān)數(shù)據(jù),因此又稱為分區(qū)扇區(qū)。分區(qū)數(shù)據(jù)對(duì)硬盤(pán)是至關(guān)重要的,分區(qū)數(shù)據(jù)的丟失或破壞將導(dǎo)致硬盤(pán)上的邏輯磁盤(pán)不能被系統(tǒng)識(shí)別,當(dāng)然也就無(wú)法訪問(wèn)磁盤(pán)上存儲(chǔ)的文件和數(shù)據(jù)。2.1 主引導(dǎo)扇區(qū)的傳統(tǒng)功能與作用 通過(guò)對(duì)硬盤(pán)主引導(dǎo)扇區(qū)程序的分析,其中存儲(chǔ)的數(shù)據(jù)主要由以下3 個(gè)部分構(gòu)成: 1) 引導(dǎo)系統(tǒng)啟動(dòng)的程序代碼 2) 硬盤(pán)的分區(qū)數(shù)據(jù) 3) 主引導(dǎo)扇區(qū)的有效標(biāo)志 主引導(dǎo)扇區(qū)的首要功能是存儲(chǔ)有關(guān)硬盤(pán)分區(qū)的數(shù)據(jù), 保存了該邏輯盤(pán)每扇區(qū)字節(jié)數(shù),每簇對(duì)應(yīng)的扇區(qū)數(shù)等等重要參數(shù)和引導(dǎo)記錄,這些
5、分區(qū)數(shù)據(jù)對(duì)硬盤(pán)是至關(guān)重要的. 分區(qū)數(shù)據(jù)的丟失或破壞將導(dǎo)致硬盤(pán)上的邏輯磁盤(pán)不能被系統(tǒng)識(shí)別,當(dāng)然也就無(wú)法訪問(wèn)磁盤(pán)上存儲(chǔ)的文件和數(shù)據(jù).2.2 fat32 文件系統(tǒng)對(duì)主引導(dǎo)扇區(qū)的改變 根據(jù)對(duì) fat32 文件系統(tǒng)主引導(dǎo)扇區(qū)的分析可知,fat32 文件系統(tǒng)的主引導(dǎo)扇區(qū)在保持與fat16 文件系統(tǒng)主引導(dǎo)扇區(qū)兼容的基礎(chǔ)上,針對(duì)fat32 文件系統(tǒng)的特點(diǎn)作了適當(dāng)擴(kuò)展。fat32文件系統(tǒng)主引導(dǎo)扇區(qū)對(duì)分區(qū)表數(shù)據(jù)結(jié)構(gòu)的擴(kuò)展僅限于增加了3 個(gè)標(biāo)識(shí)32 位分區(qū)的類(lèi)型標(biāo)志,這3 個(gè)增加的分區(qū)類(lèi)型標(biāo)志分別為0bh、0ch 和0eh,用于描述fat32 文件系統(tǒng)的三種分區(qū)情況。對(duì)于擴(kuò)展分區(qū),則增加了一個(gè)類(lèi)型標(biāo)志0fh,表示w
6、indows 98 操作系統(tǒng)擴(kuò)展分區(qū)。類(lèi)型標(biāo)志為0bh 表示分區(qū)是fat32 分區(qū),最大分區(qū)容量可以達(dá)到2047gb;為0ch 表示的意義與0bh 相同,但是對(duì)于int 13h 指令使用擴(kuò)展的邏輯塊地址(lba)方式;為0eh 表示的意義與06h 相同,但是對(duì)于int 13h 指令使用擴(kuò)展的邏輯塊地址(lba)方式;為0fh表示的意義與05h 相同(擴(kuò)展分區(qū)),但是同樣對(duì)于int 13h 指令使用擴(kuò)展的邏輯塊地址方式。使用擴(kuò)展的邏輯塊地址方式是為了支持容量超過(guò)8gb 的大容量硬盤(pán)。由于文件系統(tǒng)轉(zhuǎn)化為fat32 后,分區(qū)的類(lèi)型標(biāo)志變化為0bh、0ch 和0eh,這些新的類(lèi)型標(biāo)志是原來(lái)fat16文
7、件系統(tǒng)所不能識(shí)別的,所以當(dāng)用戶使用msdos 操作系統(tǒng)的軟盤(pán)啟動(dòng)系統(tǒng)后,機(jī)器不能識(shí)別硬盤(pán)的分區(qū)數(shù)據(jù),當(dāng)然也不能對(duì)硬盤(pán)的數(shù)據(jù)進(jìn)行訪問(wèn)。3. 對(duì)fat32 文件系統(tǒng)分區(qū)引導(dǎo)扇區(qū)的分析 硬盤(pán)的主引導(dǎo)扇區(qū),分區(qū)表,分區(qū)引導(dǎo)扇區(qū)(mbr、dpt、dbr、bpb)是電腦bios 自檢完成后,操作系統(tǒng)開(kāi)始引導(dǎo)系統(tǒng)前整個(gè)電腦運(yùn)作過(guò)程中需要檢查的重要參數(shù),硬盤(pán)的主引導(dǎo)扇區(qū),分區(qū)表,分區(qū)引導(dǎo)扇區(qū)(mbr、dpt、dbr、bpb)參數(shù)錯(cuò)誤可能導(dǎo)致系統(tǒng)無(wú)法啟動(dòng)或存儲(chǔ)的數(shù)據(jù)丟失,硬盤(pán)的0 柱面、0 磁頭、1 扇區(qū)稱為主引導(dǎo)扇區(qū)(也叫主引導(dǎo)記錄mbr),該記錄占用512 個(gè)字節(jié),它用于硬盤(pán)啟動(dòng)時(shí)將系統(tǒng)控制權(quán)轉(zhuǎn)給用戶指定的
8、、在分區(qū)表中登記了某個(gè)操作系統(tǒng)分區(qū)。mbr 的內(nèi)容是在硬盤(pán)分區(qū)時(shí)由分區(qū)軟件(如fdisk)寫(xiě)入該扇區(qū)的,mbr 不屬于任何一個(gè)操作系統(tǒng),不隨操作系統(tǒng)的不同而不同,即使不同,mbr 也不會(huì)夾帶操作系統(tǒng)的性質(zhì),具有公共引導(dǎo)的特性。但安裝某些多重引導(dǎo)功能的軟件或linux 的lilo時(shí)有可能改寫(xiě)它;它先于所有的操作系統(tǒng)被調(diào)入內(nèi)存并發(fā)揮作用,然后才將控制權(quán)交給活動(dòng)主分區(qū)內(nèi)的操作系統(tǒng).3.1 fat16 文件系統(tǒng)的分區(qū)引導(dǎo)扇區(qū) fat16 文件系統(tǒng)分區(qū)引導(dǎo)扇區(qū)是由引導(dǎo)系統(tǒng)啟動(dòng)的程序代碼、邏輯磁盤(pán)參數(shù)和分區(qū)引導(dǎo)扇區(qū)有效標(biāo)志3 個(gè)部分構(gòu)成. 在分區(qū)引導(dǎo)扇區(qū)中最重要的部分是邏輯磁盤(pán)讀寫(xiě)(稱為i/ o)參數(shù),引
9、導(dǎo)系統(tǒng)啟動(dòng)的程序代碼將使用這些參數(shù)來(lái)訪問(wèn)存儲(chǔ)在磁盤(pán)上各文件的數(shù)據(jù). i/ o 參數(shù)從扇區(qū)偏移地址o3h 開(kāi)始存放,共有18 個(gè)數(shù)據(jù)項(xiàng),占用58 個(gè)字節(jié)(從扇區(qū)偏移地址03h到3dh) .3.2 fat32 文件系統(tǒng)的分區(qū)引導(dǎo)扇區(qū) 在windows 操作系統(tǒng)中,當(dāng)文件系統(tǒng)從fat16 轉(zhuǎn)化為fat32 后,分區(qū)引導(dǎo)扇區(qū)的功能和作用并沒(méi)有改變,但是考慮到fat32 文件系統(tǒng)的特性和為了解決fat16 文件系統(tǒng)存在的問(wèn)題,操作系統(tǒng)對(duì)fat32 文件系統(tǒng)的分區(qū)引導(dǎo)扇區(qū)進(jìn)行了擴(kuò)展.3.2.1 分區(qū)引導(dǎo)扇區(qū)所占的扇區(qū)數(shù)從1 個(gè)扇區(qū)擴(kuò)展為6 個(gè)扇區(qū) 分區(qū)扇區(qū)的核心功能是通過(guò)磁盤(pán)讀寫(xiě)參數(shù)加載啟動(dòng)操作系統(tǒng)的文件
10、,為了使加載文件的操作更加靈活,加上fat32 文件系統(tǒng)采用“活動(dòng)”的fdt 表,需要對(duì)分區(qū)引導(dǎo)扇區(qū)的引導(dǎo)程序代碼進(jìn)行重新的設(shè)計(jì). 同時(shí)考慮到引導(dǎo)程序的代碼量和為今后發(fā)展保留適量的余量,fat32文件系統(tǒng)將分區(qū)引導(dǎo)扇區(qū)所占的扇區(qū)數(shù)從1 個(gè)扇區(qū)擴(kuò)展為6 個(gè)扇區(qū). 當(dāng)前版本的windows98使用了前3 個(gè)扇區(qū)作為系統(tǒng)的分區(qū)引導(dǎo)扇區(qū),其余3 個(gè)扇區(qū)保留暫未使用.3.2.2 采用雙重分區(qū)引導(dǎo)扇區(qū) 根據(jù)對(duì)分區(qū)引導(dǎo)扇區(qū)功能和作用的研究,我們知道分區(qū)引導(dǎo)扇區(qū)對(duì)于操作系統(tǒng)的啟動(dòng)和磁盤(pán)文件的訪問(wèn)具有至關(guān)重要的作用. 引導(dǎo)程序代碼的損壞將導(dǎo)致操作系統(tǒng)不能正常啟動(dòng),磁盤(pán)讀寫(xiě)參數(shù)的破壞將造成存儲(chǔ)在磁盤(pán)上的文件不能正
11、常讀寫(xiě).由于分區(qū)引導(dǎo)扇區(qū)的重要性,fat32 文件系統(tǒng)借鑒系統(tǒng)處理fat 表的經(jīng)驗(yàn),在磁盤(pán)保留了兩份分區(qū)引導(dǎo)扇區(qū),并且在啟動(dòng)時(shí)操作系統(tǒng)可以對(duì)兩份引導(dǎo)扇區(qū)進(jìn)行比較,以便選擇正確的引導(dǎo)扇區(qū)來(lái)引導(dǎo)系統(tǒng). 由于在磁盤(pán)正常工作過(guò)程中系統(tǒng)不再對(duì)引導(dǎo)扇區(qū)的程序和數(shù)據(jù)進(jìn)行修改,因此備份的分區(qū)引導(dǎo)扇區(qū)損壞的可能性非常小.3.2.3 根據(jù)fat32 文件系統(tǒng)的特點(diǎn)對(duì)磁盤(pán)讀寫(xiě)參數(shù)作了進(jìn)一步的擴(kuò)展 fat32 文件系統(tǒng)的磁盤(pán)讀寫(xiě)參數(shù)在部分保持與fat16 文件系統(tǒng)磁盤(pán)讀寫(xiě)參數(shù)兼容的基礎(chǔ)上,為了適應(yīng)fat32 文件系統(tǒng)的需要,對(duì)磁盤(pán)讀寫(xiě)參數(shù)作了適當(dāng)?shù)臄U(kuò)展,所使用的字節(jié)數(shù)也從fat16 文件系統(tǒng)的58 個(gè)字節(jié)擴(kuò)展為87
12、個(gè)字節(jié). fat32 文件系統(tǒng)的磁盤(pán)讀寫(xiě)參數(shù)占用扇區(qū)偏移地址03h 至59h 的存儲(chǔ)空間,各參數(shù)的含義如表1 所示:表1 fat32 文件系統(tǒng)磁盤(pán)讀寫(xiě)參數(shù)編號(hào) 起始偏移地址 占字節(jié)數(shù) 意義1 03h 8 操作系統(tǒng)的版本號(hào)2 0bh 2 每個(gè)扇區(qū)的字節(jié)數(shù)3 0dh 1 每簇扇區(qū)數(shù)4 0eh 2 為操作系統(tǒng)保留的扇區(qū)數(shù)5 10h 1 fat 表的個(gè)數(shù)6 11h 2 是否為fat327 13h 2 未使用8 15h 1 磁盤(pán)介質(zhì)標(biāo)志9 16h 2 未使用10 18h 2 每個(gè)磁道的扇區(qū)數(shù)11 1ah 2 磁盤(pán)的磁頭個(gè)數(shù)12 1ch 4 分區(qū)隱藏扇區(qū)個(gè)數(shù)13 20h 4 邏輯磁盤(pán)扇區(qū)總數(shù)14 24h
13、4 每個(gè)fat 表所占的扇區(qū)數(shù)15 28h 2 fat 表鏡像標(biāo)志16 2ah 2 文件系統(tǒng)主次版本17 2ch 4 磁盤(pán)根目錄的起始簇號(hào)18 30h 2 文件系統(tǒng)參數(shù)的扇區(qū)號(hào)19 32h 2 備份分區(qū)引導(dǎo)扇區(qū)的邏輯扇區(qū)號(hào)20 34h 12 保留,21 40h 2 磁盤(pán)物理驅(qū)動(dòng)器號(hào)22 42h 1 磁盤(pán)讀寫(xiě)參數(shù)擴(kuò)展標(biāo)志23 43h 4 磁盤(pán)卷的序列號(hào)24 47h 11 磁盤(pán)卷標(biāo)號(hào)25 52h 8 文件系統(tǒng)的標(biāo)識(shí)號(hào)4. 對(duì)fat32 文件系統(tǒng)分區(qū)引導(dǎo)扇區(qū)的分析 fat 表是一張磁盤(pán)空間分配情況登記表,它以簇號(hào)的方式記錄了簇的分配情況. 在fat16文件系統(tǒng)中,通常用2 個(gè)字節(jié)來(lái)標(biāo)記簇號(hào)分配的鏈表
14、. 對(duì)于fat32 文件系統(tǒng)來(lái)講,其核心的改變就是使用4 個(gè)字節(jié)來(lái)標(biāo)記簇號(hào)分配的鏈表. fat32 文件系統(tǒng)的命名就源自系統(tǒng)采用32位的fat 表結(jié)構(gòu), 但是fat 表的變化反而不如其它磁盤(pán)控制區(qū)域數(shù)據(jù)的變化大. 除了采用32 位4 個(gè)字節(jié)作為一個(gè)簇的記錄項(xiàng)和標(biāo)記項(xiàng)等參數(shù)略有改變外,fat 表中沒(méi)有任何其它變化.根據(jù)fat32 文件系統(tǒng)的特點(diǎn),32 位的fat 表中以下數(shù)據(jù)發(fā)生了變化.4.1 保留簇的改變 在 fat16 文件系統(tǒng)中, fat 表中前4 個(gè)字節(jié)為保留值,其中第1 個(gè)字節(jié)作為磁盤(pán)的標(biāo)志.采用4 個(gè)字節(jié)作為保留值的理論依據(jù)來(lái)源于系統(tǒng)將編號(hào)為0 和1 的兩個(gè)簇作為保留,文件數(shù)據(jù)區(qū)從第
15、2 個(gè)簇開(kāi)始,故根據(jù)簇號(hào)鏈的計(jì)算公式: (簇號(hào)入口地址= 簇號(hào)2) ,fat 表的前4 個(gè)字節(jié)就設(shè)計(jì)為保留值. 使用與fat16 文件系統(tǒng)相同的原理,32 位fat表也將0 簇和1 簇作為保留簇,故fat 表的前8 個(gè)字節(jié)為保留值,其中第1 個(gè)字節(jié)仍然作為磁盤(pán)標(biāo)記. 同時(shí),為了滿足特殊文件系統(tǒng)的要求,fat32 文件系統(tǒng)將第2 個(gè)簇也同時(shí)作為保留簇,用于記錄fdt 表的空間分配簇鏈登記項(xiàng).4.2 登記項(xiàng)的改變 32 位的fat 表用“00000000” 項(xiàng)表示對(duì)應(yīng)的簇號(hào)未分配; 用“0ffffff8h” 至“0fffffffh”表示對(duì)應(yīng)的簇是文件分配的最后一簇;而“0ffffff7h”則表示已
16、損壞不能分配的簇.由于fat 表中登記項(xiàng)的32 位值中高4 位為保留(總是0) ,故理論上fat32 文件系統(tǒng)可以表示的最大簇號(hào)為268 435 450 (228) ,即用于實(shí)際描述簇號(hào)的位數(shù)為28 位,用前述公式讀者不難計(jì)算出fat32 文件系統(tǒng)可以表示的最大磁盤(pán)空間.5. 對(duì)fat32 文件系統(tǒng)fdt 表的深入分析 fdt 表的作用是記錄文件的主名、擴(kuò)展名、日期、屬性、起始簇號(hào)和長(zhǎng)度等信息,從記錄的內(nèi)容來(lái)看,除了文件的起始簇號(hào)外,其它參數(shù)沒(méi)有任何變化. 另外,從文件系統(tǒng)的結(jié)構(gòu)來(lái)看.fdt 表本身將從磁盤(pán)控制區(qū)域內(nèi)的固定位置變化為磁盤(pán)數(shù)據(jù)區(qū)中的浮動(dòng)空間位置,以解決磁盤(pán)根目錄文件數(shù)量受到fdt
17、 表空間限制的問(wèn)題. 因此,下面我們重點(diǎn)對(duì)浮動(dòng)的fdt 表和目錄登記項(xiàng)中的起始簇號(hào)參數(shù)進(jìn)行討論. 在 fat16 文件系統(tǒng)中,記錄根目錄文件參數(shù)的fdt 表位于磁盤(pán)上fat 表和文件數(shù)據(jù)存儲(chǔ)區(qū)之間的固定位置中,通常為32 個(gè)或38 個(gè)扇區(qū),可以記錄512 個(gè)或608 個(gè)文件的數(shù)據(jù). 由于存放根目錄文件fdt 表的空間是固定的,因此根目錄上存儲(chǔ)的文件或文件夾的數(shù)量是有限的. 對(duì)于各子目錄下的fdt 表,操作系統(tǒng)采用文件管理的方式管理fdt 表,即使用fat 表來(lái)管理各子目錄下fdt 表所需要的存儲(chǔ)空間,當(dāng)子目錄下的文件數(shù)量超出當(dāng)前fdt 表允許的登記項(xiàng)的數(shù)量時(shí),操作系統(tǒng)為fdt 表再分配一個(gè)簇,
18、用于存儲(chǔ)目錄項(xiàng)參數(shù),并同時(shí)在系統(tǒng)fat表中登記上fdt 表的分配簇鏈. 所以,從理論上講,子目錄下存放的文件除了受到磁盤(pán)空間的限制外,不受其它任何條件的限制.fat32 文件系統(tǒng)為了解決根目錄fdt 表空間受到限制的問(wèn)題,借鑒了子目錄下fdt 表的經(jīng)驗(yàn),將根目錄fdt 表也以文件的形式來(lái)管理,從而形成浮動(dòng)的根目錄fdt 表.浮動(dòng)fdt 表的結(jié)構(gòu)實(shí)際上是固定部分和動(dòng)態(tài)部分的有機(jī)結(jié)合,其中固定部分通常為1 個(gè)簇. 在fat32 文件系統(tǒng)中,1 個(gè)簇通常由8 個(gè)扇區(qū)4 kb 的存儲(chǔ)空間構(gòu)成,所以固定部分可以記錄的最大目錄項(xiàng)數(shù)為128 個(gè). 當(dāng)然由于受長(zhǎng)文件名附加目錄項(xiàng)的影響實(shí)際允許記錄的文件目錄項(xiàng)將
19、大大低于理論上的128 個(gè),但這部分固定的fat 表空間確實(shí)可以滿足基本的系統(tǒng)需要. 根目錄fdt 表的固定部分同fat16 文件系統(tǒng)一樣,仍然位于最后一個(gè)fat 表的后面與數(shù)據(jù)存儲(chǔ)空間之間的磁盤(pán)存儲(chǔ)區(qū)域中. 在磁盤(pán)格式化時(shí)格式化程序?qū)⒆詣?dòng)創(chuàng)建固定部分的fdt 表,如果系統(tǒng)是從fat16 文件系統(tǒng)轉(zhuǎn)換為fat32 文件系統(tǒng),由于原來(lái)的fdt 表已經(jīng)位于該位置,所以fdt 表的固定部分也將優(yōu)先建立在緊接fat 表的位置.浮動(dòng)fdt 表主要體現(xiàn)在其動(dòng)態(tài)部分,即當(dāng)根目錄上存儲(chǔ)的文件超過(guò)固定部分所能記錄的數(shù)量后,操作系統(tǒng)將為根目錄的fdt 表增加1 個(gè)簇或多個(gè)簇的存儲(chǔ)空間,這部分新增加的存儲(chǔ)空間不在原
20、來(lái)固定部分的后面(那一部分存儲(chǔ)空間早已分配給其它文件了) ,而是磁盤(pán)數(shù)據(jù)存儲(chǔ)區(qū)域中的任意一個(gè)未使用的存儲(chǔ)空間. 同時(shí)系統(tǒng)在fat 表的第3 項(xiàng)(扇區(qū)偏移地址08h) 處記錄了動(dòng)態(tài)部分第一個(gè)簇的簇號(hào),動(dòng)態(tài)部分其它簇的簇號(hào)則由操作系統(tǒng)根據(jù)fat 表的簇鏈登記準(zhǔn)則進(jìn)行相應(yīng)的登記. 由于動(dòng)態(tài)部分實(shí)際上已經(jīng)是一個(gè)可以按fat 簇鏈進(jìn)行訪問(wèn)的文件,因此從理論上分析,根目錄fdt 表中允許登記的項(xiàng)數(shù)也就除了受磁盤(pán)空間限制外,沒(méi)有其它的任何限制了. 但是,為了避免由于根目錄中登記項(xiàng)太多造成系統(tǒng)文件訪問(wèn)性能的下降(文件管理系統(tǒng)必須通過(guò)fat 表查找整個(gè)fdt 表的存儲(chǔ)間) ,windows 操作系統(tǒng)規(guī)定根目錄中
21、的文件登記項(xiàng)數(shù)不能超過(guò)65 535 個(gè),也就是根目錄fdt表的存儲(chǔ)空間不超過(guò)4 096 個(gè)扇區(qū).另外,值得特別關(guān)注的是,在分區(qū)引導(dǎo)扇區(qū)的磁盤(pán)讀寫(xiě)參數(shù)表中也同時(shí)存儲(chǔ)了fdt 表在fat 表中起始簇號(hào)的位置(參見(jiàn)表1 中的第17 項(xiàng)) ,因此操作系統(tǒng)完全可以改變fdt 表的位置,不使用fdt 表的固定部分.5.2 32 位的文件存儲(chǔ)空間起始簇號(hào) fdt 表中另一個(gè)重要的參數(shù)是文件的起始簇號(hào). 在操作系統(tǒng)訪問(wèn)文件的數(shù)據(jù)時(shí),將通過(guò)fdt 表中存儲(chǔ)的文件起始簇號(hào)計(jì)算出文件后續(xù)存儲(chǔ)空間在fat 表中的偏移地址,并通過(guò)fat表按順序計(jì)算出存儲(chǔ)文件數(shù)據(jù)的所有簇,然后才能對(duì)文件的數(shù)據(jù)進(jìn)行讀寫(xiě)操作.windows
22、 操作系統(tǒng)中實(shí)際采用的是一套折衷解決辦法,即在fdt 表的32 字節(jié)目錄項(xiàng)中尋找未使用的空間作為4 個(gè)字節(jié)起始簇號(hào)的高16 位,而將原有的2 個(gè)字節(jié)起始簇號(hào)作為新的起始簇號(hào)的低16 位,兩者組合構(gòu)成32 位的起始簇號(hào).這種在現(xiàn)有存儲(chǔ)空間中尋找補(bǔ)充字節(jié),該方案的優(yōu)點(diǎn)在于完全保持了與原有文件系統(tǒng)的兼容性,操作系統(tǒng)內(nèi)核和文件系統(tǒng)不必做大的改變,也不必增加系統(tǒng)的資源開(kāi)銷(xiāo). 其缺點(diǎn)是文件的起始簇號(hào)沒(méi)有在連續(xù)的字節(jié)空間中存放,而是分隔在兩處,使用戶不易理解,同時(shí)也不可能解決fdt 表固有的問(wèn)題和不能給fdt 表融入新的特性.從windows 操作系統(tǒng)fdt 表的結(jié)構(gòu)來(lái)看,每個(gè)32 字節(jié)的目錄項(xiàng)中只有1 處
23、還有兩個(gè)連續(xù)的字節(jié)空間尚未使用,這兩個(gè)字節(jié)就是目錄項(xiàng)中的第21 和第22 字節(jié),即位于記錄文件修改日期和時(shí)間前面的2 個(gè)字節(jié). fat32 文件系統(tǒng)就使用了這兩個(gè)字節(jié)作為文件起始簇號(hào)的高16位,它們與原有的起始簇號(hào)(位于第27 和第28 字節(jié)) 一起組合成32 字節(jié)的文件起始簇號(hào).6.fat32 文件系統(tǒng)特性分析1 fat16 和fat32 fat32 與fat16 相比, fat32 能以更小的簇分配磁盤(pán)空間,這樣就能更有效地利用磁盤(pán)空間,磁盤(pán)扇區(qū)是操作系統(tǒng)格式化磁盤(pán)的最小單位,一般扇區(qū)大小為512 字節(jié), 幾個(gè)扇區(qū)組成簇, 下面是fat16 和fat32 的對(duì)照表。fat32 fat16分
24、區(qū)大小簇大小分區(qū)大小簇大小260mb 512b 127mb 2kb260mb - 8gb 4kb 128mb - 255mb 4kb8gb - 16g 8kb 256mb - 511mb 8kb16g- 32g 16kb 512mb - 1023mb 16kb732gb 32kb 1g- 2g 32kb 由上表看出, fat16 的弊端主要有二個(gè):一個(gè)是管理分區(qū)只能在2gb 以下,二是硬盤(pán)分區(qū)太大時(shí)所分配簇的大小不盡科學(xué),即分區(qū)越大,損失也就越大。在大容量硬盤(pán)日漸普及的情況下,fat16 已不能適應(yīng)要求。fat32 的出現(xiàn)是眾望所歸,其根本目的就是為了更有效地管理和利用硬盤(pán)驅(qū)動(dòng)器上的空間。2
25、fat32 的兼容性2. 1 磁盤(pán)管理工具 fat32 與基于fat16 的程序和磁盤(pán)完全兼容。但是,許多現(xiàn)有的磁盤(pán)實(shí)用程序或修復(fù)工具,不能用于fat32 的硬盤(pán)。windows95 osr2 中的磁盤(pán)工具,包括磁盤(pán)掃描程序、備份程序和磁盤(pán)碎片整理程序,則完全支持fat32 的硬盤(pán),但不能用drivespace 壓縮fat32 硬盤(pán)。2. 2 啟動(dòng)系統(tǒng) 除了windows95 osr2 以外,其他操作系統(tǒng)無(wú)法讀寫(xiě)fat32 硬盤(pán)上的信息。包括使用fat16 的ms dos ,windows3. x 和windows95 等。因此安裝了fat32 的用戶必須制成相應(yīng)格式的系統(tǒng)啟動(dòng)盤(pán),不能用dos
26、6. x 的系統(tǒng)軟盤(pán)啟動(dòng)機(jī)器進(jìn)入硬盤(pán),而只能使用fat32 格式化的系統(tǒng)盤(pán)進(jìn)行啟動(dòng)。由于這個(gè)原因, 使用了fat32 的硬盤(pán)不能實(shí)現(xiàn)win2dows95 osr2 和dos6. 22 的雙啟動(dòng)。而使用fat16 的硬盤(pán)則可以。2. 3fat32 的訪問(wèn) 在windows95 osr2 的模式下,可以對(duì)fat32硬盤(pán)進(jìn)行讀寫(xiě)。另外,通過(guò)網(wǎng)絡(luò)可以共享fat32 硬盤(pán),即使遠(yuǎn)程計(jì)算機(jī)不支持fat32 它也能夠象讀寫(xiě)老式fat 驅(qū)動(dòng)器一樣讀寫(xiě)fat32 硬盤(pán)。3 fat16 升級(jí)fat323. 1 手工升級(jí)方法 如果你使用的是品牌機(jī)器, 安裝的是win-dows95 osr2 很可能它使用了fat32 文件系統(tǒng)??捎萌缦路椒ㄅ袛?在“我的電腦”中,用右鍵單擊表示硬盤(pán)的圖標(biāo),然后單擊“屬性”。在屬性窗口的常規(guī)選項(xiàng)卡上,將顯示當(dāng)前正被使用的硬盤(pán)文件系統(tǒng)類(lèi)型。由于windows95 osr2 沒(méi)有提供fat16 向fat32升級(jí)的工具,要在你的舊硬盤(pán)中安裝fat32 文件系統(tǒng),可按如下方法手工進(jìn)行。3. 2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型起重機(jī)專(zhuān)利許可及銷(xiāo)售代理合同
- 合作房地產(chǎn)開(kāi)發(fā)協(xié)議(28篇)
- 師傅和徒弟作文
- 2025年兼職工勞務(wù)合同格式
- 2025年企業(yè)合作投資與合資合同
- 2025年信用卡預(yù)借現(xiàn)金協(xié)議書(shū)范本
- 2025年中尺度自動(dòng)氣象站系統(tǒng)項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告
- 2025年區(qū)域飲品代理合作協(xié)議范本
- 2025年式多功能打印機(jī)銷(xiāo)售合同規(guī)范
- 2025年企業(yè)電力安全使用標(biāo)準(zhǔn)協(xié)議書(shū)
- 初中數(shù)學(xué)深度學(xué)習(xí)與核心素養(yǎng)探討
- 特殊教育導(dǎo)論 課件 第1-6章 特殊教育的基本概念-智力異常兒童的教育
- 辭職申請(qǐng)表-中英文模板
- 07J501-1鋼雨篷玻璃面板圖集
- 2023學(xué)年完整公開(kāi)課版家鄉(xiāng)的方言
- 母親健康快車(chē)可行性報(bào)告
- 護(hù)理質(zhì)量管理課件
- 出口貨物報(bào)關(guān)單英文翻譯
- 消防安全開(kāi)學(xué)第一課
- 顱腦外傷(新版)課件
- 2022-2023學(xué)年部編版語(yǔ)文八年級(jí)下冊(cè)古詩(shī)文默寫(xiě)專(zhuān)項(xiàng)復(fù)習(xí)(含答案)
評(píng)論
0/150
提交評(píng)論