FAT32文件系统 - 图文

2019-04-16 17:46

3.1 文件系统总论

从本章开始,我们将使用几个章节详细介绍各种文件系统的工作原理及结构布局。由于 FAT文件系统是普及面非常广泛的Windows操作系统所使用的一种文件系统,所以我们由FAT文件系统开始。又因为FAT32是日前使用最多的FAT类型文件系统,因此,我们主要以FAT32为对象进行讲解。在正式介绍特定的义件系统前,我们有必要先对文件系统有个大致的了解。

到底什么是文件系统?文件系统就是对数据进行存储与管理的方式。

文件系统是为了长久地存储和访问数据而为用户提供的一种基于文件和目录的存储机制。我们都知道,在使用硬盘存储数据前,首先要进行分区,然后对分区进行格式化。格式 化的过程就是在分区内建立一定的文件系统的过程。一个文件系统由系统结构和按一定规则 存放的用户数据组成,以使计算机可以找到并访问它们。大多数情况下,丈件系统并不依赖 于特定的计算机。

文件系统的种类繁多,每种文件系统都有自己特定的结构和管理数据的方式,但所有的 文件系统也都有-定的共性。在此,我们简单介绍一下文件系统中的一些基本概念和共性。

1数据单元

建立一个文件系统后,就可以进行数据的存储了。数据在写入磁盘或从磁盘读取时每次 操作的数据量称为数据单元,它的大小在建立文件系统时确定。数据单元在不同的文件系统 中有不同的称呼方式,例如FAT和NTFS文件系统中的“簇”,ExtX中的“块(Block)”等, 其实都是一种数据单元。一个数据单元由若干个连续的扇区组成,大小总是2的整数次幂个 扇区。存储数据时,系统以数据单元为单位为其分配存储空间,也就是说,总是为其分配整 数个数据单元大小的空间。

2坏数据单元

坏数据单元也就是包含缺陷扇区的数据单元。许多文件系统可将一个数据单元标记为坏单元,这对于那些没有能力处理错误的老硬盘比较有用。当一个数据单元中出现缺陷扇区时,即使缺陷扇区的数最只有一个,操作系统也会将整个数据单元标记为已损坏,不再分配给文件使用。现在的硬盘可以自己检测到坏扇区的存在并用备用扇区对其进行替换,所以文件系统的这一功能已很少使用。

利用文件系统的坏单元标记功能可以很容易地隐藏数据。许多检查工具并不对文件系统 报告的坏单元进行验证以确认其是否真的存存缺陷,因此用户可以手工将一些数据单元添加 到坏单元列表中,然后将数据隐藏进这些单元内。但许多数据提取工具支持对坏单元列表进 行检测以确认其中是否存隐藏的数据。

3.逻辑文件系统地址

●每个扇区都会有一个LBA地址,也就是物理地址。 ●每个物理卷内的扇区又有一个物理卷地址。 ●在逻辑卷内部的扇区会有一个逻辑卷地址。

建立了文件系统后,文件系统既使用逻辑卷地址,也使用一种“逻辑文件系统地址”。 文件系统存储数据时是以数据单元为存储单位,每个单位被分配一个逻辑文件系统地址。

4逻辑文件地址

对于每个文件来讲,将它按所在的文件系统中数据单元的大小为单位进行分割,分割后的每个部分由0开始进行编号,这个编号就是其对应的数据单元的逻辑文件地址,一个文件前后相邻的两个数据单元在物理上的存储地址可能是不连续的,但它的逻辑文件地址却一定是连续的。

5分配策略

不同的操作系统在为文件分配存储单元时可能会使用不同的分配方法。通常操作系统会

为其分配连续的存储空问,但并不总是能够实现。 白提豇趣出幽螳删剑幽摊甑麟础—捌匕4触划到一一

提示:当文件无法被分配到连续的存储单元时被称为“片段化”,即产生文件碎片。

为文件分配存储单元时的方法或算法,我们称之为“分配策略”,分配策略通常可以分

为三种:第一可用分配策略、下一可用分配策略和最佳分配策略。 (1)笫一可用分配策略,即当为一个文件分配了一个存储单元后还需要继续为其分配时, 操作系统会重新从文件系统的起始处搜索可使用的空间。这种分配方式很容易使文件片段 化,因为文件并不是被作为整体一次性分配连续存储空问的。

举例来讲,假如有一个文件需要4个存储单元,文件系统内的1、2、3、5、10号存储 单元已经有数据,4、6、7、8、9 号存储单元空闲,按第一分配策略为这个文件的4个部分 分配空问时,分配步骤如下。

①第一部分分配到4号存储单元,如罔1所示。

图1 文件第一部分存储在4号存储单元

