概述
- 文件系统分为平面文件系统(文件在同一个层次,无目录结构),分层文件系统(有目录结构)。
- 文件类型分为:数据文件(保存数据信息)、目录文件(保存数据文件的信息)
数据文件
以txt,wav,bmp文件举例。
- txt文件:底层是2进制数据,通过ASCII表解码2进制,转换成对应文字
- wav文件
- 读wav前需要先知道一些信息,如码率,单声道or立体声
- 以上信息存储于元数据(meta-Data)中,即关于数据的数据
- 元数据存储在文件头,因此也叫文件头,如图1所示:
- wav存储的数据为声音的振幅,如图2所示:
- bmp文件
-
文件头如下所示:
-
平面文件系统(文件在同一个层次)
- 由目录文件和数据文件组成,其中目录文件存储数据文件的元数据,如创建时间、修改时间、文件长度和起始位置。目录文件内部信息如下图所示:
- 碎片化存储(增删改查导致的)
定义:为了给文件的修改预留一定空间,一般会给每个文件分配固定大小的block,当文件数据长度超过block长度,新增的文件数据会保存到新创建的block中,这种存储方式称为碎片化存储。
2.1 碎片化存储下的数据文件增大
如下图中的todo.txt文件被保留在block1和block5,并由目录文件记录todo.txt存储在哪些block中。
2.2 碎片化存储下的数据文件删除
特点:1.不删除数据文件,只是删除其在目录文件中对应的记录;2.直到下一次有新的数据写入,原数据文件才会被覆盖。如下图所示,当carrie.bmp被删除时,其数据并没有被删除,仅删除其在目录文件中对应的记录。
2.3 碎片整理
为了更高效地读取数据,对于碎片化存储的数据,操作系统会在对其进行整理,使对应的block能被连续读取。如下图所示,整理前todo.txt的存储block为1,5,2,整理后其存储block为1,2,3。
-
整理前:
-
整理后:
分层文件系统
定义:即现在我们最常用的文件系统,文件不一定放在同一层级下,通过创建子文件夹,文件可以被放在不同的文件夹下。每个文件夹都有自己的目录文件。其中根文件夹的目录文件被称为根目录文件。其与平面文件系统的区别仅仅是增加了一项“IS DIRECTORY”。
-
目录文件增加一项元数据的记录(是否文件夹)
-
根目录文件和子目录文件