FFS:分区中的逻辑块和物理块

FFS:分区中的逻辑块和物理块

我正在读书UNIX 快速文件系统第 3 页上写着以下内容:

这里的“分区”是指磁盘驱动器上物理空间的细分。在传统文件系统中,与新文件系统中一样,文件系统实际上位于可能重叠的逻辑磁盘分区中。例如,这种重叠可以允许程序复制包含多个文件系统的整个磁盘驱动器

我不太明白这里的“重叠”是什么意思。以下是我对磁盘组织的理解:

磁盘被划分为必须连续的扇区(物理块)。分区是磁盘的逻辑分区,块的大小是扇区大小的整数倍,并且安装了文件系统。

分区本身必须驻留在磁盘的连续块中(尽管分区内的文件可能在分区内随机分布)。

  1. 我对磁盘组织的理解是否正确?
  2. 论文中分区重叠是什么意思?

答案1

请记住,您正在阅读的文本来自大约 35 年前,虽然“快速文件系统”的许多特征在例如 ext2 中得以保留,但我假设您这样做是为了研究历史。

磁盘被划分为必须连续的扇区(物理块)。

有点。身体上,硬盘分为多个盘片,每个盘片都有一个读/写磁头。一个盘片上的同心圆形成一个轨道,每个盘片相同位置的一组轨道形成一个圆柱体。轨道分为多个扇区。

这是一个 3D 结构,而不是线性结构,因此它不能是连续的。然而,每个扇区(在每个柱面、每个磁头上)都被赋予一个块号,并且这些块号是连续的,并且连续的物理块彼此非常接近。

所以从操作系统的角度来看,硬盘由许多物理块组成,具有连续的物理块地址(或扇区地址,因为每个块都是一个物理扇区)。

在 PC 上(而不是文档中的 PDP-11/VAX 上),硬盘寻址从柱面/磁头/扇区方案 (CHS) 变为块地址方案 (LBA)。

分区是磁盘的逻辑划分,块的大小是扇区大小的整数倍,...

是的。堵塞这是一个危险的词,因为它在不同的上下文中可能意味着不同的事情。文件系统使用“文件系统块”或“分配块”,它们是物理块大小的倍数。分区,至少是PC和BSD风格的分区,通常使用物理块作为“分区块大小”。

...安装了文件系统。

不必要。它还可以是交换空间、PC 扩展分区(允许四个以上分区的占位符)或 BSD 原始分区(见下文)。

分区本身必须驻留在磁盘的连续块中(尽管分区内的文件可能在分区内随机分布)。

是的。分区只是物理块的连续范围(由开始和结束块给出,或开始块和该分区中的块数)。

因此,没有什么可以阻止我们定义一个包含多个其他分区的分区。事实上,如果你看一下 BDS 分区示例BSD标签,

 8 partitions:
   #      size   offset    fstype   [fsize bsize bps/cpg]
   a:    81920       16    4.2BSD     1024  8192    16
   b:   160000    81936      swap
   c:  1173930        0    unused        0     0        # "raw" part, don't edit

分区 a 由块 16-81935 组成,分区 b 由块 81936-1681936 组成,分区 c 由块 0-1173929 组成。因此分区 c “包含”分区 a 和 b (以及一些额外的块)。

跨越整个磁盘的最后一个“原始”分区是为了方便:它允许操作系统访问整个磁盘,例如完全复制它。在 Linux 上,这是不必要的,因为操作系统可以访问代表整个磁盘的块设备。

请注意,“容器”分区不可能有文件系统,因为这会与所包含分区中的文件系统或其他数据发生冲突。

相关内容