|
譯注:
剛完成的項(xiàng)目?jī)?nèi)容涉及FAT 文件系統(tǒng),因此在查閱手冊(cè)的同時(shí)把文檔翻譯了一下,希望能對(duì)那些和我
一樣初次使用FAT 的朋友有所幫助。因本人對(duì)FAT 并不十分了解,翻譯所做的也只是文字表面工作,出現(xiàn)
各種錯(cuò)誤在所難免,因此:本文只適用于初學(xué)者作為了解材料,需要獲得技術(shù)信息的朋友請(qǐng)查閱原版英文
資料!
發(fā)現(xiàn)錯(cuò)誤的朋友請(qǐng)mail指正,本人將不勝感激。
原文長(zhǎng)5頁,大意是告誡人們不要使用D 版云云,此略。
本文的一些約定
以字符“0x”開頭的數(shù)字為16進(jìn)制,若開頭沒有字符“0x”則表明該數(shù)字為 10進(jìn)制。
本文的程序使用C 語言書寫,書寫風(fēng)格可能與教科書中嚴(yán)格定義的有所出入。
一些變量在程序中沒有注明其數(shù)據(jù)類型是 16-bit還是 32-bit,因?yàn)槲覀冎滥阌心芰φ_地完成這
些數(shù)據(jù)類型之間的轉(zhuǎn)換,并保證在轉(zhuǎn)換 32-bit 為 16-bit 的過程中不會(huì)造成數(shù)據(jù)丟失。同時(shí)請(qǐng)注意,所有
的數(shù)據(jù)類型均是無符號(hào)類型(UNSIGNED),不要嘗試使用有符號(hào)整形(signed integer types)來進(jìn)行 FAT
運(yùn)算,否則一些FAT 卷將會(huì)因此而出錯(cuò)。
概述(適用于所有FAT 類型)
起先所有的FAT 文件系統(tǒng)都是為 IBM PC 機(jī)器而設(shè)計(jì)的,這說明了一個(gè)重要的問題:FAT 文件系統(tǒng)在磁
盤上的數(shù)據(jù)是以“小端” (little-endian) 結(jié)構(gòu)存儲(chǔ)的。我們使用 4 個(gè) 8-bit 的字節(jié) -- 起始字節(jié)為
byte[0],結(jié)束字節(jié)為 byte[3] -- 來存儲(chǔ)一個(gè) 32-bit 的 FAT 項(xiàng)(FAT entry)。然后分別給這 32 位編號(hào)為
00-31,從下表我們可以清楚地看到這 32位是如何排序的(最低位為00).
byte[3] 3 3 2 2 2 2 2 2
1 0 9 8 7 6 5 4
byte[2] 2 2 2 2 1 1 1 1
3 2 1 0 9 8 7 6
byte[1] 1 1 1 1 1 1 0 0
5 4 3 2 1 0 9 8
byte[0] 0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
這對(duì)于那些使用“大端”(big-endian)存儲(chǔ)結(jié)構(gòu)的機(jī)器就顯得尤為重要,因?yàn)樵诖疟P存取數(shù)據(jù)之前,
必須先完成big-endian 和 little-endian之間的轉(zhuǎn)換。
每個(gè)FAT 文件系統(tǒng)由4 部分組成,這些基本區(qū)域按如下順序排列:
0 – 保留區(qū)(Reserved Region)
1 – FAT區(qū)(FAT Region)
2 – 根目錄區(qū)(Root Directory Region, FAT32卷沒有此域)
3 – 文件和目錄數(shù)據(jù)區(qū)(File and Directory Data Region)
0.png (218.37 KB, 下載次數(shù): 124)
下載附件
2017-9-13 15:47 上傳
完整的pdf格式文檔51黑下載地址(共24頁):
FAT32中文版.pdf
(1.36 MB, 下載次數(shù): 107)
2017-9-13 12:03 上傳
點(diǎn)擊文件名下載附件
FAT32 下載積分: 黑幣 -5
|
|