專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

FAT文件系統(tǒng)原理

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年08月18日   【字體:

   主板BIOS程序運(yùn)行,完成一系列的檢測(cè)和配置后,將執(zhí)行權(quán)力交予硬盤,跳到硬盤的第一個(gè)(主引導(dǎo)512字節(jié))扇區(qū)上執(zhí)行MBR,其中MBR的后64個(gè)字節(jié)為DPT(硬盤分區(qū)表,這里最多4個(gè)分區(qū),以55 AA結(jié)束),DPT上表明了分區(qū)是否為活動(dòng)分區(qū)、分區(qū)的起始/結(jié)束磁頭、起始/結(jié)束柱面、起始/結(jié)束扇區(qū)等信息,(從這里看出硬盤內(nèi)部就是以扇區(qū)為單元管理磁盤),接下來CPU找到活動(dòng)分區(qū),跳到活動(dòng)分區(qū)去引導(dǎo)系統(tǒng)。

   我們已經(jīng)了解了MBR,就可以知道磁盤的分區(qū)等信息,那么我們接下來再看看具體的分區(qū)中的結(jié)構(gòu);通過DPT找到一個(gè)分區(qū),MBR將跳到活動(dòng)分區(qū),將執(zhí)行權(quán)交給該分區(qū)的引導(dǎo)扇區(qū)(DBR,相當(dāng)扇區(qū)編號(hào)為0),
每個(gè)分區(qū)的結(jié)構(gòu)都是一樣的,最開始的是引導(dǎo)扇區(qū),然后是數(shù)據(jù)。
   DBR區(qū)(DOS BOOT RECORD)即操作系統(tǒng)引導(dǎo)記錄區(qū)的意思,通常占用分區(qū)的第0扇區(qū)共512個(gè)字節(jié)(特殊情況也要占用其它保留扇區(qū),我們先說第0扇)。在這512個(gè)字節(jié)中,第一部分是跳轉(zhuǎn)指令,接下來是廠商標(biāo)志和操作系統(tǒng)版本號(hào),BPB(BIOS Parameter Block),擴(kuò)展BPB,os引導(dǎo)程序,結(jié)束標(biāo)志幾部分組成。
   MBR將CPU執(zhí)行轉(zhuǎn)移給引導(dǎo)扇區(qū),因此,引導(dǎo)扇區(qū)的前三個(gè)字節(jié)必須是合法的可執(zhí)行的基于x86的CPU指令。這通常是一條跳轉(zhuǎn)指令,該指令負(fù)責(zé)跳過接下來的幾個(gè)不可執(zhí)行的字節(jié)(BPB和擴(kuò)展BPB),跳到操作系統(tǒng)引導(dǎo)代碼部分。
   BPB(相對(duì)偏移字節(jié)0X0B),它包含了磁盤容量和幾何結(jié)構(gòu)變量等信息:硬件扇區(qū)大。ㄗ止(jié)數(shù))、每鏃扇區(qū)數(shù)、文件系統(tǒng)版本等信息。
   擴(kuò)展BPB也包含與文件系統(tǒng)等的相關(guān)各種信息。
   不論是硬盤還是各種flash,存儲(chǔ)設(shè)備要通過文件系統(tǒng)管理存儲(chǔ),存儲(chǔ)設(shè)備的粗線條存儲(chǔ)規(guī)劃都是這樣的,使用不同的文件系統(tǒng)或不同的分區(qū),也就是相關(guān)的描述信息不一樣,數(shù)據(jù)區(qū)的存儲(chǔ)格式不一樣,但是粗線條的存儲(chǔ)規(guī)劃是一致的(如MBR,DBR,數(shù)據(jù)區(qū),只是其中包含的信息不一樣)。
   擴(kuò)展分區(qū)可以被分區(qū)多個(gè)邏輯分區(qū)(邏輯驅(qū)動(dòng)器),每個(gè)邏輯分區(qū)的結(jié)構(gòu)是與主分區(qū)結(jié)構(gòu)類似,但有區(qū)別,每個(gè)邏輯驅(qū)動(dòng)器包含擴(kuò)展引導(dǎo)記錄(擴(kuò)展分區(qū)表與結(jié)束符)、引導(dǎo)扇區(qū)、數(shù)據(jù)區(qū)。
   邏輯驅(qū)動(dòng)器的擴(kuò)展引導(dǎo)記錄的第一項(xiàng)指向本驅(qū)動(dòng)器的“引導(dǎo)扇區(qū)+數(shù)據(jù)區(qū)”,第二項(xiàng)指向下一個(gè)邏輯驅(qū)動(dòng)器的擴(kuò)展引導(dǎo)記錄;然而每個(gè)引導(dǎo)扇區(qū)與主分區(qū)的引導(dǎo)扇區(qū)類似也有區(qū)別,具體在看文檔。
   FAT16DBR之后沒有留有任何保留扇區(qū),其后緊隨的便是FAT表。FAT表是FAT16用來記錄磁盤數(shù)據(jù)區(qū)簇鏈結(jié)構(gòu)的,FAT表以"F8 FF FF FF" 開頭,FAT表記錄了磁盤數(shù)據(jù)文件的存儲(chǔ)鏈表,對(duì)于數(shù)據(jù)的讀取而言是極其重要的,以至于Microsoft為其開發(fā)的FAT文件系統(tǒng)中的FAT表創(chuàng)建了一份備份,就是我們看到的FAT2。


