加载中...

VFS(Virtual File System)是内核中的文件系统抽象层,向上给应用提供统一的 open/read/write 等接口,向下屏蔽 ext4、XFS、NFS、tmpfs 等具体文件系统的差异。
Linux VFS 围绕四类对象构建:superblock(已挂载文件系统的元信息)、inode(文件本体的元数据)、dentry(目录项,构成路径到 inode 的映射并被缓存)、file(进程打开文件的上下文)。具体文件系统通过实现各对象的操作函数表接入 VFS。
VFS 使"一切皆文件"得以落地:磁盘文件、管道、套接字、设备节点乃至 /proc、/sys 中的内核信息都通过同一套接口访问;挂载机制则把异构文件系统组合成单一目录树。
dentry 缓存与 inode 缓存让路径解析大量命中内存,是 VFS 高性能的关键,其并发访问路径也是内核中 RCU 应用的典型场景。

登录 后参与讨论
暂无讨论,来发表第一条评论吧