正如标题所示,我无法弄清楚Unix内核如何将逻辑文件偏移转换为逻辑块编号,然后从i节点检索它.
作为参考,我要求莫里斯·巴赫(Maurice J. Bach)在“UNIX操作系统的设计”中首先描述的“bmap”算法的更详细解释.
谢谢..
解决方法
我遗憾的是无法帮助你原来实现UNIX;但是将高级目录层次结构映射到磁盘表示,以及将裸块设备上的范围分配给文件的工作通常属于一个或多个文件系统. POSIX规范对文件系统提出了一些高级要求,但实际上最终在磁盘上的内容完全针对每个文件系统.
ext2文件系统比较简单,但对它的详细解释仍然填满了一本书的整个章节 – 一本书是由Daniel P. Bovet和marco Cesati理解Linux内核.
Linux内核本身和can also be found here附带了一个更简短,更高级别的介绍性文本.该目录还包含documentation on other Linux file systems以及“VFS”层,它处理许多高级方面,这些方面对于所有或大多数文件是通用的系统. Wikipedia’s ext2 article也涵盖了它的高层次.它还提供了一些指向更详细的在线描述的链接.