1:硬盤的物理結(jié)構(gòu)

   硬盤存儲(chǔ)數(shù)據(jù)是根據(jù)電、磁轉(zhuǎn)換原理實(shí)現(xiàn)的。硬盤由一個(gè)或幾個(gè)表面鍍有磁性物質(zhì)的金屬或玻璃等物質(zhì)盤片以及盤片兩面所安裝的磁頭和相應(yīng)的控制電路組成(1),其中盤片和磁頭密封在無塵的金屬殼中。
    硬盤工作時(shí),盤片以設(shè)計(jì)轉(zhuǎn)速高速旋轉(zhuǎn),設(shè)置在盤片表面的磁頭則在電路控制下徑向移動(dòng)到指定位置然后將數(shù)據(jù)存儲(chǔ)或讀取出來。當(dāng)系統(tǒng)向硬盤寫入數(shù)據(jù)時(shí),磁頭中寫數(shù)據(jù)電流產(chǎn)生磁場(chǎng)使盤片表面磁性物質(zhì)狀態(tài)發(fā)生改變,并在寫電流磁場(chǎng)消失后仍能保持,這樣數(shù)據(jù)就存儲(chǔ)下來了;當(dāng)系統(tǒng)從硬盤中讀數(shù)據(jù)時(shí),磁頭經(jīng)過盤片指定區(qū)域,盤片表面磁場(chǎng)使磁頭產(chǎn)生感應(yīng)電流或線圈阻抗產(chǎn)生變化,經(jīng)相關(guān)電路處理后還原成數(shù)據(jù)。因此只要能將盤片表面處理得更平滑、磁頭設(shè)計(jì)得更精密以及盡量提高盤片旋轉(zhuǎn)速度,就能造出容量更大、讀寫數(shù)據(jù)速度更快的硬盤。這是因?yàn)楸P片表面處理越平、轉(zhuǎn)速越快就能越使磁頭離盤片表面越近,提高讀、寫靈敏度和速度;磁頭設(shè)計(jì)越小越精密就能使磁頭在盤片上占用空間越小,使磁頭在一張盤片上建立更多的磁道以存儲(chǔ)更多的數(shù)據(jù)。   
2:硬盤的邏輯結(jié)構(gòu)

    硬盤由很多盤片(platter)組成,每個(gè)盤片的每個(gè)面都有一個(gè)讀寫磁頭。如果有N個(gè)盤片。就有2N個(gè)面,對(duì)應(yīng)2N個(gè)磁頭(Heads),從0、1、2開始編號(hào)。每個(gè)盤片被劃分成若干個(gè)同心圓磁道(邏輯上的,是不可見的。)每個(gè)盤片的劃分規(guī)則通常是一樣的。這樣每個(gè)盤片的半徑均為固定值R的同心圓再邏輯上形成了一個(gè)以電機(jī)主軸為軸的柱面(Cylinders),從外至里編號(hào)為0、1、2……每個(gè)盤片上的每個(gè)磁道又被劃分為幾十個(gè)扇區(qū)(Sector),通常的容量是512byte,并按照一定規(guī)則編號(hào)為1、2、3……形成Cylinders×Heads×Sector個(gè)扇區(qū)。這三個(gè)參數(shù)即是硬盤的物理參數(shù)。我們下面的很多實(shí)踐需要深刻理解這三個(gè)參數(shù)的意義。


