This chapter informs the reader about the system architecture of the Linux ecosystem. It first conveys the elegant Unix philosophy and design fundamentals, then delves into the details of the Linux system architecture. The importance of the ABI, CPU privilege levels, and how modern operating systems (OSes) exploit them, along with the Linux system architecture's layering, and how Linux is a monolithic architecture, will be covered. The (simplified) flow of a system call API, as well as kernel-code execution contexts, are key points.
In this chapter, the reader will be taken through the following topics:
- The Unix philosophy in a nutshell
- Architecture preliminaries
- Linux architecture layers
- Linux—a monolithic OS
- Kernel execution contexts
Along the way, we'll use simple examples to make the key philosophical and architectural points clear.