我对文件系统实现不太清楚。特别是(《操作系统》- Tannenbaum(第3版),第275页)中指出:“每个块的第一个字用作指向下一个块的指针。块的其余部分是数据。”
请问有人能解释一下这里的层次结构吗?比如,每个磁盘分区包含块,块包含字等等...
我对文件系统实现不太清楚。特别是(《操作系统》- Tannenbaum(第3版),第275页)中指出:“每个块的第一个字用作指向下一个块的指针。块的其余部分是数据。”
请问有人能解释一下这里的层次结构吗?比如,每个磁盘分区包含块,块包含字等等...
我手头没有这本书,但我怀疑引用的那句话并不是在谈论文件、目录或其他文件系统结构。(请注意,分区通常不是文件系统概念。)我认为你引用的那句话只是在指出一些关于存储在磁盘块中的数据结构如何链接在一起的事情。它的意思就是字面上的意思。每个块(通常是4k,但也可能只有512B)大致看起来像这样:
+------------------+------------- . . . . --------------+
| next blk pointer | another 4k - 4 or 8 bytes of stuff |
+------------------+------------- . . . . --------------+
在所有这些概念中,有很多变化,我相信有一些文件系统与我上面所说的不太符合现实。但是,通过上述内容,您应该能够推断出文件系统如何完成其工作,并且至少能够理解任何特定文件系统中遇到的差异。
磁道 >> 块 >> 扇区 >> 字 >> 字节 >> 半字节 >> 位
磁道 是从磁盘盘片的内部到外部的同心圆。
每个磁道都被分成称为扇区的切片。
块 是一组扇区(1、2、4、8、16等)。驱动器越大,块可以容纳的扇区就越多。
字 是CPU可以一次处理的位数(16位、32位、64位等),在您的示例中,存储下一个块的地址(或偏移量)。
字节 包含半字节和位。1字节=2半字节;1半字节=4位。