3:磁盤引導(dǎo)原理
MBR(master boot record)扇區(qū)  
   計(jì)算機(jī)在按下power鍵以后,開始執(zhí)行主板bios程序。進(jìn)行完一系列檢測(cè)和配置以后。開始按bios中設(shè)定的系統(tǒng)引導(dǎo)順序引導(dǎo)系統(tǒng)。假定現(xiàn)在是硬盤。Bios執(zhí)行完自己的程序后如何把執(zhí)行權(quán)交給硬盤呢。交給硬盤后又執(zhí)行存儲(chǔ)在哪里的程序呢。其實(shí),稱為mbr的一段代碼起著舉足輕重的作用。MBR(master boot record),即主引導(dǎo)記錄,有時(shí)也稱主引導(dǎo)扇區(qū)。位于整個(gè)硬盤的0柱面0磁頭1扇區(qū)(可以看作是硬盤的第一個(gè)扇區(qū)),bios在執(zhí)行自己固有的程序以后就會(huì)jumpmbr中的第一條指令。將系統(tǒng)的控制權(quán)交由mbr來執(zhí)行。在總共512byte的主引導(dǎo)記錄中,MBR的引導(dǎo)程序占了其中的前446個(gè)字節(jié)(偏移0H~偏移1BDH),隨后的64個(gè)字節(jié)(偏移1BEH~偏移1FDH)DPT(Disk PartitionTable,硬盤分區(qū)表),最后的兩個(gè)字節(jié)“55 AA”(偏移1FEH~偏移1FFH)是分區(qū)有效結(jié)束標(biāo)志。

    MBR不隨操作系統(tǒng)的不同而不同,意即不同的操作系統(tǒng)可能會(huì)存在相同的MBR,即使不同,MBR也不會(huì)夾帶操作系統(tǒng)的性質(zhì)。具有公共引導(dǎo)的特性。我們來分析一段mbr。下面是用winhex查看的一塊希捷120GB硬盤的mbr。

    我們看DPT部分。操作系統(tǒng)為了便于用戶對(duì)磁盤的管理。加入了磁盤分區(qū)的概念。即將一塊磁盤邏輯劃分為幾塊。磁盤分區(qū)數(shù)目的多少 只受限于CZ的英文字母的數(shù)目;
    在上圖DPT的64個(gè)字節(jié)中,如何表示多個(gè)分區(qū)的屬性呢? microsoft通過鏈接的方法【見下圖】解決了這個(gè)問題。在DPT64個(gè)字節(jié)中,以16個(gè)字節(jié)為分區(qū)表項(xiàng)單位描述一個(gè)分區(qū)的屬性。也就是說,第一個(gè)分區(qū)表項(xiàng)描述一個(gè)分區(qū)的屬性,一般為基本分區(qū)。第二個(gè)分區(qū)表項(xiàng)描述除基本分區(qū)外的其余空間,一般而言,就是我們所說的擴(kuò)展分區(qū)。這部分的大體說明見表1【也就是64個(gè)字節(jié),每16個(gè)字節(jié)用來描述一個(gè)分區(qū),所以64個(gè)字節(jié)做多描述4個(gè)分區(qū),所以硬盤格式化分區(qū)的時(shí)候,主分區(qū)+擴(kuò)展分區(qū)最多就4個(gè):3+1,1+1,4+0,擴(kuò)展分區(qū)可以用來劃分邏輯分區(qū)】,下圖就是一個(gè)16字節(jié)的分區(qū)描述字段。

說明: 每個(gè)分區(qū)表項(xiàng)占用16個(gè)字節(jié),假定偏移地址從0開始。如圖3的分區(qū)表項(xiàng)3。分區(qū)表項(xiàng)4同分區(qū)表項(xiàng)3。
    1
0H偏移為活動(dòng)分區(qū)是否標(biāo)志,只能選00H80H80H為活動(dòng),00H為非活動(dòng)。其余值對(duì)microsoft而言為非法值。
    2
