FAT12文件系统总结
【摘要】
一、FAT12 文件系统(12位文件分配表)
(文件系统):逻辑层,不关心物理的存储位置,将数据快抽象成线性的可随机访问的,从0开始的数组
二、层次:
扇区:&n...
一、FAT12 文件系统(12位文件分配表)
(文件系统):逻辑层,不关心物理的存储位置,将数据快抽象成线性的可随机访问的,从0开始的数组
二、层次:
扇区: 最小单元,512字节
引导扇区(0扇区) BPB(BISO Paremeter Block
簇: 数据区存储文件数据的基本单位,包含一个或多个扇区,2的n次方个FAT12中一簇等于一个扇区
分区:整个文件系统
三、具体结构
数据区(长度非固定)
根目录区(长度非固定,需计算)
FAT2 10~19扇区
FAT1 1~10扇区
引导扇区 0扇区
四、FAT引导扇区的格式:
五、根目录的偏移数的计算:
根目录=(RsvdSecCnt+NumFATs*FATSz)*BytsPerSec,便可以得出其位置,转成0x格式
boot区所占扇区+FAT表项个数×每个FAT的扇区数)×一个扇区的字节数
根目录区中每一个条目为32字节。所以根目录大小为:BPB_RootEntCnt(根目录文件最大数)*32字节

DIR_Attr 为0x10为目录 0x20为文件
六、数据区:
数据区的第一个簇的簇号是2,而不是0或者1
数据区开始扇区号 = 根目录区开始扇区号 + 根目录所占扇区数
若为目录,则格式与根目录项的格式一样。
七、FAT文件分配表:
FAT有2个,FAT2是FAT1的备份
文件分配表被划分为紧密排列的若干个表项,每个表项都与数据区中的一个簇相对应,而且表项的序号也是与簇号一一对应的。
每12位成为一个FAT项(FATEntry),代表一个簇。所以2个FAT项会占用3个字节
FAT项的值代表文件的下一个簇号 值大于或等于0xFF8,表示当前簇已经是本文件的最后一个簇 值为0xFF7,表示它是一个坏簇
文章来源: blog.csdn.net,作者:程序员历小冰,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/u012422440/article/details/25302809
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)