②为文件的第一部分分配好存储位置后,又从1号存储单元)始向后寻找空位置,找到6 号后分配给文件的第二部分,如例2所示。

图2 文件第二部分存储在6号存储单元

?为文件的第二部分分配好存储位置后,又从1号存储单元开始向后寻找空位置,恰

好这时2号存储单元的文件内容被删除了,就把2号位置分配给第三部分,如图3所示。

图3 文件第三部分存储在2号存储单元

④为文件的第三部分分配刚好存储位置后,又从1号存储单元开始向后寻找孔位置,找到7号存储单元后分配给第四部分,如图4所示。

图4 文件第四部分存储在7号单元

所以这个文件的4个部分存储的位置就是4—6—2—7。

注意:在这个例子中可以看到,2号存储单元中被删除的数据,很快就被覆盖掉了。

因此这种分配策略不只容易使文件片段化,而且也使被删除数据的恢复可能性大大降低。 (2)下一可用分配策略,即为文件分配了一个存储单元后并不再回到卷起始重新寻找可用空间,而是直接向后进行搜索。对于前面的例子,使用下一可用策略进行分配的结果会是4—6—7—8,如图5所示。

图5 第一可用策略为文件分配的存储单元位置

提示:这种分配策略有助于数据的恢复,因为2号位空出后,除非在向后的搜索过

程中没找到足够的分配空间,否则不会很快被覆盖掉。

