Microkernels are operating systems that implement most operating system functionality and policy decisions (typically including device drivers and file systems) in ordinary user space processes while providing universal and mostly policy-free kernel mechanisms as prerequisites for said operating system functionality.
Microkernel-based operating systems come in many different flavours, each having a distinctive set of goals, features and approaches. Some of the most often cited reasons for structuring an operating system as a microkernel is flexibility, modularity, maintainability, safety, security, reliability, certifiability and fault tolerance. Many microkernels support real-time constraints and can take on the role of a hypervisor, too. Microkernels and their user environments are most often implemented in a system programming language such as C, C++ or Rust with a little bit of assembly, but other implementation languages are possible, too. In fact, the modular architecture allows for each component of a microkernel-based operating system to be implemented in a different programming language.
This is a list of active free, open source microkernel projects. If your project is missing or this page needs fixing, please create a pull request.
Ares in an operating system based on the capability-based Helios microkernel which draws inspiration from seL4. It is implemented in the Hare system programming language and supports x86-64 and aarch64. (ares-os.org)
axle OS is a microkernel-based operating system built around variable-length IPC messaging, implemented in C and Rust and supporting x86-64. All applications, including the desktop environment and device drivers, run in user space. (axleos.com)
Brutal is an operating system inspired by brutalist design that combines the ideals of Unix from the 1970s with modern technology and engineering. It is built from scratch in modern C on top of a capability based microkernel and it targets x86-64, i686, RISC-V and ARM. (brutal.smnx.sh)
C Microkernel Realtime eXecutive is a realtime, microkernel operating system using object-oriented remote procedure calling mechanism with fully static operation currently targeted towards Cortex-M microcontrollers having usable support for MPU. Currently microcontrollers based on Cortex-M0+, Cortex-M3, Cortex-M4 and Cortex-M7 are known to be supported. (github.com/ventZl/cmrx)
Composite is a research operating system focusing on low-latency predictability, security, and reliability, that scales from resource constrained microcontrollers, up to massively parallel systems. The system policies for resource management are defined in user-level components and the resources are managed by separate components with orthogonal implementations. (composite.seas.gwu.edu)
A UNIX-like microkernel operating system, that runs on x86, x86_64, ECO32 and MMIX. It is implemented from scratch and uses nearly no third-party components. To fit nicely into the UNIX philosophy, Escape uses a virtual file system to provide drivers and services. Both can present themselves as a file system or file to the user. (github.com/Nils-TUD/Escape)
ExectOS is an open-source, general purpose, microkernel-based operating system written from scratch. It aims to be modular, maintainable and compatible with existing software. It derives from the NT architecture, but unlike the NT, it does not feature a separate Hardware Abstraction Layer (HAL). (exectos.eu.org)
An experimental microkernel used to construct flexible real-time and embedded systems for ARM Cortex-M series microprocessors with power efficiency and security in mind. (github.com/f9micro)
Fuchsia is a capability-based operating system currently being developed by Google. Fuchsia is based on a Zircon kernel that applies many of the concepts popularized by microkernels, but is described as a pragmatic, message-passing kernel. (fuchsia.dev)
A tool kit for building highly secure special-purpose operating systems. It scales from embedded systems with as little as 4 MB of memory to highly dynamic general-purpose workloads. (genode.org)
Hedron combines microkernel and hypervisor functionality and provides an extremely small trusted computing base for user applications and virtual machines running on top of it. It implements a capability-based authorization model and provides basic mechanisms for virtualization, spatial and temporal separation, scheduling, communication, and management of platform resources. Hedron is derived from NOVA, with the last common commit dating 2015. (github.com/cyberus-technology/hedron)
A portable microkernel-based multiserver operating system designed and implemented from scratch. It decomposes key operating system functionality such as file systems, networking, device drivers and graphical user interface into a collection of fine-grained user space components that interact with each other via message passing. (helenos.org)
The GNU project's replacement for the Unix kernel. Notable features include the distributed virtual filesystem that is used as namespace for system services, high degree of application compatibility by shipping the GNU C library, and the goal of being a general purpose operating system. (hurd.gnu.org)
The L4Re Operating System Framework is a modular microkernel-based operating system targeted at security and safety use-cases, allowing tailor-made system solutions with a minimal trusted computer base, combined with virtualization for integrating 3rd-party workloads. (l4re.org)
LionsOS is an operating system based on the seL4 microkernel with the goal of making the achievements of seL4 accessible. That is, to provide performance, security, and reliability. It is not a conventional operating system, but contains composable components for creating custom operating systems that are specific to a particular task. Components are joined together using the Microkit tool. (lionsos.org)
luxOS is a prototype Unix-like operating system built on the lux microkernel and supporting x86-64. The microkernel is implemented in little over 4000 lines of code and the IPC is based on local Unix domain sockets and asynchronous I/O. (github.com/lux-operating-system/lux)
A hardware/operating-system co-design that is developed at the Barkhausen Institut in Dresden with the goal to build more secure heterogeneous systems. M³ builds upon a tiled hardware architecture and proposes a new per-tile hardware component called trusted communication unit (TCU) for cross-tile communication and isolation. (github.com/Barkhausen-Institut/M3)
Managarm is a pragmatic microkernel-based operating system written in modern C++20 that implements a completely asynchronous API for I/O and provides very good compatibility with POSIX and Linux user space processes. (managarm.org)
A free, open-source, operating system designed to be highly reliable, flexible, and secure. It is based on a tiny microkernel running in kernel mode with the rest of the operating system running as a number of isolated, protected, processes in user mode. (minix3.org)
The world’s first open source microkernel that has been formally proven to contain no runtime errors at the source code level. It is developed in Switzerland by the Institute for Networked Solutions (INS) at the University of Applied Sciences Rapperswil (HSR). (muen.sk)
A research project aimed at constructing a secure virtualization environment with a small trusted computing base. NOVA consists of a microhypervisor and an unprivileged multi-server user environment running on top of it. (hypervisor.org)
RedLeaf is a microkernel-based operating system aimed at leveraging a safe, linear-typed programming language, Rust, for developing safe and provably secure systems. This enables safety even for systems with the tightest performance and resource budgets. (mars-research.github.io/projects/redleaf/)
A Unix-like operating system written in Rust, aiming to bring the innovations of Rust to a modern microkernel and full set of applications. Redox isn't afraid of dropping the bad parts of POSIX, while preserving modest Linux API compatibility. (redox-os.org)
An operating system project aiming to build a robust Rust ecosystem around the seL4 microkernel and to create a highly reliable persistent capability OS, continuing the heritage of EROS and Coyotos, using Rust. (robigalia.org)
A high-assurance, high-performance microkernel developed, maintained and formally verified by NICTA and owned by General Dynamics C4 Systems. It is a member of the L4 family of microkernels, and is the world's most advanced, highest-assured operating-system microkernel. (sel4.systems)
SkiftOS is an operating system based on a capability-based "pragmatic" microkernel and built from the ground up with a focus on modularity, simplicity, and modern design principles. Driven by a dissatisfaction with the fragmented user experiences prevalent in contemporary operating systems, skiftOS strives for deep integration and a cohesive aesthetic. This project is a labor of love, an artistic pursuit rather than a commercial product. (skiftos.org)
Tock is a secure, embedded operating system for Cortex-M and RISC-V microcontrollers with a memory protection unit. Tock uses a microkernel architecture: Complex drivers and services are often implemented as untrusted processes, which other processes, such as applications, can invoke through inter-process commmunication. The core kernel and capsules are written in Rust. (tockos.org)
UX/RT is a QNX-like operating based on the seL4 microkernel for workstations and embedded systems. It aims to be a single-personality Unix-like operating system with Linux compatibility. (gitlab.com/uxrt)