FAT 文件系统 布局结构/属性 概念

FAT 文件系统概念

首先我们知道,我们如果想使用一个磁盘进行安装系统,存储数据,首先要对该磁盘进行分区(对磁盘依据某种类型的分区体系进行磁盘空间布局,如DOS 分区体系、Apple 分区体系等), 当磁盘依据合适的分区体系划分布置了磁盘内空间分区布局,我们需要按照去求针对各个分区进行格式化(格式化为一些文件系统类型,例如 NTFS、FAT32 、HFS+、UFS 等),只有当一个磁盘使用某分区体系进行分区并且对分区进行了(文件系统类型的)格式化,才可以存放数据。

FAT 发展史

FAT(File Allocation Table)文件分配表, FAT 文件系统格式是Windows 操作系统所使用的一种文件系统, 发展经历了 FAT12 、FAT16 、FAT32 三个阶段。FAT名称的由来是因为FAT 文件系统使用“文件分配表”描述文件系统内的数据存储单元状态以及文件内容的前后连接关系。 后来Microsoft 又推出了exFAT 格式,支持超大容量存储。

FAT 的数据存储单元

FAT 文件系统的数据存储单元称为“簇”。簇的标准大小范围: 一个“簇”由一组连续的扇区组成,簇所包含的扇区个数必须是 2 的整数次幂, 如: 1、2、4、8、16、32 或 64 。 “簇” 的最大值为64个扇区,即32kb 。簇的标号规则: 所有的“簇” 从“2”开始进行编号,每个“簇”都有一个自己的地址编号 (也称为“逻辑文件地址”);用户文件和内容都存储在 “簇” 中。注意:不仅是FAT 文件系统使用 “簇” 作为存储单元, Windows 的 NTFS 文件系统也使用 “簇” 作为数据存储单元,不同的是 FAT 文件系统中的“簇”的编号从“2”开始 ; 而NTFS 内的“簇”标号从“0” 开始。

FAT 文件系统的数据结构类型

FAT 文件系统的数据结构类型比较少, 其中两种最重要的结构是: 文件分配表 和 目录项。

** 文件分配表FAT:** 描述文件系统内的 “簇”的状态 以及 文件内容的前后连续关系(假若一个文件需要占用一个以上的簇,那么FAT表描述如何找到另外的“簇”); FAT 用于指明文件内容所占用的簇的前后连续关系(找到所占用的其他簇),并且说明了簇的分配状态。FAT12/16/32 三个阶段的FAT 文件系统的主要区别在于FAT 项的大小不同。
目录项: FAT 文件系统内的每个文件和文件夹都被分配一个目录项, 这个目录项中记录了该文件或文件夹的,文件名、大小、创建时间、文件内容起始地址以及其他一些“元数据”,说明对应的文件的“起始簇号”。

总结:FAT 文件系统名称源于: File Allocation TableFAT 文件系统内的每个数据存储单元都有其自身的“逻辑文件地址”,所有的存储单元编号起始于“2 ”FAT 文件系统的 数据结构类型比较少,主要的有两个类型: FAT文件分配表 和 目录项。
FAT文件分配表: 主要起到描述文件系统内各文件内容所使用的簇的前后连续关系(指导出文件内容使用的前后连续的簇的位置),并描述 文件所使用的“簇”的状态目录项: FAT 文件系统将会为文件系统内的每个文件和文件夹都分配一个“目录项” ,目录项包含了 文件/文件夹的 文件名、大小、文件内容的起始位置 以及其他的一些“元数据” 和 描述对应的簇的起始地址。

** FAT 文件系统的 DBR** “引导扇区(DOS Boot Recorder--DOS 引导记录)"

**DBR(DOS Boot Recorder) : **位于整个文件系统的“0”号扇区,是文件系统隐藏区域(也称为保留区)的一部分,成为DBR 扇区 ,DBR 中记录着文件系统在磁盘上的起始位置、大小、FAT 表的数量及大小等相关信息。

注意: FAT 表文件系统中同时使用“扇区地址”和“簇地址” 两种地址管理方式, 原因是因为只有存储用户数据的数据区使用 “簇”进行管理(FAT12和FAT16的根目录除外)。所有的簇都位于数据区内, 其他“文件系统管理数据区域”是不以“簇”进行管理的, 这部分区域使用“扇区地址”进行管理 ; 文件系统的起始扇区为 “0”号扇区, “0”号扇区内是DBR,其中记录DBR 所在文件系统的一些信息,包括该文件系统在磁盘上的起始位置、FAT 表数量以及大小等相关信息。

** FAT文件系统多字节存储顺序**
FAT 文件系统对多字节数据使用 Little-endian 顺序进行存储。

>> FAT 文件系统三个阶段间的不同点
FAT12 、 FAT16 、FAT32 之间的最大不同 是 “FAT项大小”不同。FAT12 和 FAT16 的保留区通常为1个扇区,也就是“引导扇区”本身 ; FAT32 的“保留区”则要多一些,并且除0号扇区的引导扇区外,还为其保留了一个“引导扇区”备份。

二、 FAT 文件系统整体布局
总体来讲FAT 文件系统可以分为三个部分: 保留区(DBR) 、 FAT区 和 数据区。 这三个区在建立文件系统(格式化)时即被创建,且在文件系统存续期间不可改变。

2013年02月18日 - ourhappines@126 - Wise agile

>> 保留区: 保留区中包含一个重要的数据结构--系统引导扇区(DBR),DBR 位于文件系统的“0”号扇区,引导扇区中存储了其所在文件系统有关的重要信息。FAT12 和 FAT16 的保留区通常为1个扇区,也就是“引导扇区”本身 ; FAT32 的“保留区”则要多一些,并且除0号扇区的引导扇区外,还为其保留了一个“引导扇区”备份。

**>> FAT 区: **
如上图所示整体结构中的“FAT 区” 由文件分区所具有的两个“(大小、结构内容相同的)FAT 表”组成,“FAT 区”紧跟在“保留区”之后。“FAT 表” 用以描述 “数据区”中的数据存储单元的分配状态 以及 为文件或目录内容分配的存储单元的前后连接关系。

**>> FAT 数据区 **
“FAT 区” 结束后紧跟着的就是“数据区”,数据区被划分为一个个的“簇”,用于存储用户数据。“FAT数据区” 使用“簇”进行管理, 而FAT 文件系统中非“数据区”的部分均使用“扇区地址”进行管理,而不能使用“簇”进行管理。
注意:FAT12/16 的根目录虽然也属于数据区, 但并不由“簇”进行管理。 也就是说,FAT12/16 的根目录是没有 “簇”号的,它们的 2号“簇”由“根目录”之后开始。

你可能感兴趣的:(FAT 文件系统 布局结构/属性 概念)