Imagine a process reads two paths:
The first is commonly backed by a persistent local file system. The second is generated by the kernel when it is read. Yet the application can use the same interface for both:
The application does not call ext4_read(), procfs_read(), or a device-specific function. Linux routes the generic operation through its Virtual File System, commonly abbreviated VFS.
VFS is the kernel layer that presents common file and pathname operations while dispatching them to different file-system implementations.
VFS is not a file system stored on disk. It is an abstraction and object model inside the kernel. It lets local, memory-backed, remote, and synthetic file systems participate in one namespace and serve the same system-call interface.
This chapter develops the VFS object model—superblocks, inodes, dentries, file objects, and mounts—then follows path opening and reading through operation tables across local, synthetic, and remote file systems.