FAT12文件系统总结

举报
程序员历小冰 发表于 2021/08/27 22:22:15 2021/08/27
【摘要】 一、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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。