Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix内核如何转换文件偏移量?_Unix_Filesystems_Kernel_Offset_Ext2 - Fatal编程技术网

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

Unix内核如何转换文件偏移量?,unix,filesystems,kernel,offset,ext2,Unix,Filesystems,Kernel,Offset,Ext2,正如标题所示,我很难理解Unix内核如何将逻辑文件偏移量转换为逻辑块号,然后从i节点检索它 作为参考,我要求对Maurice J.Bach在《UNIX操作系统的设计》中首先描述的“bmap”算法进行更详细的解释 谢谢..很遗憾,我无法帮助您实现UNIX的原始实现;但是,将高级目录层次结构映射到磁盘上表示以及将裸块设备上的范围分配给文件的工作通常由一个或多个文件系统完成。POSIX规范对文件系统提出了一些高层次的要求,但最终在磁盘上出现的内容完全特定于每个文件系统 ext2文件系统相对简单,但对它

正如标题所示,我很难理解Unix内核如何将逻辑文件偏移量转换为逻辑块号,然后从i节点检索它

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


谢谢..

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

ext2文件系统相对简单,但对它的详细解释仍然占据了一本书的整个章节——其中一本书是丹尼尔·p·波维特(Daniel p.Bovet)和马可·塞萨蒂(Marco Cesati)的《理解Linux内核》

Linux内核本身附带了一个更简短、更高级的介绍性文本,以及。该目录还包含“VFS”层,该层处理所有或大多数文件系统所共有的许多高级方面。也涵盖了它的高水平。它还提供了一些链接,以了解更详细的在线描述


不幸的是,这不是一个适合SO回答的主题,但我希望以上几点可以帮助您开始。

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