| 项目 | 值 |
|---|---|
| 定义 | 在具体文件系统之上的一层抽象接口 |
| 作用 | 为不同文件系统提供统一的操作接口 |
| 核心对象 | 超级块、inode、dentry、file |
| 代表实现 | Linux VFS |
虚拟文件系统(VFS)是操作系统中的一个抽象层,位于具体文件系统(如 ext4、NTFS、FAT32)之上,为用户程序提供统一的文件操作接口。
| 对象 | 说明 | 类比 |
|---|---|---|
| 超级块对象 | 描述一个已挂载的文件系统 | 文件系统的元数据 |
| inode 对象 | 描述一个文件的元数据 | 文件控制块(FCB) |
| dentry 对象 | 描述目录项(文件名→inode 的映射) | 目录项缓存 |
| file 对象 | 描述一个已打开的文件 | 打开文件表项 |
open("/home/user/file.txt")| 对象 | 生命周期 | 存储位置 |
|---|---|---|
| 超级块 | 文件系统挂载→卸载 | 内存(从磁盘读入) |
| inode | 文件存在期间 | 内存 + 磁盘 |
| dentry | 路径解析期间(可缓存) | 内存(目录项缓存) |
| file | open→close | 内存(打开文件表) |
| 考法 | 解题套路 |
|---|---|
| VFS 的作用 | 为不同文件系统提供统一接口 |
| 四个核心对象 | 超级块、inode、dentry、file |
| 为什么需要 VFS | 支持多种文件系统,统一系统调用接口 |
| dentry 的作用 | 目录项缓存,加速路径解析 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。