What is a microkernel?

What is a microkernel?


Microkernel is an operating system architecture with a minimalist approach where only basic functions are maintained in the central core

The microkernel is a core architecture of operating system where most functions run outside the central core, unlike a monolithic kernel. While monolithic kernels concentrate essential applications in a single core with broad privileges, so-called “microkernels” take a minimalist approach, where only basic functions are maintained in the central core.



This microkernel-based approach results in a more versatile and secure system, since a failure in ancillary components does not cause the entire operating system to crash.

What is the kernel?

Operating systems are based on two main kernel design paradigms: monolithic and microkernel. In the monolithic kernel model, the operating system is a “huge block” of code with access to all operational resources. hardware and no memory access restrictions.

In this architecture, all major functions, such as memory management, file systems, and device drivers, are implemented in a single main process that operates in privileged mode.




Monolithic kernels concentrate core functions within a single core (Image: Reproduction/Freepik)

This approach has the main advantage in terms of system performance, since any major component can directly access other components, memory areas, and even peripheral devices without barriers or obstacles.

However, this centralization can increase code complexity and the system’s vulnerability to failure, since a failure in any critical component can compromise the entire operating system.

Microkernel: what it is and how it works

On the other hand, the microkernel architecture has a modular proposal and implements only the essential functions in the central core, such as memory management and communication between tasks and processes, while maintaining other services, such as device drivers and file systems, as separate processes in user space.

This structure limits the core’s exposure to potential errors, increasing the security and reliability of the operating system as a whole. If a service fails, it can be restarted or replaced without affecting the rest of the system.

Microkernels offer numerous advantages, such as increased security due to a smaller attack surface, flexibility for customizing and upgrading individual services, and fault isolation capabilities. However, they also face challenges such as potential performance degradation due to the need for inter-process communication and increased development and debugging complexity.

Where is the microkernel adopted?

The microkernel architecture has been widely adopted in various operating systems, from the most traditional to the most emerging. MINIX, for example, is a microkernel-based operating system used in firmware Intel ME 11, found in the majority of desktops and laptops equipped with Intel CPUs, accounting for two-thirds of the x86 CPU market.



In microkernels only basic functions are kept in the central core (Image: Pikisuperstar/Freepik)

In the market of mobile, portable and embedded devices, the adoption of operating systems with microkernel architecture is also significant, even if it often remains in the background. One of the pioneers in this segment is QNX, which emerged in the 1980s in industrial structures and is currently present in routers Cisco and in the firmware of millions of motor vehicles.

Other microkernel implementations have also gained prominence, such as L4, used in modems Qualcomm and automotive systems. Furthermore, the evolution of microkernel operating systems continues in solutions such as Horizon, which forms the backbone of consoles. NintendoSwitch.

The microkernel architecture also proves advantageous in solutions IoT, where security represents a major challenge. By isolating essential system components into a minimal core, this approach significantly reduces the attack surface, making vulnerabilities difficult to exploit, as well as preventing failures from compromising device operation.

Additionally, the modularity of microkernels allows you to incrementally roll out updates, security fixes, and new features, without the need to upgrade the entire system. This flexibility is essential to maintain the integrity of smart devices in an ever-changing landscape.

Trends on Canaltech:

Source: Terra

You may also like