文件系统的三个区域

如题所述

第1个回答  2022-07-04

文件系统的三个区域,一部分称为数据区,用来存放文件内容。另一部分称为i-节点表(inode table),用来存放文件属性,第三部分称为超级快(superblock),用来存放文件系统本身的信息。文件系统由这3部分组合而成,其中任一部分都是有很多有序磁盘块组成的。

​ 文件系统中的第一个块被称为 超级块 ,这个块存放的文件系统本身的结构信息。列如,超级块记录了每个区域的大小。超级块也存放未被使用的磁盘块的信息。

​ 文件系统的下一个部分被称为i-节点表。每个文件都有一些属性,如大小、文件所有者和最近修改时间等。这些性质被记录在一个称为i-节点的结构中。所有的i-节点都有相同的大小,并且i-节点表是这些结构的一个列表。文件系统中每个文件在该表中都有一个i-节点。如果你有root权限,就可以像操作文件一样将分区打开、阅读并显示i-节点表。
表中的每一个i-节点都通过位置来标识。列入,标识为2的i-节点(inode 2)位于文件系统i-节点表中的第3个位置。

​ 文件系统的第3个部分就是数据取。文件的内容保存在这个区域。磁盘上所有块的大小都是一样的。如果文件包含了超过一个块的内容,则我呢见内容会存放在多个磁盘块中。一个较大的文件很容易分布在上千个独立的磁盘块中。

​ 文件属性的存储:内核先找到一个空的inode节点,,把文件的信息记录其中。图中内核找到i节点47。内核把文件的信息记录其中

​ 文件内容的存储:由于该新文件需要3个存储磁盘块,因此内核从自由块的列表中找出3个自由块。途中找到的就是627、200、992。内核缓冲区的第一块数据复制到块627,下一块数据复制到块200,最后一块数据复制到块992。

​ 文件内容按顺序存放在块627、200和992中。内核在i-节点的磁盘分布区记录了上述的块序列。磁盘分布区是一个磁盘块序号的列表,这3个编号放在最开始的3个位置。

​ 新文件的名字是userlist。内核将入口(47,userlist)添加到目录文件。文件名和i-节点号之间的对应关系将文件名和文件的内容及属性连接了起来。