经典FAT文件系统格式详解

FAT/FAT32曾经是windows下主流文件格式,虽然FAT已经这么多年了,也见识到一些缺点,但熟悉FAT,还是对文件系统认识有很大帮助。

 

一般来说,需要具备一些前期知识:

1. 文件存在flash或硬盘里,还是一个个字节进行存储的,存储介子本身不负责具体内容。如果要对硬盘的数据进行识别,必须需要一定格式,还需要一个驱动程序进行识别。

2. 文件格式最主要作用:格式化管理,快速查找文件

 

还有几个知识点:

扇区:一般为512,最小分割单位,但不是最小管理单位。

簇:管理最小单位,一般是由多个扇区组成,有248163264几种情况。如果=16,即8K=16*512,也就是说一个文件最小也得占8K空间

DBR及保留扇区FAT16不存在)、文件分配表区(FAT1FAT2)、数据区(DATA区)。

反过来说,一个文件至少占一族,或多簇。最后一簇往往是未存满的,这样肯定会带来空间的浪费。(但也没太好办法,毕竟是要快速查找文件的)

当然,这个可以根据实际情况来设定,毕竟应用场景不一样。

 

FAT16的根目录区只有32个扇区,计算一下,每个扇区512字节,共32个扇区,而每个文件名至少要占用32个字节(后面会介绍),很显然,根目录最多只能放512个文件了。

      FAT16 这里存在致命缺陷的:

例如:我们的文件是存在根目录的,那么最多也只能存放512个文件(假设文件名又很长的话,这个数量就更小了)

 FAT32对这方面进行了优化,可以支持更多的文件数量,但格式变得复杂了,查找时也是先从前面扇区往后跳(会根据目录最后指向下一个扇区地址),所以时间上也浪费很多,搜索起来非常慢

 

FAT大体格式:

这里:FAT表有两个,一般FAT2为镜像。FAT表非常重要,一般如果文件名乱码,或一下子消失了,往往是FAT表坏掉了。

MBR:  Main Boot Record 主引导记录区

DBR:Dos Boot Record 操作系统引导记录区

 

 

以下,是我对FAT16格式注解:

FAT格式:(FAT16)

 

FAT32格式:

FAT表格式:

FAT表之后就是目录区:

 

目录区是由一个个目录项构成,类似于FAT表。其中每一个目录项占用32个字节,可以是代表长文件名目录项、文件目录项、子目录项等。对于短文件名格式的目录项,其参数的含义如1所示(不会画这种表,从别处引用了一个)</

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值