原创 FAT32与FAT16文件系统的区别

2010-1-4 14:06 3667 7 7 分类: MCU/ 嵌入式

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />



1.磁盘数据组织结构的区别


总体上FAT32FAT16文件系统变化不大,文件系统仍然将逻辑盘的空间划分为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
                  <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


                                6-13 文件系统的数据组织结构示意图
2.DBR结构的区别
FAT32
中的DBR不仅多了一个副本,而且从偏移量0BH开始的BPB参数及一些相关地址的表示方法也有区别。如表6-15所示
                     
6-15 FAT16FAT32文件系统的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


每个磁道的扇区数


每个磁道的扇区数


<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />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位二进制数表示,从0002HFFEFH个可用簇号(FFF0HFFFFH另有定义,用来表示坏簇,文件结束簇等),允许每一逻辑盘的数据区最多不超过FFEDH65518)个簇。
·FAT32
系统簇号改用32位二进制数表示,大致从00000002HFFFFFEFFH个可用簇号。每簇的使用情况用32位二进制填写:
未被分配的簇——
坏簇 ——特定值
已分配的簇 ——非零值(文件的最后一簇为FFFFFF0FH
文件系统对数据区的存储空间是按簇进行划分和管理的,簇是空间分配和回收的基本单位,即一个文件总是占用若干个整簇。文件所使用的最后一簇所剩余的空间就不再使用,而是浪费掉了。从表6-16中可以看出,在相同容量的硬盘逻辑分区中采用FAT32簇比采用FAT16簇小很多,大大减少了空间的浪费。
          表6-16 FAT16FAT32模式下逻辑盘容量与簇大小的关系



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 FAT16FAT32的文件目录项内容及含义表
对表6-17中文件目录项的几个参数值,例如文件建立时间文件建立日期以及第11字节的文件属性等参数的表示方法,均可参阅6-6后的说明。


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /3 下一条