The file system is a basic workhorse component of an operating system. Figure 8-1 shows the big picture of the file management subsystem in the HP-UX kernel. Our study is divided into three phases: first we examine basic file system concepts, then we focus on the design and implementation of the classic UNIX File System (UFS), and finally we examine the kernel-resident structures utilized to keep track of mounted file systems.
Figure 8-1. The File Management Subsystem
Not all applications store data of the same type or follow the same data utilization modes. Over the years, a variety of file system types have been created to meet the needs of programmers, improve dependability, and increase performance. To simplify the interaction between a specific file system type and the rest of the kernel, an abstraction layer known as the virtual file system (VFS) has been implemented. As we study the file management subsystem, be on the lookout for transition points between VFS structures and implementation-specific structures.