
34 9 Chapter 2: Architecture Overview
to enable the others to run. Typically, the kernel provides pro-
cess and memory management as well as basic communica-
tion and input/output services. Everything else can be run as
processes taking advantage of these tools.
Most operating systems themselves are allowed to play by
different rules than applications or user processes. (Operating
systems, for example, are not restricted from reading or writ-
ing memory because they must manage virtual memory and
enforce memory protection.) The kernel is no exception.
The other parts of the operating system, however, can usually
safely run as processes ...