<aside> 💡 VFS 是对各种文件系统的统一抽象,为用户应用程序提供了一致的文件系统接口。

</aside>

数据结构概览

VFS 通过一个或多个双向循环链表将这些数据结构串联起来方便查询,VFS 数据结构就好比磁盘元数据在内存上的映射,并额外赋予了目录树构建、文件系统挂载、进程关联等特性。

<aside> 🗣 共同点:文件系统对象往往包含用于链表的指针域成员对象(list_head)和操作函数指针(多态)

</aside>

Untitled

VFS 主要数据结构的大致关联如下图所示:

VFS 数据结构关系图

VFS 数据结构关系图

FS 注册与安装

注册 | Register

各种类型的 FS 源代码主要来源:

内核对这些 FS 的”跟踪“行为就叫做文件系统注册,注册的文件系统类型对应file_system_type结构体。下图展示了内核注册文件系统的流程: