- $&bull#bullet;$
- How does an OS allow multiple types of file systems to be integrated into a directory structure?
- $&bull#bullet;$
- An obvious but suboptimal method of implementing multiple types of file systems is to write directory and file routines for each type.
- $&bull#bullet;$
- Instead, most OSs, including UNIX, use object-oriented techniques to simplify, organize, and modularize the implementation.
- $&bull#bullet;$
- The use of these methods allows very dissimilar file-system types to be implemented within the same structure, including network file systems, such as NFS.
- $&bull#bullet;$
- The file-system implementation consists of three major layers, as depicted schematically in Fig. 11.5.
Figure 11.5:
Schematic view of a virtual file system.
|
- 1
- The first layer is the file-system interface, based on the , , , and calls and on file descriptors.
- 2
- The second layer is called the virtual file system (VFS) layer; it serves two important functions:
- It separates file-system-generic operations from their implementation by defining a clean VFS interface. Several implementations for the VFS interface may coexist on the same machine, allowing transparent access to different types of file systems mounted local1y.
- The VFS provides a mechanism for uniquely representing a file throughout a network. The VFS is based on a file-representation structure, called a , that contains a numerical designator for a network-wide unique file.
- $&bull#bullet;$
- The VFS distinguishes local files from remote ones, and local files are further distinguished according to their file-system types.
Cem Ozdogan
2011-02-14