FAT32文件系统研究2-FAT表结构

本文深入解析FAT文件系统,阐述FAT表的作用、结构及工作原理。了解FAT12、FAT16、FAT32的区别,掌握族链、簇号链等概念,洞悉FAT项值的含义,以及FAT表如何管理磁盘空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FAT表作用

FAT文件系统将空间按族为单位划分为一个个格子。
FAT即文件系统分配表,它是记录FAT文件系统空间使用情况的一张表。FAT记录了格子的使用情况,每个文件所处格子的位置等信息。同时FAT表可以存储每个格子的状态。

FAT详细信息

  1. 1.FAT1跟在DBR之后,FAT2跟在FAT1之后中间没有空的扇区。现在来看这个也是一个弊端。一般磁盘物理损坏都是一大片连续的损坏的,因此很可能FAT1坏了,FAT2也一起夭折。
  2. FAT表由FAT表项构成的,我们把FAT表项简称为FAT项。每个FAT项的大小有12位,16位,32位,三种情况,对应的分别FAT12,FAT16,FAT32文件系统
  3. 每个FAT项都有一个固定的编号,这个编号是从0开始。
  4. FAT文件系统一般有两份FAT,它们由格式化程序对分区进行格式化的时候创建,FAT1是活动FAT,FAT2是备份FAT。
  5. FAT表的前两个FAT项有专门的用途:0号FAT项通常用来存放分区所在的介质类型,例如硬盘的介质类型为“F8”,那么硬盘上分区FAT表第一个FAT项就是以“F8”开始,1号FAT项则用来存储文件系统的肮脏标志,表明文件系统被非法卸载或者磁盘表面存在错误。
  6. 分区的数据区每一个簇都会映射到FAT表中的唯一一个FAT项。因为0号FAT项与1号FAT项已经被系统占用,无法与数据区的族形成映射,所以从2号FAT项开始跟数据区中的第一个簇映射,正因为如此,数据区中的第一个族的编号为2,这也是没有0号簇与1号簇的原因,然后3号簇与3号FAT项映射,4号簇与4号FAT项映射
  7. FAT文件系统使用“族链”的数据结构来保存一个文件信息。也就是说,FAT文件系统里面的文件不是连续存储的。很可能是很多个族连接起来的,其连接方式用链表的数据结构形式。
  8. 分区格式化后,用户文件以簇为单位存放在数据区中,一个文件至少占用一个簇。当一个文件占用多个簇时,这些族的簇号不一定是连续的,但这些簇号在存储该文件时就确定了顺序,即每一个文件都有其特定的“簇号链”。在分区上的每一个可用的簇在FAT中有且只有一个映射FAT项,通过在对应簇号的FAT项内填入“FAT项值”来表明数据区中的该簇是已占用,空闲或者是坏簇三种状态之一。

FAT表中每个FAT项可取的表项值及其含义

FAT项值(FAT12)FAT项值(FAT16)FAT项值(FAT32)含义
000H0000H00000000H未使用的簇
002H – FEFH0002H - FFEFH00000002H – 0FFFFFFEH一个已分配的族号
FF0H – FF6HFFF0H – FFF6H0FFFFFF0H – 0FFFFFF6H保留
FF7HFFF7H0FFFFFF7H坏簇
FF8H - FFFHFFF8H - FFFFH0FFFFFF8H – 0FFFFFFFH文件结束簇

对于标记为坏族的,文件系统以后就不会去使用。这个也是简单屏蔽坏道的一个原理。

  1. FAT16文件系统的FAT项是16位的,也就是说每个FAT项占2字节。16位的FAT项最多可管理65535个簇。在Windows 2000系统之前簇最大为64个扇区,这样,采用16位FAT的系统最多只能管理32 * 65535 约于 2G的分区。现在簇大小可以达到128个扇区,这样FAT16就可以管理4G的分区了。
    10.FAT表的大小是不固定的,其会根据分区大小,族大小,在格式化的时候预留好这部分空间。

族:族是文件系统管理空间的一个单位,在格式化的时候,就制定了族的大小,如图所示。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值