Unix 内核如何转换文件偏移量



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

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

谢谢。。

不幸的是,

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

ext2 文件系统相对简单,但对它的详细解释仍然占据了一本书的整章 - 其中一本书是 Daniel P. Bovet 和 Marco Cesati 的《理解 Linux 内核》。

Linux 内核本身附带了一个更简短、更高级别的介绍性文本,也可以在这里找到。该目录还包含有关其他 Linux 文件系统的文档以及"VFS"层,该层处理所有或大多数文件系统通用的许多更高级别方面。维基百科的ext2文章也涵盖了它。它还提供了一些指向更详细的在线描述的链接。

不幸的是,这不是一个适合SO答案的主题,但我希望上面的指针可以帮助您入门。

最新更新