Examining Microkernel Architecture
The section of this chapter that describes the problems associated with creating a custom OS introduces the parts of the microkernel. In this section, you dig deeper into the parts of a microkernel-based system.
Viewing the architecture's parts
To implement microkernel architecture, you need to design five kinds of participating components:
- Microkernel
- Internal servers
- External servers
- Clients
- Adapters
I describe these components in detail in the following sections.
Microkernel
The microkernel is the main component of this architecture, providing the core of basic, essential services. The microkernel encapsulates hardware-specific parts, shielding the applications, clients, and servers from these parts. It manages essential resources such as processes or files, providing access to those resources through atomic services, or mechanisms. These mechanisms form the basis for building higher-level policies, which provide more complex functionality.
Figure 15-5 shows the Class-Responsibility-Collaboration (CRC; see Chapter 2) card for a microkernel component.

Figure 15-5: Microkernel CRC card.
Internal servers
Internal servers are components that extend the functions provided by the microkernel. These servers are closely related to the microkernel and may be tied to hardware and underlying platform capabilities. The microkernel invokes the functionality ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access