、重新說明一下(這個(gè)非常重要):大于1個(gè)字節(jié)的數(shù)被以低字節(jié)在前的存儲(chǔ)格式格式(little endian format)或稱反字節(jié)順序保存下來。低字節(jié)在前的格式是一種保存數(shù)的方法,這樣,最低位的字節(jié)最先出現(xiàn)在十六進(jìn)制數(shù)符號(hào)中。例如,相對(duì)扇區(qū)數(shù)字段的值0x3F000000的低字節(jié)在前表示為0x0000003F。這個(gè)低字節(jié)在前的格式數(shù)的十進(jìn)制數(shù)為63。
    3
系統(tǒng)在分區(qū)時(shí),各分區(qū)都不允許跨柱面,即均以柱面為單位,這就是通常所說的分區(qū)粒度。有時(shí)候我們分區(qū)是輸入分區(qū)的大小為7000M,分出來卻是6997M,就是這個(gè)原因。 偏移2H和偏移6H的扇區(qū)和柱面參數(shù)中,扇區(qū)占6(bit),柱面占10(bit),以偏移6H為例,其低6位用作扇區(qū)數(shù)的二進(jìn)制表示。其高兩位做柱面數(shù)10位中的高兩位,偏移7H組成的8位做柱面數(shù)10位中的低8位。由此可知,實(shí)際上用這種方式表示的分區(qū)容量是有限的,柱面和磁頭從0開始編號(hào),扇區(qū)從1開始編號(hào),所以最多只能表示1024個(gè)柱面×63個(gè)扇區(qū)×256個(gè)磁頭×512byte=8455716864byte。即通常的8.4GB(實(shí)際上應(yīng)該是7.8GB左右)限制。實(shí)際上磁頭數(shù)通常只用到255個(gè)(由匯編語言的尋址寄存器決定),即使把這3個(gè)字節(jié)按線性尋址,依然力不從心。 在后來的操作系統(tǒng)中,超過8.4GB的分區(qū)其實(shí)已經(jīng)不通過C/H/S的方式尋址了。而是通過偏移CH~偏移FH4個(gè)字節(jié)32位線性扇區(qū)地址來表示分區(qū)所占用的扇區(qū)總數(shù)?芍ㄟ^4個(gè)字節(jié)可以表示2^32個(gè)扇區(qū),即2TB=2048GB,目前對(duì)于大多數(shù)計(jì)算機(jī)而言,這已經(jīng)是個(gè)天文數(shù)字了。在未超過8.4GB的分區(qū)上,C/H/S的表示方法和線性扇區(qū)的表示方法所表示的分區(qū)大小是一致的。也就是說,兩種表示方法是協(xié)調(diào)的。即使不協(xié)調(diào),也以線性尋址為準(zhǔn)。(可能在某些系統(tǒng)中會(huì)提示出錯(cuò))。超過8.4GB的分區(qū)結(jié)束C/H/S一般填充為FEH FFH FFH。即C/H/S所能表示的最大值。有時(shí)候也會(huì)用柱面對(duì)1024的模來填充。不過這幾個(gè)字節(jié)是什么其實(shí)都無關(guān)緊要了。
   
