FAT文件系統(tǒng)原理詳細(xì)介紹.docx

FAT文件系統(tǒng)原理詳細(xì)介紹.docx

ID:51688602

大?。?9.39 KB

頁(yè)數(shù):7頁(yè)

時(shí)間:2020-03-15

FAT文件系統(tǒng)原理詳細(xì)介紹.docx_第1頁(yè)
FAT文件系統(tǒng)原理詳細(xì)介紹.docx_第2頁(yè)
FAT文件系統(tǒng)原理詳細(xì)介紹.docx_第3頁(yè)
FAT文件系統(tǒng)原理詳細(xì)介紹.docx_第4頁(yè)
FAT文件系統(tǒng)原理詳細(xì)介紹.docx_第5頁(yè)
資源描述:

《FAT文件系統(tǒng)原理詳細(xì)介紹.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、FAT文件系統(tǒng)原理詳細(xì)介紹2012-03-2923:09?434人閱讀?評(píng)論(0)?收藏?舉報(bào)磁盤數(shù)據(jù)結(jié)構(gòu)byteextension存儲(chǔ)dateFAT文件起源于70年代末80年代初,用于微軟的MS-DOS操作系統(tǒng)。它開(kāi)始被設(shè)計(jì)成一個(gè)簡(jiǎn)單的文件系統(tǒng)用于小于500K的軟件盤。后來(lái)被功能被大大增強(qiáng)用于支持越來(lái)越大的媒質(zhì)。現(xiàn)在的文件系統(tǒng)有FAT12,F(xiàn)AT16和FAT32三種子類。FAT12是最早的一版,主要用于軟盤,它對(duì)簇的編址采用12bit寬度的數(shù),所以稱為FAT12。12bit的地址可以尋址4096個(gè)簇,事實(shí)上在FAT12中只能尋址4078個(gè)簇(在Linux下可尋址408

2、4個(gè)簇),有一些簇號(hào)是不能用的,在后面會(huì)給出具體的說(shuō)明。磁盤的扇區(qū)是用16bit的數(shù)進(jìn)行計(jì)算的,所以磁盤的容量就被局限在32M空間之內(nèi)。在FAT16中,采用了16bit寬的簇地址,32bit寬扇區(qū)地址。雖然32bit的扇區(qū)地址可以尋址2^32*512,約2個(gè)TB的容量,但于由規(guī)定每簇最大的容量不超過(guò)1024*32,所以FAT16文件系統(tǒng)的容量也就限制到了2^16*1024*32,大約2.1GB的空量,并且實(shí)際還達(dá)不到這個(gè)值。FAT32文件系統(tǒng)使用了32bit寬的簇地址,所以稱為FAT32。但在微軟件的文件系統(tǒng)中只使用了低28位,最大容量為2^28*1024*32,約8.

3、7TB的空量。有的人認(rèn)為32bit全用,最大容量為2^32*1024*32,這種說(shuō)法是不正確的。雖然FAT32具有容納近乎8.7TB的容量,但實(shí)際應(yīng)用中通常不使用超過(guò)32GB的FAT32分區(qū)。WIN2000及之上的OS已經(jīng)不直接支持對(duì)超過(guò)32GB的分區(qū)格式化成FAT32,但WIN98依然可以格式化大到127GB的FAT32分區(qū),但不推薦這樣做。下面是一個(gè)FAT分區(qū)的構(gòu)成概況引導(dǎo)扇區(qū)其他保留扇區(qū)(可選)FAT表1FAT表2根目錄區(qū)(僅FAT12/16)數(shù)據(jù)區(qū)(用于文件和目錄)需要說(shuō)明的是:1.引導(dǎo)扇區(qū)和其他保留扇區(qū)一起稱為保留扇區(qū),而其他保留扇區(qū)是可選的,當(dāng)沒(méi)有時(shí)候,引導(dǎo)

