本站首页
C P U 内存故障 硬盘专栏 电源故障 主板故障 声卡显卡 光储设备 网络设备 笔 记 本 显 示 器 鼠标键盘
您的位置:-> 软件基础
FAT32文件系统磁盘I/O参数揭密
相关:
作者: 来源: 时间:10月20日 08:35 提交:访问:
点击进入搜索>>>FAT32文件系统磁盘I/O参数揭密

免费提供大量有实用价值的电脑维修技巧,技术资料以及技术咨询和解答疑难
Windows 98操作系统引入了FAT32文件系统,它彻底解决了FAT16文件系统存在的诸多问题。所谓FAT32文件系统实际上就是用32位数据来描述磁盘簇的分配,而传统的磁盘管理是用16个二进制位(2个字节)来描述一个簇。从操作系统的结构上进行分析,可以知道FAT32文件系统并非仅仅简单地将FAT表转换成32位(即用4个字节来描述一个簇),而是带来了磁盘I/O参数、分区和FDT表及文件系统其它方面的变化。为了彻底了解FAT32文件系统对磁盘I/O参数的修改,本文对FAT32文件系统的结构进行了深入分析,揭示了FAT32文件系统存储和管 理文件的算法。读懂FAT32文件系统的磁盘I/O参数,不但可以掌握直接访问磁盘文件的方法,而且可以在更高层次上发挥操作系统的功能。

  FAT32文件系统对主引导扇区的改变

  主引导扇区是硬盘独有的一个磁盘控制数据存储区域,其首要功能是存储有关硬盘分区的数据,它通常位于硬盘的0磁头0柱面1扇区。由于主引导扇区存放硬盘分区的有关数据,因此又称为分区扇区。分区数据对硬盘是至关重要的,分区数据的丢失或破坏将导致硬盘上的逻辑磁盘不能被系统识别,当然也就无法访问磁盘上存储的文件和数据。

  根据对FAT32文件系统主引导扇区的分析可知,FAT32文件系统的主引导扇区在保持与FAT16文件系统主引导扇区兼容的基础上,针对FAT32文件系统的特点作了适当扩展。

  FAT32文件系统主引导扇区对分区表数据结构的扩展仅限于增加了3个标识32位分区的类型标志,这3个增加的分区类型标志分别为0BH、0CH和0EH,用于描述FAT32文件系统的三种分区情况。对于扩展分区,则增加了一个类型标志0FH,表示Windows 98操作系统扩展分区。类型标志为0BH表示分区是FAT32分区,最大分区容量可以达到2047GB;为0CH表示的意义与0BH相同,但是对于INT 13H指令使用扩展的逻辑块地址(LBA)方式;为0EH表示的意义与06H相同,但是对于INT 13H指令使用扩展的逻辑块地址(LBA)方式;为0FH表示的意义与05H相同(扩展分区),但是同样对于INT 13H指令使用扩展的逻辑块地址方式。使用扩展的逻辑块地址方式是为了支持容量超过8GB的大容量硬盘。

  由于文件系统转化为FAT32后,分区的类型标志变化为0BH、0CH和0EH,这些新的类型标志是原来FAT16文件系统所不能识别的,所以当用户使用MS-DOS操作系统的软盘启动系统后,机器不能识别硬盘的分区数据,当然也不能对硬盘的数据进行访问。

  FAT32文件系统的分区引导扇区

  在Windows 98操作系统中,当文件系统从FAT16转化为FAT32后,分区引导扇区的功能和作用并没有改变,但是考虑到FAT32文件系统的特性和为了解决FAT16文件系统存在的问题,操作系统对FAT32文件系统的分区引导扇区进行了扩展。

  1.分区引导扇区所占的扇区数从1个扇区扩展为6个扇区

  分区引导扇区的核心功能是通过磁盘读写参数加载启动操作系统的文件,为了使加载文件的操作更加灵活,加上FAT32文件系统采用"活动"的FDT表,需要对分区引导扇区的引导程序代码进行重新的设计,同时考虑到引导程序的代码量和为今后发展保留适当的余量,FAT32文件系统将分区引导扇区所占的扇区数从1个扇区扩展为6个扇区,Windows 98使用前3个扇区作为系统的分区引导扇区,其余3个扇区保留暂未使用。

  2.采用双重分区引导扇区

  根据对分区引导扇区功能和作用的研究,我们知道分区引导扇区对于操作系统的启动和磁盘文件的访问具有至关重要的作用。引导程序代码的损坏将导致操作系统不能正常启动,磁盘读写参数的破坏将造成存储在磁盘上的文件不能正常读写。

  由于分区引导扇区的重要性,FAT32文件系统借鉴了操作系统处理FAT表的经验,在磁盘上保留了两份分区引导扇区,并且在启动时操作系统可以对两份引导扇区进行比较,以便选择正确的引导扇区来引导系统。由于在磁盘正常工作过程中系统不再对引导扇区的程序和数据进行修改,因此备份的分区引导扇区损坏的可能性非常小。

  FAT32文件系统对磁盘I/O参数的扩展

  FAT32文件系统的磁盘读写参数在部分保持与FAT16文件系统磁盘读写参数兼容的基础上,为了适应FAT32文件系统的需要,对磁盘读写参数作了适当扩展,所使用的字节数也从FAT16文件系统的58个字节扩展为87个字节,FAT32文件系统的磁盘读写参数占用扇区偏移地址03H至59H的空间,各参数的具体意义如表1所示。

  另外,分区引导扇区的第2个扇区作为文件系统相关参数存储标识扇区,除了保存扇区的标识信息(RraA和rrAa)外,还在偏移地址1E8H处存储了文件系统有关的信息。其中扇区偏移地址1E8H~1EBH的4个字节存储了逻辑磁盘中未使用的簇数,通常用于快速计算逻辑磁盘的剩余空间(典型的操作是在资源管理器状态栏上列出的"可用磁盘空间"参数),而1ECH~1EFH 4个字节给出了逻辑盘中下一个可以分配给文件使用的空闲簇的簇号,这样操作系统可以不访问FAT表就直接获得磁盘剩余空间和可以分配的簇号。

  分区引导扇区的第3个扇区则存储了引导扇区的后一部分引导系统的程序代码。

 FAT32文件系统磁盘I/O参数实例

  图1列出了一个FAT32文件系统的磁盘读写参数实例,结合表1列出的I/O参数意义可以知道:该逻辑磁盘总共有2076417(1FAF01H)个扇区,为操作系统保留了51(33H)个扇区,每簇由8个扇区构成,每个磁道有63(003FH)个扇区,系统有两个互为镜像的FAT表,每个FAT表占用2028(07ECH)个扇区,FDT表的起始簇号为第2个簇(00000002H),备份的分区引导扇区存储在第6个逻辑扇区开始的存储空间,磁盘文件系统的标识号为FAT32。

图1 FAT32文件系统I/O参数实例

FAT32文件系统磁盘I/O参数揭密


(上海电脑维修61121021)(上海电脑医院导航)(上海电脑租赁)(上海电脑回收)(上海企业网络布线)(上海企业电脑维护)
免费提供大量有实用价值的电脑维修技巧,技术资料以及技术咨询和解答疑难

中国电脑维修网 www.cnfix.org