Virtual File System

VFS stands for Virtual File System or Virtual Filing System, whatever is easier to say, and is usually a layer between programs and files.

The Linux kernel's VFS is an abstraction layer that sits between the filing systems and the program. All file access requests go through this VFS, and the VFS takes the appropriate actions. In this way, Linux is able to support dozens of filesystems, and any OS using Linux as the kernel will also be able to work with those filing systems, assuming they go through the kernel.

Other VFS's act in much the same way, only they are implemented as a library.

Library based VFSs can add support for additional features, shuch as: These things can't be done by Linux kernel's VFS, because it has to mount file systems first. Because of this, the kernel based VFS can't peek at archives or retrieve network files, without a significant performance impact.
 * Accessing files over a network
 * Browsing achieves like tar

VFS's

 * AVFS