1. VFS 四大对象 inode、dentry、superblock、file 各自的职责与相互关系是什么?
VFS 的四大对象 inode、dentry、superblock、file 各自有什么职责?它们之间是什么关系?
- inode 与 file 的职责
- dentry 与路径解析
- superblock 与文件系统
VFS 四大对象:inode 描述文件系统中的一个文件的元数据(大小、权限、时间戳、数据块位置),与磁盘上的文件一一对应,不随打开/关闭变化;dentry(目录项)是路径解析的缓存节点,表示"父目录 + 文件名"映射到 inode,用于加速路径查找;file 描述进程打开的一个文件实例(文件偏移、访问标志、file_operations),代表"进程-文件"的打开关系,同 inode 可对应多个 file;superblock 描述整个已挂载文件系统的全局信息(块大小、根 inode、该文件系统操作函数表)。关系:dentry 指向 inode,inode 属于某个 superblock,file 指向 inode 并持有相关 dentry。路径解析通过 dentry 缓存逐级找到 inode,打开后以 file 表示进程的访问。
四个对象分层:superblock(文件系统级)→ inode(文件级)→ dentry(路径级)→ file(进程打开级)。理解它们有助于把握 VFS 的多态抽象与缓存机制。