(3最佳分配策略,即在文件分配空间时,会尽可能找到足够的连续空间以避免其片段化。但这种分配策略需要事先知道文件所需要空间的大小,而且如果以后文件增大需要增加分配单元时,新分配的单元有可能处于其他位置而使该文件片段化。对于前面的例子,使用最佳匹配策略分配时,结果则是6-7-8—9,如图6所示。

图6 最佳分配策略为文件分配的存储单元位置

提示:在使用最佳分配策略进行可用空间搜索时,如果没有找到可以存放下整个文

件的连续空间,就会使用第一可用或下一可用策略进行分配。 每种操作系统会选择对某文件系统使用何种分配策略,有的文件系统也会指定要求使用哪种分配策略,但一般不会强制执行。

6文件更新策略

对数据可恢复性进行分析时,除需要考虑它的分配策略外,还需要考虑到文件更新方式 的问题:

●有的程序在对文件更新时,直接打开原文件,更新后,直接用新文件覆盖原文件进行保存。

●有的程序则是先产生一个原文件的副本,对副本进行更新,然后将副本以原文件名保存在新的位置同时删除原文件.

提示:如果文件的更新方式是在原文件上直接修改并覆盖旧文件,当进行了错误修

改并保存后,原数据将无法恢复。如果文件的更新方式使对副本进行修改并保存为新的文件,然后删除旧文件,当进行了错误修改并保存后,可以试图寻找已被删除的旧文件。

7松弛空间

松弛空问分为两种,一种是数据的结尾与为其分配的空间结束处的未被使用的部分,还 有一种是位于分区结尾的卷松弛空间:

●前面提到,系统在为数据分配存储空间时总是为其分配整数个数据单元大小的空间,但文件的大小未必恰好是整数个数据单元,这样就会在文件结尾与为其分配的存储空间结尾间产生部分未使用的空闲空间,这种空闲空间称为“松弛空间”。

●卷松弛空间位于卷的结尾。--个文件系统的扇区数也可能并不恰好是数据单元的整数倍,因此在卷的结尾也可能会有未被分配数据单元号的空间存在,这部分空间被称为卷松弛空间。

松弛空间中有可能存在以前被删除的数据,这取决于操作系统存储数据时的操作方式。例如,一个文件的人小为100个字节,一个文件系统的数据单元大小为4096个字节,也就 是8个扇区,将该文件存储进这个文件系统时,会为其分配8个扇区的存储空间,但是它只使用了第一个扇区的前100个字节,第一个扇区的后412个字节和后7个扇区都为松弛空间。如图7所示。

图7 松弛空间

提示:因为对磁盘的操作以扇区为单位,所以,虽然文件大小只有100个字节,但

写入磁盘时会一次写入一个扇区的数据。较老的操作系统,象DOS或早期的Windows操作系统通常会直接将内存中的数据填充写入磁盘,现在的操作系统则通常是将第一个扇区的后412个字节用0进行填充。对于后7个扇区,有的操作系统可能会对其进行清零操作,但走部分操作系统不对其进行任何操作,这就有可能在这部分扇区中存在着以前被删除的数据。

8.压缩和稀疏文件

很多文件系统允许对文件进行压缩存储以减少它所占用的数据单元。对于文件,可以存在三种级别的压缩:

●最高级别的压缩式在文件内部发生的,例如lPEG格式的文件它将图像信息进行压缩后保存进文件中,不过文件头是不被压缩的。

●次级别的压缩是使用外部程序对整个文件进行压缩后保存成一个新的文件,当需要使用这个文件时,就必须先对其进行压缩。

●晟后一种,也是最低级别的压缩,是由操作系统进行的压缩处理。操作系统在存储文件时,不为连续为0的部分分配存储空间,以这种方式处理过的文件称为“稀疏文件”。

9.加密文件

为了数据内容的安全与隐私性,文件可以被加密以阻止未被授权的访问。对文件进行加 密可以通过三种方式:

●使用第三方加密程序。读取加密前的文件并对文件内容进行加密后建立一个新的加密文件。

●也可以通过操作系统对文件进行加密。这种加密方式只是对文件内容进行加密,通常文件名、时间值等信息不会被加密。

●还有一种加密方式是对整个卷进行加密。对卷进行加密后,卷中所有的数据都处于加密状态,而不只是文件内容被加密。使用对整个卷进行加密的方式时,不能对包含操作系统的卷进行加密。

10元数据

任何文件或目录,都会有一个名字,我们将其统称为“文件名”。除文件名外,文件或目录还会有其他一些描述信息,如大小、时间信息、是否加密或压缩、存储位置信息等,我们将这些描述信息统称为文件或口录的原数据。

3.2 FAT文件系统概述

FAT(File Allocation Table,文件分配表)文件系统是Windows操作系统所使用的一种文件系统,它的发展过程经历了FAT12、FAT16和FAT32三个阶段。

提示:FAT文件系统的名字由来就是因为它使用文件分配表描述文件系统内存

储单元的分配状态及文件内容的前后链接关系。另外,截止到目前,Microsoft又推出了扩展FAT文件系统exFAT,它在原有FAT文件系统的基础上进行了改进,支持超大容量存储。由于其刚刚推出,对其结构尚未完全清楚,故在本书中将暂不涉及。

●FAT文件系统用“簇”作为数据单元。一个“簇”由一组连续的扇区组成,簇所含的扇区数必须是2的整数次幂,如1,2,4,8,16,32或64。簇的最大值为64个扇区,即32KB。所有的簇从2开始进行编号,每个簇都有一个自己的地址编号。用户文件和目录都存储在簇中。

提示:不只FAT文件系统使用簇做为数据单元,Windows系列的NTFS文件系统也

使用簇做为它的存储单元。不同的是,在FAT文件系统内,簇号由2开始:在NTFS文件系统内,簇号由0开始。

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

◆文件和文件夹内容存储在簇中,如果一个文件或文件夹需要多于一个簇的空问,则 用FAT表来描述如何找到另外的簇。FAT结构用于指出文件的下一个簇,同时也说明了 簇的分配状态。FAT12、FAT16和FAT32这三种文件系统之间的主要区别在于FAT项的 大小小同。

◆FAT文件系统的每个文件和文件夹都被分配一个目录项,目录项巾记录着文件名、大 小、文件内容起始地址以及其他一些元数据。

●在FAT文件系统中,文件系统的数据记录在“引导扇区”中。引导扇区位于整个文件系统的0号扇区,是文件系统隐藏区域(也称为保留区)的一部分,我们称其为DBR[DOS Boot Recordel-DOS引导记录)扇区,DBR中记录着文件系统在磁盘上的起始位置、大小、FAT表个数及大小等相关信息。

●在FAT文件系统中,同时使用“扇区地址”和“簇地址”两种地址管理方式。这是因为只有存储用户数据的数据区使用簇进行管理(FAT12和FAT16的根目录除外),所有的簇都位于数据区内。其他文件系统管理数据区域是不以簇进行管理的,这部分区域使用扇区地址进行管理。文件系统的起始扇区为0号扇区。

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

3.3 FAT文件系统整体布局

总体来讲,一个FAT文件系统可以分为三个部分:保留区、FAT区和数据区(如图8所示)。这三个区域在建立文件系统(格式化)时即被创建,且在文件系统存续期间不可被更改。

图8 FAT文件系统整体布局

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

●FAT区由两个大小相等、内容相同的FAT表组成,我们将其称为FAT1和FAT2。FAT1紧跟在保留区域之后,FAT2紧跟在FAT1之后。FAT表用以描述数据区中存储单元的分配状态及为文件或目录内容分配的存储单元的前后连接关系。FAT2后面即为数据区的起始位置,数据区被划分成—个个的簇,用于存储用户数据。

注意:FAT12/16的根目录虽然也属于数据区,但并不由簇进行管理,也就是说,


FAT32文件系统 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:mcnp从入门到精通讲座

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: