在 FreeBSD 或 Solaris 中 inode 的用途是什么

在 FreeBSD 或 Solaris 中 inode 的用途是什么

我对linux内核了解一点。但是对于Freebsd来说,“vnode”实际上类似于Linux内核中的“inode”。

在FreeBSD或Solaris中有一个“inode”的概念。

所以我的问题是:FreeBSD 中的“inode”有什么用?

下面很好读。

谢谢。

http://hub.opensolaris.org/bin/view/Community+Group+advocacy/solaris-linux-freebsd

所有三个操作系统都使用数据抽象层来向应用程序隐藏文件系统实现细节。在所有三个操作系统中,您都使用 open、close、read、write、stat 等系统调用来访问文件,而不管文件数据的底层实现和组织如何。 Solaris 和 FreeBSD 将此机制称为 VFS(“虚拟文件系统”),其原理数据结构是 vnode,或“虚拟节点”。在 Solaris 或 FreeBSD 中访问的每个文件都有一个分配给它的 vnode。除了通用文件信息之外,vnode 还包含指向文件系统特定信息的指针。 Linux 也使用类似的机制,也称为 VFS(“虚拟文件切换”)。在Linux中,独立于文件系统的数据结构是inode。此结构类似于 Solaris/FreeBSD 上的 vnode。 (请注意,Solaris/FreeBSD 中有一个 inode 结构,但对于 UFS 文件系统来说,这是与文件系统相关的数据)。 Linux有两种不同的结构,一种用于文件操作,另一种用于inode操作。 Solaris 和 FreeBSD 将这些组合为“vnode 操作”。

答案1

Aninode是某些文件系统中的一种结构,用于保存文件或目录的元数据(有关文件的所有信息,除了其名称和数据)。它保存有关权限、所有权、创建和修改时间等信息。

提供虚拟化文件系统访问层的系统(FreeBSD、Solaris、Linux)可以支持可能使用或不使用 inode 的不同底层文件系统。例如,ReiserFS 不使用它们,而 FreeBSD 则ffs2使用它们。访问文件系统所通过的抽象层为文件操作提供了单一且定义良好的接口,因此应用程序不需要了解不同文件系统实现之间的差异。

相关内容