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.

images

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 ...

Get Pattern-Oriented Software Architecture For Dummies 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.