The Virtual Filesystem Linux
One of Linux’s keys to success is its ability to coexist comfortably with other sys-
tems. You can transparently mount disks or partitions that host file formats used by
Windows, other Unix systems, or even systems with tiny market shares like the
Amiga. Linux manages to support multiple filesystem types in the same way other
Unix variants do, through a concept called the Virtual Filesystem.
The idea behind the Virtual Filesystem is to put a wide range of information in the
kernel to represent many different types of filesystems; there is a field or function to
support each operation provided by all real filesystems supported by Linux. For each
read, write, or other function called, the kernel substitutes the actual function that
supports a native Linux filesystem, the NTFS filesystem, or whatever other filesys-
tem the file is on.
This chapter discusses the aims, structure, and implementation of Linux’s Virtual
Filesystem. It focuses on three of the five standard Unix file types—namely, regular
files, directories, and symbolic links. Device files are covered in Chapter 13, while
pipes are discussed in Chapter 19. To show how a real filesystem works, Chapter 18
covers the Second Extended Filesystem that appears on nearly all Linux systems.