【问题标题】:How does the Unix kernel convert a file offset?Unix内核如何转换文件偏移量?
【发布时间】:2012-05-31 03:54:45
【问题描述】:

正如标题所示,我无法弄清楚 Unix 内核如何将逻辑文件偏移量转换为逻辑块号,然后从 i-node 检索它。

作为参考,我要求对 Maurice J. Bach 的“UNIX 操作系统的设计”中首先描述的“bmap”算法进行更详细的解释。

谢谢你..

【问题讨论】:

  • 一般来说,该映射基本上是文件系统存在的理由——将目录层次结构和文件数据映射到平面块设备中的表示和范围。我对原始的 UNIX 不熟悉,所以恐怕无法提供具体的帮助。
  • @pmjordan:谢谢。我不一定要询问有关 unix 文件系统的信息,我也可以谈论 ext2。

标签: unix filesystems kernel offset ext2


【解决方案1】:

很遗憾,我无法帮助您了解 UNIX 的原始实现;但是将高级目录层次结构映射到磁盘上的表示,以及将裸块设备上的范围分配给文件的工作通常落在一个或多个文件系统上。 POSIX 规范对文件系统提出了一些高级别的要求,但实际上最终在磁盘上的内容完全特定于每个文件系统。

ext2 文件系统相对简单,但对它的详细解释仍占一本书的整章——其中一本书是 Daniel P. Bovet 和 Marco Cesati 的Understanding the Linux Kernel

Linux 内核本身和can also be found here 附带了更简短、更高级别的介绍性文本。该目录还包含documentation on other Linux file systems 以及“VFS”层,它处理所有或大多数文件系统共有的许多更高级别的方面。 Wikipedia's ext2 article 也对它进行了高水平的介绍。它还提供了一些指向更详细在线说明的链接。

不幸的是,这不是一个适合 SO 答案的主题,但我希望上述指示能帮助您入门。

【讨论】:

    猜你喜欢
    • 2020-09-24
    • 2020-07-07
    • 2021-06-02
    • 2020-03-16
    • 1970-01-01
    • 2022-01-09
    • 2023-03-11
    • 2018-06-23
    • 1970-01-01
    相关资源
    最近更新 更多