FAT12文件系统总结



一、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,表示它是一个坏簇


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值