FAT16文件系统之FAT表浅谈(三)
FAT16文件系統(tǒng)的FAT表分析
1:FAT表的作用及結(jié)構(gòu)特點(diǎn)
??????????????? FAT即文件系統(tǒng)分配表,對(duì)于FAT文件系統(tǒng)來(lái)講是非常重要的一環(huán)。其主要作用如下
(1)??????FAT文件系統(tǒng)一般有兩份FAT,它們由格式化程序?qū)Ψ謪^(qū)進(jìn)行格式化的時(shí)候創(chuàng)建,FAT1是活動(dòng)FAT,FAT2是備份FAT。
(2)??????FAT1跟在DBR之后,FAT2跟在FAT1之后中間沒(méi)有空的扇區(qū)
(3)??????FAT表由FAT表項(xiàng)構(gòu)成的,我們把FAT表項(xiàng)簡(jiǎn)稱為FAT項(xiàng)。每個(gè)FAT項(xiàng)的大小有12位,16位,32位,三種情況,對(duì)應(yīng)的分別FAT12,FAT16,FAT32文件系統(tǒng)。
(4)??????每個(gè)FAT項(xiàng)都有一個(gè)固定的編號(hào),這個(gè)編號(hào)是從0開(kāi)始。
(5)??????FAT表的前兩個(gè)FAT項(xiàng)有專門的用途:0號(hào)FAT項(xiàng)通常用來(lái)存放分區(qū)所在的介質(zhì)類型,例如硬盤的介質(zhì)類型為“F8”,那么硬盤上分區(qū)FAT表第一個(gè)FAT項(xiàng)就是以“F8”開(kāi)始,1號(hào)FAT項(xiàng)則用來(lái)存儲(chǔ)文件系統(tǒng)的骯臟標(biāo)志,表明文件系統(tǒng)被非法卸載或者磁盤表面存在錯(cuò)誤。
(6)??????分區(qū)的數(shù)據(jù)區(qū)每一個(gè)簇都會(huì)映射到FAT表中的唯一一個(gè)FAT項(xiàng)。因?yàn)?號(hào)FAT項(xiàng)與1號(hào)FAT項(xiàng)已經(jīng)被系統(tǒng)占用,無(wú)法與數(shù)據(jù)區(qū)的族形成映射,所以從2號(hào)FAT項(xiàng)開(kāi)始跟數(shù)據(jù)區(qū)中的第一個(gè)簇映射,正因?yàn)槿绱?#xff0c;數(shù)據(jù)區(qū)中的第一個(gè)族的編號(hào)為2,這也是沒(méi)有0號(hào)簇與1號(hào)簇的原因,然后3號(hào)簇與3號(hào)FAT項(xiàng)映射,4號(hào)簇與4號(hào)FAT項(xiàng)映射。。。。。。。。。。
(7)??????分區(qū)格式化后,用戶文件以簇為單位存放在數(shù)據(jù)區(qū)中,一個(gè)文件至少占用一個(gè)簇。當(dāng)一個(gè)文件占用多個(gè)簇時(shí),這些族的簇號(hào)不一定是連續(xù)的,但這些簇號(hào)在存儲(chǔ)該文件時(shí)就確定了順序,即每一個(gè)文件都有其特定的“簇號(hào)鏈”。在分區(qū)上的每一個(gè)可用的簇在FAT中有且只有一個(gè)映射FAT項(xiàng),通過(guò)在對(duì)應(yīng)簇號(hào)的FAT項(xiàng)內(nèi)填入“FAT項(xiàng)值”來(lái)表明數(shù)據(jù)區(qū)中的該簇是已占用,空閑或者是壞簇三種狀態(tài)之一。
??????????????????????????????????????? FAT表中每個(gè)FAT項(xiàng)可取的表項(xiàng)值及其含義
| FAT項(xiàng)值(FAT12) | FAT項(xiàng)值(FAT16) | FAT項(xiàng)值(FAT32) | 含義 |
| 000H | 0000H | 00000000H | 未使用的簇 |
| 002H – FEFH | 0002H - FFEFH | 00000002H – 0FFFFFFEH | 一個(gè)已分配的族號(hào) |
| FF0H – FF6H | FFF0H – FFF6H | 0FFFFFF0H – 0FFFFFF6H | 保留 |
| FF7H | FFF7H | 0FFFFFF7H | 壞簇 |
| FF8H - FFFH | FFF8H - FFFFH | 0FFFFFF8H – 0FFFFFFFH | 文件結(jié)束簇 |
其中損壞的族可以在格式化過(guò)程中,由格式化程序發(fā)現(xiàn)并記錄在相應(yīng)的FAT項(xiàng)中。在一個(gè)簇中,有一個(gè)壞的扇區(qū),該簇就不能使用。
(8)FAT16文件系統(tǒng)的FAT項(xiàng)是16位的,也就是說(shuō)每個(gè)FAT項(xiàng)占2字節(jié)。16位的FAT項(xiàng)最多可管理65535個(gè)簇。在Windows 2000系統(tǒng)之前簇最大為64個(gè)扇區(qū),這樣,采用16位FAT的系統(tǒng)最多只能管理32 * 65535 約于 2G的分區(qū)?,F(xiàn)在簇大小可以達(dá)到128個(gè)扇區(qū),這樣FAT16就可以管理4G的分區(qū)了。
(8)??????綜合上面的說(shuō)明可以看出,FAT表的功能主要有如下:
A:表明分區(qū)所在介質(zhì)類型。FAT表的0號(hào)FAT項(xiàng)來(lái)表明分區(qū)所在的介質(zhì)類型,該FAT項(xiàng)的首字節(jié)與BPB中介質(zhì)描述符所對(duì)就的介質(zhì)類型相同
B:表明一個(gè)文件所占用各簇的簇鏈分配情況。每個(gè)簇在FAT表中映射一個(gè)FAT項(xiàng),FAT項(xiàng)以指針的方式記錄在文件的簇。
C:標(biāo)明可用簇與壞簇。壞簇是在分區(qū)格式化時(shí)發(fā)現(xiàn)的,并把相應(yīng)的簇表的項(xiàng)寫入FFF7H.用戶不能使用。
分區(qū)上未被使用但可用的“空簇“的FAT項(xiàng)值為0,
總結(jié)
以上是生活随笔為你收集整理的FAT16文件系统之FAT表浅谈(三)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MIT,Apache 等协议如何理解?
- 下一篇: win10版本查看_win10系统如何查