系统管理指南:设备和文件系统

UFS 文件系统的柱面组结构

创建 UFS 文件系统时,磁盘片被分成若干个柱面组。柱面组由一个或多个连续的磁盘柱面组成。柱面组又进一步分成若干个可寻址的块,以控制和组织柱面组中文件的结构。在文件系统中,每种类型的块都具有特定的功能。UFS 文件系统具有以下四种类型的块。

块类型  

所存储信息的类型 

引导块 

在引导系统时使用的信息 

超级块 

有关文件系统的详细信息 

Inode 

有关文件的所有信息 

存储块或数据块 

每个文件的数据 

以下各节提供有关这些块的组织和功能的其他信息。

引导块

引导块存储在引导系统时使用的对象。如果文件系统不用于引导,则将引导块保留为空。引导块仅出现在第一个柱面组(柱面组 0)中,它是片中的前 8 KB。

超级块

超级块存储有关文件系统的大多数信息,其中包括:

由于超级块包含关键数据,因此在创建文件系统时建立了多个超级块。

摘要信息块保留在超级块内。不复制摘要信息块,而是将其与主超级块组合在一起(通常在柱面组 0 中)。摘要块记录在使用文件系统时发生的更改。此外,摘要块列出文件系统中的 inode、目录、段和存储块的数目。

Inode

inode 包含有关文件的所有信息,但文件的名称(保存在目录中)除外。一个 inode 为 128 字节。inode 信息保存在柱面信息块中,它包含以下内容:

包含 15 个磁盘块地址(0 到 14)的数组指向存储文件内容的数据块。前 12 个地址是直接地址。即,它们直接指向文件内容的前 12 个逻辑存储块。如果文件大于 12 个逻辑块,则第 13 个地址指向间接块,该块包含直接块地址而不是文件内容。第 14 个地址指向双重间接块,该块包含间接块的地址。第 15 个地址用于三重间接地址。下图描述从 inode 开始这些地址块之间的关系链。

图 23–1 UFS 文件系统的地址链

UFS inode 的地址数组与指向文件存储块的间接和双重间接指针之间的关系图。

数据块

数据块也称为存储块,它包含为文件系统分配的其余空间。这些数据块的大小是在创建文件系统时确定的。缺省情况下,为数据块分配以下两种大小:8 KB 的逻辑块大小和 1 KB 的段大小 (fragment size)。

对于常规文件,数据块包含文件的内容。对于目录,数据块包含提供目录中文件的 inode 编号和文件名的项。

空闲块

在柱面组图中,当前未用作 inode、间接地址块或存储块的块被标记为空闲。此图还跟踪段以防止段化降低磁盘的性能。

为使您了解典型的 UFS 文件系统结构,下图说明普通 UFS 文件系统中的一系列柱面组。

图 23–2 典型的 UFS 文件系统

包含引导块(仅在柱面组中为 8 KB)、超级块、柱面组图、inode 和存储块的 UFS 柱面组的图形。