内容纲要
本节课时的主要目的是通过一个简单的设计实例,来进行一步了解FAT32文件系统背后的设计原理。
特别注意:视频中只是简单的对要点做了介绍,可能你听不太懂,没有关系,有个大致印像即可!
主要内容
本课时介绍了FAT32文件系统设计背后的几个重要原理和概述。
目录也是文件
我们通常所理解的文件,是由一些程序生成并存储的数据集合,如word生成的ppt、doc文件,或者txt文本文件。没错,这是一种文件。
但是在FAT32内部,目录也被视作是一种文件。这与我们的直观体验似乎不符,在我们的印像中,目录更像是一种容器,在其中可用于放置子目录或者子文件。这都没错!
如上图所示,目录也可以看作是文件。目录是有内容的,其内容是一条条记录,每一条记录保存了该目录下的子文件或者子目录的相关信息。通过读取该信息,我们就可以从中获得有关文件或目录所有的特性。
文件数据按链式存储,每个文件块被称为簇
为了方便高效快捷地对文件的大小进行管理,FAT32对文件数据采用链式存储方案。
简单来说,文件在存储设备上会使用一个个大小相同的存储块(称之为簇)来存储。即便是最后有少部分数据不足一簇,也会分配为一簇。所以这些簇之间,通过某种方式链接起来。
链接关系存储在FAT表中
链接关系通过类似于C语言中单链表来管理,单独放置在一个区域(FAT表)中。
- 每个表项对应于一个簇,表项的序号=簇号
- 每个表项的取值,表示对应的簇的后继簇