FAT12文件系统系统介绍 - FAT12文件系统.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FAT12文件系统系统介绍 - FAT12文件系统

FAT12文件系统 简介 FAT12是第一个FAT(File Allocation Table)文件系统 软盘各组成部分作用如下: 读写槽:供驱动器中磁头从盘片上读写信息。 写保护口:为保护磁盘上的重要信息不被篡改,可打开保护口,这是,CPU只能从磁盘上读取信息到内存,无法写入信息。 中心孔:卡住盘片与主轴一起转动。 磁道:许多同心圆轨迹称为磁道,信息被记录在磁道上。对于高密度盘每面分成80条磁道,编号0~79,最外面是0道,最里面是79道。 扇区:高密度磁盘每条磁道分成18个扇形区域,每个扇区存放512字节信息。 3.5英寸高密度磁盘容量 = 2(面)× 80(磁道)× 18(扇区)× 512(字节)= 1.44MB FAT12文件系统结构 下面以一个根目录文件数为224的1.44MB软盘为例来说明FAT12文件系统结构。FAT12文件系统由引导扇区,两个相同的FAT表,根目录区和数据区组成。如图2所示。 由BIOS中断int0x13的参数可知我们读取软盘时,使用磁头号(0和1),柱面号(磁道号0~79),磁道扇区号(1~18)来读取软盘的内容,而文件系统使用绝对扇区号来访问磁盘,因此还要做一些必要的转换工作。其公式见图3,对应关系见表1。 绝对扇区号 0 1 2 3 ... 17 18 19 20 ... 磁头号 0 0 0 0 ... 0 1 1 1 ... 柱面号 0 0 0 0 ... 0 0 0 0 ... 磁道扇区号 1 2 3 4 ... 18 1 2 3 ... 其中:图3中右移一位等同于除2,与1等同于判断奇偶,因为磁道扇区号从1开始计数所以需要加1操作。 引导扇区 软盘的第0个扇区,其中包括了一个非常重要的数据结构BPB(BIOS Parameter Block),引导扇区格式如表2所示,其中BPB_开头的域属于BPB,以BS_开头的域不属于BPB,只是引导扇区(Boot Sector)的一部分。 名称 偏移 长度 内容 值 BS_jmpBoot 0 3 一个短跳指令 这里的nop不可少 jmp START nop BS_OEMName 3 8 厂商名 OEMName BPB_BytsPerSec 11 2 每扇区字节数(Bytes / Sector) 0x200 BPB_SecPerClus 13 1 每簇扇区数(Sector / Cluster) 0x1 BPB_RsvdSecCnt 14 2 Boot记录占用多少扇区 0x1 BPB_NumFATs 16 1 共有多少FAT表 0x2 BPB_RootEntCnt 17 2 根目录文件数最大值 0xE0 BPB_TotSec16 19 2 扇区总数 0xB40 BPB_Media 21 1 介质描述符 0xF0 BPB_FATSize16 22 2 每面扇区数 0x9 BPB_SecPerTrk 24 2 每磁道扇区数 0x12 BPB_NumHeads 26 2 磁头数(面数) 0x2 BPB_HiddSec 28 4 隐藏扇区数 0 BPB_TotSec32 32 4 如TotSec16是0,由他记录扇区数 0 BS_DrvNum 36 1 int13的驱动器号 0 BS_Reserved 37 1 保留 0 BS_BootSig 28 1 扩展引导标记(0x29) 0x29 BS_VolID 39 4 卷序列号 0 BS_VolLab 43 11 卷标 VolLab BS_FileSysType 54 8 文件系统类型 FAT12 引导代码及其他 62 448 引导代码和其他填充字符 引导代码 结束标志0xAA55 510 2 第510字节为0x55,第511字节为0xAA 0xAA55 FAT表 用来存储FAT项(FAT Entry),位于软盘的1~18扇区,FAT表共有两个,FAT2可以看做是FAT1的备份,他们通常是一样的。 FAT项(FAT Entry) 一个FAT项由12个位来表示,保存在FAT表中。一个FAT项代表一个簇,第0个和第1个FAT项从不使用,从第2个FAT项开始表示数据区的第一个簇。FAT项的值代表文件的下一个簇号,如果其值大于或等于0xFF8,则表示当前簇已经是该文件的最后一个簇了,如果其值为0xFF7,则表示她是一个坏簇。FAT项存储方式见图4。 BYTE5高4位 BYTE5低4位 BYTE4高4位 BYTE4低4位 BYTE3高4位 BYTE3低4位 BYTE2高4位 BYTE2低4位 BYTE1高4位 BYTE1低4位 BYTE0高4位 BYTE0低4位 读取FAT项的方法:有FAT项号x ,FAT项所在偏移地址y,可

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档