POSIX 定义的 inode 是什么?

POSIX 定义的 inode 是什么?

POSIX 定义的 inode 是什么?

维基百科关于 inode 的文章有一个标题为POSIX inode description其中表示索引节点包含(以及其他 8 个要点):

  • 设备 ID(标识包含该文件的设备)。

这对我来说似乎不对,而且我注意到参考文献中没有指向 POSIX 文档的链接。

POSIX 对 inode 的结构有何规定?请酌情提供参考资料。

答案1

POSIX 标准中没有 inode 的定义。

POSIX 程序员指南 作者:唐纳德·卢恩说 POSIX 使用术语“文件序列号”来指代通常所说的i节点号,即文件系统中文件条目的唯一编号。

POSIX<sys/types.h>说:

... 和ino_t应定义为无符号整数类型。


有趣的是,该标准确实包含“inode”一词,因为@apricot boy 提到,但我也找不到该术语的定义。也许最接近的是:

ino_t st_ino            File serial number.

POSIX<sys/stat.h>

在这条评论中Johan Myréen 表示,维基百科可能将索引节点与结构内容混淆了stat。  结构stat确实包含设备信息和维基百科的其他信息错误地说包含在 inode 中

答案2

POSIX 标准 (IEEE Std 1003.1) 没有明确说明什么是 inode。这只是一个超出标准范围的实现细节。

答案3

有 POSIX inode 这样的东西吗?我在中搜索了“inode”POSIX.1-2008 规范,并且它仅在少数联机帮助页和头文件中作为传递引用出现。那里似乎没有定义索引节点。我猜想 inode 是由内核或您正在使用的任何文件系统的驱动程序处理的。

至于你关于 inode 中设备 ID 的问题,我查看了两者的 inode 结构外部4BTFS,两者都没有提及设备号,所以我再次猜测这是由内核完成的。

相关内容