FAT32与FAT16文件系统的结构差异
FAT32与FAT16文件系统的结构差异
第18卷第2期2003年6月
文章编号:167121742(2003)0220144206
成 都 信 息 工 程 学 院 学 报
JOURNALOFCHENGDUUNIVERSITYOFINFORMATIONTECHNOLOGYVol.18No.2
Jun.2003
FAT32与FAT16文件系统的结构差异
陈代军
(成都信息工程学院,四川成都610041)
摘要:详细介绍了FAT32和FAT16在数据组织结构上的差异,并着重讨论了这两个文件系统在不同数据组织结构上的功能区别和技术要点。
关 键 词:文件系统;数据;组织结构中图分类号:TP315 文献标识码:B
FAT文件系统是微型计算机中使用最广泛的一个文件管理系统,但微软公司并没有正式公开该系统的一些
技术细节,迄今也少有资料详细介绍该文件系统中FAT16和FAT32。我们通过对各类磁盘上FAT16和FAT32文件系统数据结构的分析,,对工程技
术人员进行微型计算机的系统开发、1 磁盘数据组织结构的区别
从Windows95FAT32文件系统,它是对早期DOS的FAT16文件系统的增强,由于文件系统的核心(FAT)由16位扩充为32位,所以称为FAT32文件系统。
在硬盘的逻辑分区超过2GB时使用FAT32文件系统,会更高效地存储数据,减少硬盘空间的浪费。因此FAT32文件系统是使用大容量硬盘存储文件的极有效的系统。
FAT32与FAT16文件系统的数据组结构如图1所示。总体上两个文件系统变化不大,仍然将逻辑盘的空间划分为DBR引导区(BOOT区)、文件分配表(FAT)、根目录表(FDT)和数据区(DATA区)。但有以下区别:
(1)FAT16只有一个DBR,且只占用逻辑0扇区;FAT32中的DBR多了一个副本,分别起始于逻辑0扇区(xx柱、0头、1扇区)和逻辑6扇区(xx柱、0头、7扇区)。
(2)FAT32在DBR副本和FAT1之间有保留扇区;FAT16没有保留扇区。
(3)FAT16文件系统中的FAT1从逻辑0扇区(yy柱、1头、1扇区)开始;FAT32文件系统中的FAT1从逻辑32
扇区(yy柱、1头、33扇区)开始
。
图1 文件系统的数据组织结构示意图
收稿日期:2002209202;修订日期:2002209227
FAT32与FAT16文件系统的结构差异
第2期 陈代军:FAT32与FAT16文件系统的结构差异145
2 DBR结构的区别
FAT32中的DBR不仅多了一个副本,而且从偏移量0BH开始的BPB参数及一些相关地址的表示方法也有区别。如表1所示。
表1 FAT16和FAT32文件系统中的DBR中相关地址参数分配表
偏移量
0B~0CH
0DH0E~0FH10H11~12H13~14H15H16~17H18~19H1A~1BH1C~1FH20~23H24~25H27~2AH2B~35H36~3AH43~47~52~56H
字节数
2121221222442411115
FAT16FAT32
每个扇区的字节数每簇的扇区数保留扇区数FAT个数
根目录登记项个数磁盘总扇区数磁介质类型说明符每个FAT表的扇区数每个磁道的扇区数磁头的个数
当前分区前隐含扇区数
每个扇区的字节数每簇的扇区数保留扇区数FAT个数
磁介质类型说明符每个磁道的扇区数表的扇区数
FAT16FAT32格式磁盘系列号FAT32卷标名FAT32磁盘格式标志
3 FAT表的区别
与FAT16类似,FAT32仍然保存了2个相同的FAT文件分配表。
FAT16系统簇号用16位二进制数表示,从0002H到FFEFH个可用簇号(FFF0H到FFFFH另有定义,用来表示坏簇,文件结束簇等),允许每一逻辑盘的数据区最多不超过FFEDH(65518)个簇。
FAT32系统簇号改用32位二进制数表示,大致从00000002H到FFFFFEFFH个可用簇号。每簇的使用情况用32位二进制填写:
未被分配的簇———零;坏簇———特定值;已分配的簇———非零值(文件的最后一簇为FFFFFF0FH)。
文件系统对数据区的存储空间是按簇进行划分和管理的,簇是空间分配和回收的基本单位,即一个文件总是占用若干个整簇。文件使用的最后一簇所剩余的空间就不再使用,而是浪费掉了。从表2中可以看出,在相同
表2 FAT16,FAT32模式下逻辑盘容量与簇大小的关系
FAT16
FAT32
逻辑盘容量
16~128MB128~256MB256~512MB512~1024MB1024~2048MB
每簇扇区数
48163264
逻辑盘容量
<260MB260MB~8GB8~16GB16~32GB>32GB
每簇扇区数
18163264
FAT32与FAT16文件系统的结构差异
146成 都 信 息 工 程 学 院 学 报 第18卷
容量的硬盘逻辑分区中采用FAT32的簇比采用FAT16的簇小很多,大大减少了空间的浪费。
4 FDT表及目录项的区别
(1)FAT16文件系统的根目录区的FDT作为系统区的一部分,它是固定区域、固定大小的。它是FAT表区之
后紧接着的32个扇区,最多保存512个目录项。
FAT32中的根FDT不再是固定区域、固定大小。它采用与子目录FDT相同的管理方式,根目录下的文件数目不再受最多512的限制。但一个目录项仍然占32字节,可以是文件目录项、子目录项、卷标项(仅根目录有)、已删除目录项、长文件名目录项等。
(2)在FAT32目录项中原来在FAT16下保留未用的10个字节都有了新的定义,全部32字节的定义如表3所示。
表3 FAT16和FAT32的文件目录项内容及含义表
字节位置
0~7字节8~10字节11字节12~13字节14~15字节16~17字节18~19字节20~21字节22~23字节24~2526~27字节28~31字节
FAT16
FAT32
表示文件名
表示文件的扩展名文件的属性保留未用保留未用保留未用保留未用文件的大小(字节)表示文件名
表示文件的扩展名文件的属性
,16位文件最新修改时间文件最新修改日期文件首簇号的低16位文件的大小(字节)
FAT文件系统对每个文件来说其数据结构是一个单项簇链表,而文件在文件目录表FDT中占一个文件目录项,每个文件的首簇号就存放在该文件的目录项中,一个文件目录项占32个字节。对FDT中一个文件目录项的几个参数值作如下说明:
(1)文件名
FAT16文件系统中,FDT的文件目录项中第0~7字节为文件名(若有剩余字节则用空白符20H填充)。其中,第1字节又表明了该文件的状态,它有如下3种取值方式:
00H———目录项的空表目。E5H———该目录项曾经使用过,但文件已被删除。2EH———该项为子目录项。其它任何字符———一个文件名(或子目录名)的第一个字符的ASCII码值。(2)文件属性
第11字节为文件属性字节,按位规定如下:
b7
b6
b5
b4
b3
b2
b1
b0
未用未用归档子目录卷标系统隐含只读
第11字节的文件属性的值可以组合使用。例如,MS-DOS的2个系统隐含文件(IO.SYS、MSDOS.SYS)可被标志为只读、隐含和系统文件,则该字节的值为07H;如果再和归档位一起使用,则属性字节的值应为27H。所用,如果我们用DEBUG调出FDT表,就可以看到文件IO.SYS和MSDOS.SYS2个文件的目录项中的第11字节的值是27H。
(3)文件创建(修改)时间
FAT32与FAT16文件系统的结构差异
第2期 陈代军:FAT32与FAT16文件系统的结构差异(第22字节0~4位)———以2秒为增量的二进制数(23字节0~2位)+(22字节5~7位)———分钟(第23字节3~7位)———小时(4)文件创建(修改)日期
(第24字节0~4位)———日期1~31(25字节0位)+(24字节5~7位)———月份1~12(第25字节1~7位)———年号0~119(1980~2099)(5)文件首簇 …… 此处隐藏:4556字,全部文档内容请下载后查看。喜欢就下载吧 ……
- 基于PLC控制的航空电镀生产线自动输送
- 中考预测课内外文言文对比阅读2
- 2018-2023年中国商业智能(BI)产业市场
- 中国金融体制改革研究2011new
- 外窗淋水试验方案
- 精益生产(Lean Production)
- 学校安全事故处置和信息报送制度
- Chapter 5 Human Resources Management
- 【小学数学】人教版小学六年级上册数学
- 初中数学解题方法与技巧
- 山东省创伤中心建设与管理指导原则(试
- 函数与数列的极限的强化练习题答案
- 10分钟淋巴按摩消脂
- 网络应急演练预案
- 服装设计入门基础知识
- 初二数学分式计算题练习
- (人教新课标)高二数学必修5第二章 数列
- 最新自主创业项目
- 北京大学 无机化学课件 4第4章 配合物
- 贸易公司业务管理制度