雖然現(xiàn)在的系統(tǒng)均采用線性尋址的方式來處理分區(qū)的大小。但不可跨柱面的原則依然沒變。本分區(qū)的扇區(qū)總數(shù)加上與前一分區(qū)之間的保留扇區(qū)數(shù)目依然必須是柱面容量的整數(shù)倍。(保留扇區(qū)中的第一個(gè)扇區(qū)就是存放分區(qū)表的MBR或虛擬MBR的扇區(qū),分區(qū)的扇區(qū)總數(shù)在線性表示方式上是不計(jì)入保留扇區(qū)的。如果是第一個(gè)分區(qū),保留扇區(qū)是本分區(qū)前的所有扇區(qū)。
  

擴(kuò)展分區(qū)

    擴(kuò)展分區(qū)中的每個(gè)邏輯驅(qū)動(dòng)器都存在一個(gè)類似于MBR的擴(kuò)展引導(dǎo)記錄( Extended Boot Record, EBR),也有人稱之為虛擬mbr或擴(kuò)展mbr,意思是一樣的。擴(kuò)展引導(dǎo)記錄包括一個(gè)擴(kuò)展分區(qū)表和該扇區(qū)的標(biāo)簽。擴(kuò)展引導(dǎo)記錄將記錄只包含擴(kuò)展分區(qū)中每個(gè)邏輯驅(qū)動(dòng)器的第一個(gè)柱面的第一面的信息。一個(gè)邏輯驅(qū)動(dòng)器中的引導(dǎo)扇區(qū)一般位于相對(duì)扇區(qū)3263。但是,如果磁盤上沒有擴(kuò)展分區(qū),那么就不會(huì)有擴(kuò)展引導(dǎo)記錄和邏輯驅(qū)動(dòng)器。第一個(gè)邏輯驅(qū)動(dòng)器的擴(kuò)展分區(qū)表中的第一項(xiàng)指向它自身的引導(dǎo)扇區(qū)。第二項(xiàng)指向下一個(gè)邏輯驅(qū)動(dòng)器的EBR。如果不存在進(jìn)一步的邏輯驅(qū)動(dòng)器,第二項(xiàng)就不會(huì)使用,而且被記錄成一系列零。如果有附加的邏輯驅(qū)動(dòng)器,那么第二個(gè)邏輯驅(qū)動(dòng)器的擴(kuò)展分區(qū)表的第一項(xiàng)會(huì)指向它本身的引導(dǎo)扇區(qū)。第二個(gè)邏輯驅(qū)動(dòng)器的擴(kuò)展分區(qū)表的第二項(xiàng)指向下一個(gè)邏輯驅(qū)動(dòng)器的EBR。擴(kuò)展分區(qū)表的第三項(xiàng)和第四項(xiàng)永遠(yuǎn)都不會(huì)被使用。

    除了擴(kuò)展分區(qū)上最后一個(gè)邏輯驅(qū)動(dòng)器外,表2中所描述的擴(kuò)展分區(qū)表的格式在每個(gè)邏輯驅(qū)動(dòng)器中都是重復(fù)的:第一個(gè)項(xiàng)標(biāo)識(shí)了邏輯驅(qū)動(dòng)器本身的引導(dǎo)扇區(qū),第二個(gè)項(xiàng)標(biāo)識(shí)了下一個(gè)邏輯驅(qū)動(dòng)器的EBR。最后一個(gè)邏輯驅(qū)動(dòng)器的擴(kuò)展分區(qū)表只會(huì)列出它本身的分區(qū)項(xiàng)。最后一個(gè)擴(kuò)展分區(qū)表的第二個(gè)項(xiàng)到第四個(gè)項(xiàng)被使用。 
    擴(kuò)展分區(qū)表項(xiàng)中的相對(duì)扇區(qū)數(shù)字段所顯示的是從擴(kuò)展分區(qū)開始到邏輯驅(qū)動(dòng)器中第一個(gè)扇區(qū)的位移的字節(jié)數(shù)?偵葏^(qū)數(shù)字段中的數(shù)是指組成該邏輯驅(qū)動(dòng)器的扇區(qū)數(shù)目?偵葏^(qū)數(shù)字段的值等于從擴(kuò)展分區(qū)表項(xiàng)所定義的引導(dǎo)扇區(qū)到邏輯驅(qū)動(dòng)器末尾的扇區(qū)數(shù)。
    有時(shí)候在磁盤的末尾會(huì)有剩余空間,剩余空間是什么呢?我們前面說到,分區(qū)是以1柱面的容量為分區(qū)粒度的,那么如果磁盤總空間不是整數(shù)個(gè)柱面的話,不夠一個(gè)柱面的剩下的空間就是剩余空間了,這部分空間并不參與分區(qū),所以一般無法利用。照道理說,磁盤的物理模式?jīng)Q定了磁盤的總?cè)萘烤蛻?yīng)該是整數(shù)個(gè)柱面的容量,為什么會(huì)有不夠一個(gè)柱面的空間呢。在我的理解看來,本來現(xiàn)在的磁盤為了更大的利用空間,一般在物理上并不是按照外圍的扇區(qū)大于里圈的扇區(qū)這種管理方式,只是為了與操作系統(tǒng)兼容而抽象出來CHS?赡芷鋵(shí)際空間容量不一定正好為整數(shù)個(gè)柱面的容量吧。

FAT分區(qū)原理

    現(xiàn)在我們著重研究FAT格式分區(qū)內(nèi)數(shù)據(jù)是如何存儲(chǔ)的。FAT分區(qū)格式是MICROSOFT最早支持的分區(qū)格式,依據(jù)FAT表中每個(gè)簇鏈的所占位數(shù)(有關(guān)概念,后面會(huì)講到)分為fat12、fat16fat32三種格式"變種",但其基本存儲(chǔ)方式是相似的。
   
