虚拟文件系统

普通文件系统的问题

主要问题:

  • 不同的外接磁盘会有不同的文件系统,如何统一系统调用的 api?
    image.png
  • 当操作系统读出了文件后,由于是不同的文件系统,那么文件信息的数据结构是不同,如何用统一的方式访问文件信息?
    image.png

针对上述两个问题,提出了虚拟文件系统,示意图如下:
image.png

若一个外部存储设备想要接入操作系统,就必须实现 VFS 提供的系统调用接口(interface)。

vnode 中的函数功能指针指向了磁盘中实现的具体系统调用代码。