7.14 VFS虚拟文件系统

less than 1 minute read

VFS

  • 虚拟文件系统(Virtual File System, VFS), 为用户程序提供文件和文件系统操作的统一接口,屏蔽不同文件系统的差异和操作细节

VFS原理

  • VFS之所以能够衔接各种各样的文件系统,是因为它抽象了一个通用的文件系统模型,定义了通用文件系统都支持的、概念上的接口。新的文件系统只要支持并实现这些接口,并注册到Linux内核中,即可安装和使用。

  • write()写入流程

    • 勾起VFS通用系统调用sys_write()处理
    • sys_write()根据fd找到所在的文件系统提供的写操作函数,比如op_write()
    • 调用op_write()实际的把数据写入到文件中

引用自浅谈Linux虚拟文件系统

虚拟文件系统组成

  • 超级块(super_block), 表示已安装文件系统
  • 索引节点对象(inode), 表示具体文件
  • 目录项对象, 代表一个目录项,是文件路径的一个组成部分
  • 文件对象, 代表进程打开的文件, 在内存中的实例

参考