虚拟文件系统(VFS)是一个程序还是一个接口?

use*_*617 4 linux filesystems

我试图了解Linux中的VFS是什么,下图代表了VFS:

在此输入图像描述

我不确定的是VFS是否是应用程序与之对话然后VFS与适当的文件系统驱动程序对话的程序,或者VFS只是文件系统驱动程序必须实现的接口/通用语言,并且在实际上,应用程序正在使用此接口/通用语言直接与文件系统驱动程序对话?

Ste*_*itt 7

VFS是内核中的一个接口层。它为应用程序与文件系统对话提供了一个统一的接口,无论使用什么文件系统:因此,诸如openwriteread等系统调用都进入 VFS 层,然后由 VFS 层将它们分派到适当的文件系统。

文件系统向VFS层注册自己并提供一组标准信息,以便VFS层可以使用它们。这意味着Linux中的所有文件系统都需要实现类似的概念:主要是索引节点、目录项和文件。

在内核中有详细记录