articles/microkernel.md: update article

This commit is contained in:
tocariimaa 2025-03-03 14:16:36 -03:00
parent 5128d27e8e
commit f158249afc

View file

@ -3,7 +3,7 @@ A microkernel is a [kernel](kernel.md) that has only the bare minimum functional
it to the userland, as servers. Due to having less code running in privileged kernel mode (less attack surface),
microkernels can be more safer than monolithic ones.
A central concept of microkernels are the *servers*, which run in userland and implement
A central concept of microkernels are the *servers* ([daemons](daemon.md)), which run in userland and implement
the functionality that monolithic kernels do in the kernel side (file systems, drivers, memory management).
Servers aren't different from regular user processes, only that have additional privileges (for accessing hardware directly, for example)
and communicate with the kernel and with other servers using [interprocess communication (IPC)](ipc.md) mechanisms.
@ -15,10 +15,9 @@ One of the first microkernels, Mach, had a disappointing performance. This gave
however where demonstrated to not be an inherent design characteristic, but an implementation one. The L4 family
of microkernels demonstrated that IPC can be as fast as regular syscalls on a monolithic kernel.
Some notable microkernels are:
## Notable microkernels
- Mach
- L4 and its descendants, such as seL4; known for its high-performance IPC, as fast as a monolithic kernel.
- Minix: [Unix](unix.md)-like kernel. Most notably, a heavily modified version of it runs in the Intel's backdoor known as
"Management Engine".
- QNX
- [Minix](minix.md): [Unix](unix.md)-like kernel. Most notably, a heavily modified version of it runs in the Intel's [ME](intcel_me.md) [backdoor](backdoor.md).
- QNX: proprietary real time microkernel from the 80's.
- ...