首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FAT32文件系统的存储组织结构

FAT32文件系统的存储组织结构

对磁盘的物理结构,逻辑结构和存储结构有了比较深入的了解后,我们来仔细探讨FAT32文件系统的存储组织结构。说到文件系统的组织结构,我们应该马上意识到,这指的是文件系统在同一个分区内的组织结构,在这个话题上,我们完全可以不管分区之外的所有事情。
     为了分析FAT32文件系统的存储组织结构,我们来建立一个实实在在的文件系统:将U盘插入电脑,将U盘格式化成FAT32分区格式:

以建好的U盘FAT32文件系统为基础,下面从文件系统的各个组成来分别加以介绍。
分区引导扇区DBR
用winhex打开U盘显示如下:

这是FAT32分区引导记录 ,定义如下:
偏移00H: 3字节的 跳转指令  EB 58 90,跳过下面的BPB和扩展BPB部分
偏移03H:8字节的硬盘分区类型文本字符名:4D 53 44 4F 53 35 2E 30 即: MSDOS5.0
偏移0BH: 25字节的分区参数块(BPB),细分如下:
偏移0BH:扇区字节数     00 02 即0X0200,512字节
偏移0DH:每簇扇区数    08即每簇包括8个扇区
偏移0EH:保留扇区数    24 00即保留36个扇区
偏移10H:FAT表份数    02即两个FAT表
偏移11H:未用         00 00
偏移13H:未用         00 00
偏移15H:介质类型  F8即本地硬盘
偏移16H:未用         00 00
偏移18H:每磁道扇区数   3F 00 即每磁道63扇区  
偏移1AH:磁头数     FF 00即255个磁头
偏移1CH:隐藏扇区数    80 1F即8064个隐藏扇区
偏移20H:磁盘总扇区数 80 F0 77 00即总共7860352个扇区(7860352*512=4024500224,因为我的U盘是4G)
偏移24H:52字节的扩展分区参数块(扩展BPB),细分如下:
偏移24H:FAT表占用扇区数  EE 1D  00 00即FAT表占7662个扇区
偏移28H:未用  00 00 00 00
偏移2CH:根目录入口簇号 02 00 00 00即根目录从02号簇开始
偏移30H:文件系统信息扇区号  01 00即扇区1
偏移32H:备份引导扇区的位置 06 00即6号扇区(第7个扇区),从WINHEX中我们也可以看到,6号扇区的内容和0号引导扇区内容     是 一样的
偏移34H:未用         00 00 00 00 00 00 00 00 00 00 00 00
偏移40H:物理磁盘号  00
偏移41H:未用  00
偏移42H:扩展引导标志 29即0X29
偏移43H:磁盘序列号F1 2A 27 04通常为一随机数
偏移47H:卷标ASCII 4E 4F 20 4E 41 4D 45 20 20 20 20 即NO NAME
偏移52H:文件系统格式ASCII  46 41 54 33 32 20 20 20即FAT32
偏移5AH:分区引导代码 420字节:
                      33C98ED1BCF47B8EC18ED9BD007C884E028A5640B408CD137305B9FFFF8AF166
                      0FB6C640660FB6D180E23FF7E286CDC0ED0641660FB7C966F7E1668946F8837E1
                      6007538837E2A007732668B461C6683C00CBB0080B90100E82B00E94803A0FA7DB
                      47D8BF0AC84C074173CFF7409B40EBB0700CD10EBEEA0FB7DEBE5A0F97DEBE0
                      98CD16CD196660663B46F80F824A00666A0066500653666810000100807E02000F8
                      52000B441BBAA558A5640CD130F821C0081FB55AA0F851400F6C1010F840D00FE4
                      602B4428A56408BF4CD13B0F96658665866586658EB2A6633D2660FB74E1866F7F1
                      FEC28ACA668BD066C1EA10F7761A86D68A56408AE8C0E4060ACCB80102CD13666
                      10F8254FF81C300026640490F8571FFC34E544C445220202020202000000000000000
                      00000000000000000000000000000000000000000000000000000000000000000000000
                      00000000000000D0A52656D6F7665206469736B73206F72206F74686572206D656469
                      612EFF0D0A4469736B206572726F72FF0D0A507265737320616E79206B657920746F2
                      0726573746172740D0A0000000000ACCBD80000
偏移1FEH:有效扇区结束标志 55 AA
到此分区引导扇区介绍结束。
文件分配表FAT
简介:
     FAT表(文件分配表),是FAT文件系统中用于磁盘数据索引和定位而引进的一种链式结构。在FAT文件系统中,文件的存储依照FAT表制定的簇链式数据结构来进行。同时,FAT文件系统将组织数据时使用的目录也抽象为文件,以简化对数据的管理。
FAT1表位置的定位:
     在我们前面介绍分区引导记录的时候提到,在偏移0EH处存储了保留扇区的个数,这个保留扇区数指的就是当前分区内DBR到FAT表之间的所有扇区的个数(包括DBR但不包括FAT表)。因此,我们可以定位FAT表所在的起始偏移位置了,即24H*200H=4800H。我们贴出4800H处得部分内容如下:

     显然没有错,这就是我们FAT1所存储的位置,只是当前没有存储文件,所以FAT比较简单罢了。
FAT2表位置的定位:
继承事业,薪火相传
返回列表