What Is a Microkernel Architecture?
A microkernel architecture is an operating system 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.
The microkernel runs the minimum necessary functions to interface with underlying hardware, including memory management, processor scheduling, and inter-process communication. Applications, drivers, protocol stacks and filesystems run outside the kernel in their address spaces.
Benefits of Microkernel Architecture
A microkernel architecture has a light core with reduced complexity. This means there are few dependencies to consider when adding functionality. This makes extending the operating system easier because all new services are added to the user space without the need to modify the kernel.
The kernel can also be more secure and reliable because most services are running in the user space and therefore are less able to affect the running of the kernel. Compromised or faulty services can be shut down without restarting the kernel. This means less frequent system crashes.
The modular platform also enables components to be replaced, reloaded, or modified without changing the kernel itself. This increased flexibility means various approaches can be taken for software implementation or application programming interfaces (APIs) while retaining the same basic microkernel.
Examples of Microkernel Architecture
Microkernel architectures are popular for specialized and mainstream uses. Examples include:
- L4 microkernel: L4Linux runs as a service, operating in a paravirtualized mode
- BlackBerry QNX: one of the first commercially successful microkernel operating systems
- Symbian: a formerly leading smartphone operating system
- Mach: the microkernel for Apple MacOS, iOS, iPadOS, tvOS, and watchOS)
Microkernel Architectures for Automotive
Microkernel Architecture vs. Monolith Architecture
BlackBerry QNX is trusted across multiple industries to provide the software foundation for safe, secure and reliable systems that get to market faster. Learn about our other tools and services—including a hypervisor, middleware, professional services and supplementary solutions—as well as about our heritage and deep expertise in embedded system software.
BlackBerry QNX offers a broad range of safety-certified and secure software products complemented by world-class professional services to help embedded developers increase reliability, shorten time-to-market, and reduce development cost.