仔細(xì)研究圖7中的fat16fat32分區(qū)的組成結(jié)構(gòu)。下面依次解釋DBR、FAT1FAT2、根目錄、數(shù)據(jù)區(qū)、剩余扇區(qū)的概念。提到的地址如無特別提示均為分區(qū)內(nèi)部偏移。

DBR
   DBR區(qū)(DOS BOOT RECORD)即操作系統(tǒng)引導(dǎo)記錄區(qū)的意思,通常占用分區(qū)的第0扇區(qū)共512個(gè)字節(jié)(特殊情況也要占用其它保留扇區(qū),我們先說第0)。在這512個(gè)字節(jié)中,其實(shí)又是由跳轉(zhuǎn)指令,廠商標(biāo)志和操作系統(tǒng)版本號(hào),BPB(BIOS Parameter Block),擴(kuò)展BPB,os引導(dǎo)程序,結(jié)束標(biāo)志幾部分組成。 以用的最多的FAT32為例說明分區(qū)DBR各字節(jié)的含義。見圖8

    MBRCPU執(zhí)行轉(zhuǎn)移給引導(dǎo)扇區(qū),因此,引導(dǎo)扇區(qū)的前三個(gè)字節(jié)必須是合法的可執(zhí)行的基于x86CPU指令。這通常是一條跳轉(zhuǎn)指令,該指令負(fù)責(zé)跳過接下來的幾個(gè)不可執(zhí)行的字節(jié)(BPB和擴(kuò)展BPB),跳到操作系統(tǒng)引導(dǎo)代碼部分。
   
跳轉(zhuǎn)指令之后是8字節(jié)長的OEM ID,它是一個(gè)字符串, OEM ID標(biāo)識(shí)了格式化該分區(qū)的操作系統(tǒng)的名稱和版本號(hào)。為了保留與MS-DOS的兼容性,通常Windows 2000格式化該盤是在FAT16FAT32磁盤上的該字段中記錄了“MSDOS 5.0”,在NTFS磁盤上(關(guān)于ntfs,另述),Windows 2000記錄的是“NTFS”。通常在被Windows 95格式化的磁盤上OEM ID字段出現(xiàn)“MSWIN4.0”,在被Windows 95 OSR2Windows 98格式化的磁盤上OEM ID字段出現(xiàn)“MSWIN4.1”。
   
接下來的從偏移0x0B開始的是一段描述能夠使可執(zhí)行引導(dǎo)代碼找到相關(guān)參數(shù)的信息。通常稱之為BPB(BIOS Parameter Block)BPB一般開始于相同的位移量,因此,標(biāo)準(zhǔn)的參數(shù)都處于一個(gè)已知的位置。磁盤容量和幾何結(jié)構(gòu)變量都被封在BPB之中。由于引導(dǎo)扇區(qū)的第一部分是一個(gè)x86跳轉(zhuǎn)指令。因此,將來通過在BPB末端附加新的信息,可以對(duì)BPB進(jìn)行擴(kuò)展。只需要對(duì)該跳轉(zhuǎn)指令作一個(gè)小的調(diào)整就可以適應(yīng)BPB的變化。圖9已經(jīng)列出了項(xiàng)目的名稱和取值,為了系統(tǒng)的研究,針對(duì)圖8,將FAT32分區(qū)格式的BPB含義和擴(kuò)展BPB含義釋義為表格,見表4和表5


FAT表和數(shù)據(jù)的存儲(chǔ)原則
    FAT(File Allocation Table 文件分配表),是MicrosoftFAT文件系統(tǒng)中用于磁盤數(shù)據(jù)(文件)索引和定位引進(jìn)的一種鏈?zhǔn)浇Y(jié)構(gòu)。假如把磁盤比作一本書,FAT表可以認(rèn)為相當(dāng)于書中的目錄,而文件就是各個(gè)章節(jié)的內(nèi)容。但FAT表的表示方法卻與目錄有很大的不同。
   
FAT文件系統(tǒng)中,文件的存儲(chǔ)依照FAT表制定的簇鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)來進(jìn)行。同時(shí),FAT文件系統(tǒng)將組織數(shù)據(jù)時(shí)使用的目錄也抽象為文件,以簡化對(duì)數(shù)據(jù)的管理。
關(guān)閉窗口