1.磁盘数据组织结构的区别
总体上FAT32与FAT16文件系统变化不大,文件系统仍然将逻辑盘的空间划分为DBR引导区(BOOT区)、文件分配表(FAT)、根目录表(FDT)和数据区(DATA区)。但有以下区别:
·FAT16只有一个DBR,且只占用逻辑0扇区;FAT32中的DBR多了一个副本,分别起始于逻辑0扇区(xx柱、0头、1扇区)和逻辑6扇区(xx柱、0头、7扇区)。
·FAT32在DBR副本和FAT1之间有保留扇区;FAT16没有保留扇区。
·FAT16文件系统中的FAT1从逻辑0扇区(yy柱、1头、1扇区)开始;FAT32文件系统中的FAT1从逻辑32扇区(yy柱、1头、33扇区)开始。
两个文件系统的数据组织结构示意图如图6-13
图6-13 文件系统的数据组织结构示意图
2.DBR结构的区别
FAT32中的DBR不仅多了一个副本,而且从偏移量0BH开始的BPB参数及一些相关地址的表示方法也有区别。如表6-15所示
表6-15 FAT16和FAT32文件系统的DBR中相关地址参数分配表
偏移量 | 字节数 | FAT16 | FAT32 |
0B--0CH | 2 | 每个扇区的字节数 | 每个扇区的字节数 |
0DH | 1 | 每簇的扇区数 | 每簇的扇区数 |
0E--0FH | 2 | 保留扇区数 | 保留扇区数 |
10H | 1 | FAT个数 | FAT个数 |
11--12H | 2 | 根目录登记项个数 | |
13--14H | 2 | 磁盘总扇区数 | |
15H | 1 | 磁介质类型说明符 | 磁介质类型说明符 |
16--17H | 2 | 每个FAT表的扇区数 | |
18--19H | 2 | 每个磁道的扇区数 | 每个磁道的扇区数 |
1A--1BH | 2 | 磁头的个数 | 磁头的个数 |
1C--1FH | 4 | 当前分区前隐含扇区数 | 当前分区前隐含扇区数 |
20--23H | 4 | 逻辑盘总扇区数 | |
24--25H | 2 | 每个FAT表的扇区数 | |
27--2AH | 4 | FAT16格式磁盘系列号 | |
2B--35H | 11 | FAT16卷标名 | |
36--3AH | 5 | FAT16磁盘格式标志 | |
43--46H | 4 | FAT32格式磁盘系列号 | |
47--51H | 11 | FAT32卷标名 | |
52--56H | 5 | FAT32磁盘格式标志 |
3.FAT表的区别
与FAT16类似,FAT32仍然保存了两个相同的FAT文件分配表。
·FAT16系统簇号用16位二进制数表示,从0002H到FFEFH个可用簇号(FFF0H到FFFFH另有定义,用来表示坏簇,文件结束簇等),允许每一逻辑盘的数据区最多不超过FFEDH(65518)个簇。
·FAT32系统簇号改用32位二进制数表示,大致从00000002H到FFFFFEFFH个可用簇号。每簇的使用情况用32位二进制填写:
未被分配的簇——零
坏簇 ——特定值
已分配的簇 ——非零值(文件的最后一簇为FFFFFF0FH)
文件系统对数据区的存储空间是按簇进行划分和管理的,簇是空间分配和回收的基本单位,即一个文件总是占用若干个整簇。文件所使用的最后一簇所剩余的空间就不再使用,而是浪费掉了。从表6-16中可以看出,在相同容量的硬盘逻辑分区中采用FAT32簇比采用FAT16簇小很多,大大减少了空间的浪费。
表6-16 FAT16、FAT32模式下逻辑盘容量与簇大小的关系
FAT16 | FAT32 | ||
逻辑盘容量 | 每簇扇区数 | 逻辑盘容量 | 每簇扇区数 |
16--128MB | 4 | <260MB | 1 |
128--256MB | 8 | 260--8GB | 8 |
256--512MB | 16 | 8--16GB | 16 |
512--1024MB | 32 | 16--32GB | 32 |
1024--2048MB | 64 | >32GB | 64 |
4.FDT表及目录项的区别
(1)FAT16文件系统的根目录区的FDT作为系统区的一部分,它是固定区域、固定大小的。它是从FAT表区之后紧接着的32个扇区,最多保存512个目录项。
FAT32中的根FDT不再是固定的区域、固定的大小。它采用与子目录FDT相同的管理方式,根目录下的文件数目不再受最多512的限制。但一个目录项仍然占32个字节,可以是文件目录项、子目录项、卷标项(仅根目录有)、已删除目录项、长文件名目录项等。
(2)FAT16的目录项在表6-6中已经给出了详细的说明。在FAT32目录项中原来在FAT16下保留未用的10个字节都有了新的定义,全部32字节的定义如表6-17所示。
字节位置 | FAT16 | FAT32 |
0--7字节 | 表示文件名 | 表示文件名 |
8--10字节 | 表示文件的扩展名 | 表示文件的扩展名 |
11字节 | 文件的属性 | 文件的属性 |
12--13字节 | 保留未用 | 仅长文件名目录项用,存储其对应的短文件名目录字节校验和等 |
14--15字节 | 文件建立时间 | |
16--17字节 | 文件建立日期 | |
18--19字节 | 文件最新访问日期 | |
20--21字节 | 文件首簇号的高16位 | |
22--23字节 | 文件的创建时间 | 文件最新修改时间 |
24--25字节 | 文件的创建日期 | 文件最新修改日期 |
26--27字节 | 文件的首簇号 | 文件首簇号的低16位 |
28--31字节 | 文件的大小 | 文件的大小(字节) |
表6-17 FAT16和FAT32的文件目录项内容及含义表
对表6-17中文件目录项的几个参数值,例如“文件建立时间”、“文件建立日期”以及第11字节的文件属性等参数的表示方法,均可参阅6-6后的说明。