Microkernel Support for UNIX Filesystems

Throughout the 1980s and early 1990s there was a great deal of interest in microkernel technology. As the name suggests, microkernels do not by themselves offer the full features of UNIX or other operating systems but export a set of features and interfaces that allow construction of new services, for example, emulation of UNIX at a system call level. Microkernels do however provide the capability of allowing a clean interface between various components of the OS, paving the way for distributed operating systems or customization of OS services provided.

This section provides an overview of Chorus and Mach, the two most popular microkernel technologies, and describes how each supports and performs file I/O. For an overview of SVR4 running on the Chorus microkernel, refer to the section The Chorus Microkernel, a bit later in this chapter.

images

Figure 8.6 Reading through the Linux page cache.

High-Level Microkernel Concepts

Both Mach and Chorus provide a basic microkernel that exports the following main characteristics:

  • The ability to define an execution environment, for example, the construction of a UNIX process. In Chorus, this is the actor and in Mach, the task. Each defines an address space, one or more threads of execution, and the means to communicate with other actors/tasks through IPC (Inter-Process Communication). Actors/tasks can reside ...

Get UNIX Filesystems: Evolution, Design, and Implementation now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.