4、扇區(qū)后緊跟的就是FAT表12.根目錄區(qū)是僅FAT12/16才有,F(xiàn)AT32的目錄項(xiàng)位于數(shù)據(jù)區(qū)。由于FAT12/16的根目錄區(qū)是一個(gè)固定的區(qū)域,所以它的根目錄的項(xiàng)數(shù)是有限制的,意即不能在根錄建立超過(guò)這個(gè)定數(shù)的目錄項(xiàng)數(shù)。(一)引導(dǎo)扇區(qū)與BPBBPB(BIOSParametreBlock)是FAT文件系統(tǒng)中第一個(gè)重要的數(shù)據(jù)結(jié)構(gòu),它位于該FAT分區(qū)的第一個(gè)扇區(qū),同時(shí)也屬于FAT文件系統(tǒng)基本區(qū)域的保留區(qū),????????在下面的描述中。凡名稱以BPB_開(kāi)頭的都是BPB的一部分,凡名稱與BS_開(kāi)頭的項(xiàng)都是啟動(dòng)扇區(qū)的一部分,而不是屬于BPB的內(nèi)容,以下是啟動(dòng)扇區(qū)的結(jié)構(gòu)?offset(

5、byte)長(zhǎng)度(byte)描述BS_jmpBoot0x003跳轉(zhuǎn)指令,指向啟動(dòng)代碼BS_OEMName0x038建議值為“MSWIN4.1”。有些廠商的FAT驅(qū)動(dòng)可能會(huì)檢測(cè)此項(xiàng),所以設(shè)為“MSWIN4.1”可以盡量避免兼容性的問(wèn)題BPB_BytsPerSec0x0b2每扇區(qū)的字節(jié)數(shù),取值只能是以下幾種:512,1024,2048或是4096。設(shè)為512會(huì)取得最好的兼容性,目前有很多FAT代碼都是硬性規(guī)定每扇區(qū)的字節(jié)數(shù)為512,而不是實(shí)際的檢測(cè)此值。但微軟的操作系統(tǒng)能夠很好支持1024,2048或是4096BPB_SecPerClus0x0d1每簇的扇區(qū)數(shù),其值必須中2的

6、整數(shù)次方(該整數(shù)必須>=0),同時(shí)還要保證每簇的字節(jié)數(shù)不能超過(guò)32K,也就是1024*32字節(jié)BPB_RsvdSecCnt0x0e2保留扇區(qū)的數(shù)目,此域不能為0,F(xiàn)AT12/FAT16必須為1,F(xiàn)AT32的典型值取為32,,微軟的系統(tǒng)支持任何非0值BPB_BumFATs0x101分區(qū)中FAT表的份數(shù),,任何FAT格式都建議為2BPB_RootEntCnt0x112對(duì)于FAT12和FAT16此域包含根目錄中目錄的個(gè)數(shù)(每項(xiàng)長(zhǎng)度為32bytes),對(duì)于FAT32,此項(xiàng)必須為0。對(duì)于FAT12和FAT16,此數(shù)乘以32必為BPB_BytesPerSec的偶數(shù)倍,為了達(dá)到更好的

7、兼容性,F(xiàn)AT12和FAT16都應(yīng)該取值為512BPB_ToSec160x132早期版本中16bit的總扇區(qū),這里總扇區(qū)數(shù)包括FAT卷上四個(gè)基本分區(qū)的全部扇區(qū),此域可以為0,若此域?yàn)?,那么BPB_ToSec32必須為0,對(duì)于FAT32,此域必為0。對(duì)于FAT12/FAT16,此域填寫總扇區(qū)數(shù),如果該值小于0x10000的話,BPB_ToSec32必須為0BPB_Media0x151對(duì)于“固定”(不可移動(dòng))存儲(chǔ)介質(zhì)而言,0xF8是標(biāo)準(zhǔn)值,對(duì)于可移動(dòng)存儲(chǔ)介質(zhì),經(jīng)常使用的數(shù)值是0xF0,此域合法的取值可以取0xF0,0xF8,0xF9,0xF

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。