4.1 A Simple System
4.1.1 A Framework for Devices
4.1.2 Low-Level Kernel
184.108.40.206 Network Communication
4.1.3 Processes and Threads
4.1.4 Storage Management
220.127.116.11 Managing Primary Storage
18.104.22.168 File Systems
4.2 Rethinking Operating-System Structure
4.2.1 Virtual Machines
22.214.171.124 Processor Virtualization
126.96.36.199 I/O Virtualization
In the previous chapter we discussed many of the concepts used in operating systems. Now we begin to examine how operating systems are constructed: what goes into them, how the components interact, how the software is structured so as to make the whole understandable and supportable, and how performance concerns are factored in. We also introduce such key components as scheduling, virtual memory, and file systems here and cover them in detail in later chapters.
Our approach is to look at a simple hardware configuration and work through the design of an equally simple operating system for it. Many of the details are covered in depth in later chapters. Similarly, we examine more sophisticated operating-system features in later chapters as well.
As far as applications are concerned, the operating system is the computer. It provides processors, memory, files, networking, interaction devices such as display and mouse, and whatever else is needed. The challenge of operating-system design is to integrate these components into a consistent ...