FAT文件系统原理详细介绍.docx

FAT文件系统原理详细介绍.docx

ID:51688602

大小:49.39 KB

页数:7页

时间:2020-03-15

FAT文件系统原理详细介绍.docx_第1页
FAT文件系统原理详细介绍.docx_第2页
FAT文件系统原理详细介绍.docx_第3页
FAT文件系统原理详细介绍.docx_第4页
FAT文件系统原理详细介绍.docx_第5页
资源描述:

《FAT文件系统原理详细介绍.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、FAT文件系统原理详细介绍2012-03-2923:09 434人阅读 评论(0) 收藏 举报磁盘数据结构byteextension存储dateFAT文件起源于70年代末80年代初,用于微软的MS-DOS操作系统。它开始被设计成一个简单的文件系统用于小于500K的软件盘。后来被功能被大大增强用于支持越来越大的媒质。现在的文件系统有FAT12,FAT16和FAT32三种子类。FAT12是最早的一版,主要用于软盘,它对簇的编址采用12bit宽度的数,所以称为FAT12。12bit的地址可以寻址4096个簇,事实上在FAT12中只能寻址4078个簇(在Linux下可寻址408

2、4个簇),有一些簇号是不能用的,在后面会给出具体的说明。磁盘的扇区是用16bit的数进行计算的,所以磁盘的容量就被局限在32M空间之内。在FAT16中,采用了16bit宽的簇地址,32bit宽扇区地址。虽然32bit的扇区地址可以寻址2^32*512,约2个TB的容量,但于由规定每簇最大的容量不超过1024*32,所以FAT16文件系统的容量也就限制到了2^16*1024*32,大约2.1GB的空量,并且实际还达不到这个值。FAT32文件系统使用了32bit宽的簇地址,所以称为FAT32。但在微软件的文件系统中只使用了低28位,最大容量为2^28*1024*32,约8.

3、7TB的空量。有的人认为32bit全用,最大容量为2^32*1024*32,这种说法是不正确的。虽然FAT32具有容纳近乎8.7TB的容量,但实际应用中通常不使用超过32GB的FAT32分区。WIN2000及之上的OS已经不直接支持对超过32GB的分区格式化成FAT32,但WIN98依然可以格式化大到127GB的FAT32分区,但不推荐这样做。下面是一个FAT分区的构成概况引导扇区其他保留扇区(可选)FAT表1FAT表2根目录区(仅FAT12/16)数据区(用于文件和目录)需要说明的是:1.引导扇区和其他保留扇区一起称为保留扇区,而其他保留扇区是可选的,当没有时候,引导

4、扇区后紧跟的就是FAT表12.根目录区是仅FAT12/16才有,FAT32的目录项位于数据区。由于FAT12/16的根目录区是一个固定的区域,所以它的根目录的项数是有限制的,意即不能在根录建立超过这个定数的目录项数。(一)引导扇区与BPBBPB(BIOSParametreBlock)是FAT文件系统中第一个重要的数据结构,它位于该FAT分区的第一个扇区,同时也属于FAT文件系统基本区域的保留区,        在下面的描述中。凡名称以BPB_开头的都是BPB的一部分,凡名称与BS_开头的项都是启动扇区的一部分,而不是属于BPB的内容,以下是启动扇区的结构 offset(

5、byte)长度(byte)描述BS_jmpBoot0x003跳转指令,指向启动代码BS_OEMName0x038建议值为“MSWIN4.1”。有些厂商的FAT驱动可能会检测此项,所以设为“MSWIN4.1”可以尽量避免兼容性的问题BPB_BytsPerSec0x0b2每扇区的字节数,取值只能是以下几种:512,1024,2048或是4096。设为512会取得最好的兼容性,目前有很多FAT代码都是硬性规定每扇区的字节数为512,而不是实际的检测此值。但微软的操作系统能够很好支持1024,2048或是4096BPB_SecPerClus0x0d1每簇的扇区数,其值必须中2的

6、整数次方(该整数必须>=0),同时还要保证每簇的字节数不能超过32K,也就是1024*32字节BPB_RsvdSecCnt0x0e2保留扇区的数目,此域不能为0,FAT12/FAT16必须为1,FAT32的典型值取为32,,微软的系统支持任何非0值BPB_BumFATs0x101分区中FAT表的份数,,任何FAT格式都建议为2BPB_RootEntCnt0x112对于FAT12和FAT16此域包含根目录中目录的个数(每项长度为32bytes),对于FAT32,此项必须为0。对于FAT12和FAT16,此数乘以32必为BPB_BytesPerSec的偶数倍,为了达到更好的

7、兼容性,FAT12和FAT16都应该取值为512BPB_ToSec160x132早期版本中16bit的总扇区,这里总扇区数包括FAT卷上四个基本分区的全部扇区,此域可以为0,若此域为0,那么BPB_ToSec32必须为0,对于FAT32,此域必为0。对于FAT12/FAT16,此域填写总扇区数,如果该值小于0x10000的话,BPB_ToSec32必须为0BPB_Media0x151对于“固定”(不可移动)存储介质而言,0xF8是标准值,对于可移动存储介质,经常使用的数值是0xF0,此域合法的取值可以取0xF0,0xF8,0xF9,0xF

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。