Microkernel

Refer to: https://blackberry.qnx.com/en/ultimate-guides/what-is-real-time-operating-system/microkernel-architecture

QNX is a microkernel. QNX sdp8

A microkernel architecture is an OS pattern where only basic functionality is provided in the core of the software system. Components, including drivers and applications, are then plugged into the microkernel. These are standalone, independent pieces of code that enhance the core functionality or provide additional specialized features.

It assigns only a few essential functions to the kernel, including address spaces, interprocess communication (IPC), and basic scheduling. Other OS services are provided by processes, sometimes called servers, that run in user mode and are treated like any other application by the microkernel.

This approach decouples kernel and server development.

The microkernel approach simplifies implementation, provides flexibility, and is well suited to a distributed environment. In essence, a microkernel interacts with local and remote server processes in the same way, facilitating construction of distributed systems.

Explain the difference between a monolithic kernel and a microkernel.

todo put in lecture notes here