您好,欢迎访问华信数据恢复网站

数据恢复

致力于打造权威数据恢复品牌

联系客服

FAT文件系统原理四(4)

时间:2013年05月23日信息来源:不详 点击: 【字体:


    FAT32与FAT16的原理基本上是相同的,图4.3.12标出了FAT32分区的基本构成。

图4.3.12 Fat32的组织形式
引导扇区 其余保留扇区 FAT1 FAT2(重复的) 根文件夹首簇 其他文件夹及所有文件 剩余扇区
1扇区 31个扇区 实际情况取大小 同FAT1 第2簇   不足一簇
保留扇区     ┗━━━━━━━━数据区━━━━━━━━┛

    FAT32在格式化的过程中就根据分区的特点构建好了它的DBR,其中BPB参数是很重要的,可以回过头来看一下表4和表5。首先FAT32保留扇区的数目默认为32个,而不是FAT16的仅仅一个。这样的好处是有助于磁盘DBR指令的长度扩展,而且可以为DBR扇区留有备份空间。上面我们已经提到,构建在FAT32上的win98或win2000、winXP,其操作系统引导代码并非只占一个扇区了。留有多余的保留扇区就可以很好的拓展OS引导代码。在BPB中也记录了DBR扇区的备份扇区编号。备份扇区可以让我们在磁盘遭到意外破坏时恢复DBR。
    FAT32的文件分配表的数据结构依然和FAT16相同,所不同的是,FAT32将记录簇链的二进制位数扩展到了32位,故而这种文件系统称为FAT32。32位二进制位的簇链决定了FAT表最大可以寻址2T个簇。这样即使簇的大小为1扇区,理论上仍然能够寻址1TB范围内的分区。但实际中FAT32是不能寻址这样大的空间的,随着分区空间大小的增加,FAT表的记录数会变得臃肿不堪,严重影响系统的性能。所以在实际中通常不格式化超过32GB的FAT32分区。WIN2000及之上的OS已经不直接支持对超过32GB的分区格式化成FAT32,但WIN98依然可以格式化大到127GB的FAT32分区,但这样没必要也不推荐。同时FAT32也有小的限制,FAT32卷必须至少有65527个簇,所以对于小的分区,仍然需要使用FAT16或FAT12。
    分区变大时,如果簇很小,文件分配表也随之变大。仍然会有上面的效率问题存在。既要有效地读写大文件,又要最大可能的减少空间的浪费。FAT32同样规定了相应的分区空间对应的簇的大小,见表12:

 

表12  FAT32分区大小与对因簇大小
分区空间大小 每个簇的扇区 簇空间大小
<8GB 8 4k
>=8GB且<16GB 16 8k
>=16GB且<32GB 32 16k
>=32GB 64 32k

    簇的取值意义和FAT16类似,不过是位数长了点罢了,比较见表13:

表13 FAT各系统记录项的取值含义(16进制)
FAT12记录项的取值 FAT16记录项的取值 FAT32记录项的取值 对应簇的表现情况
000 0000 00000000 未分配的簇
002~FFF 0002~FFEF 00000002~FFFFFFEF 已分配的簇
FF0~FF6 FFF0~FFF6 FFFFFFF0~FFFFFFF6 系统保留
FF7 FFF7 FFFFFFF7 坏簇
FF8~FFF FFF8~FFFF FFFFFFF8~FFFFFFFF 文件结束簇


    FAT32的另一项重大改革是根目录的文件化,即将根目录等同于普通的文件。这样根目录便没有了FAT16中512个目录项的限制,不够用的时候增加簇链,分配空簇即可。而且,根目录的位置也不再硬性地固定了,可以存储在分区内可寻址的任意簇内,不过通常根目录是最早建立的(格式化就生成了)目录表。所以,我们看到的情况基本上都是根目录首簇占簇区顺序上的第1个簇。在图4.3.12中也是按这种情况制作的画的。
    FAT32对簇的编号依然同FAT16。顺序上第1个簇仍然编号为第2簇,通常为根目录所用(这和FAT16是不同的,FAT16的根目录并不占簇区空间,32个扇区的根目录以后才是簇区第1个簇) 
    FAT32的文件寻址方法与FAT16相同,但目录项的各字节参数意义却与FAT16有所不同,一方面它启用了FAT16中的目录项保留字段,同时又完全支持长文件名了。

本新闻共6页,当前在第4页  1  2  3  4  5  6  


(作者:佚名 编辑:admin)
延伸阅读: