【发布时间】:2011-12-13 11:00:06
【问题描述】:
MIT OS 课的 Jos 只使用 File 结构来描述常规文件或目录。 但是linux内核使用dentry/inode/file结构来描述文件。 文件系统一定要用dentry吗?
【问题讨论】:
标签: linux operating-system filesystems
MIT OS 课的 Jos 只使用 File 结构来描述常规文件或目录。 但是linux内核使用dentry/inode/file结构来描述文件。 文件系统一定要用dentry吗?
【问题讨论】:
标签: linux operating-system filesystems
在 Linux 中,dentry 是一个将 inode 和文件对象关联起来的目录条目,但不一定只是一个目录,可以代表一个文件。 Dentry 启用硬链接,允许为同一个文件创建多个硬链接。因此,您可以为同一个文件创建多个名称。
Dentry 缓存对文件系统的性能也很重要。下图来自《Understanding the Linux Kernel, 3rd Edition》,展示了进程与 VFS 对象之间的交互。
【讨论】:
Jos 确实使用目录条目。它只是使用 File 对象来存储目录(它们使用相同的对象来存储目录数据和文件数据)
【讨论】: