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)
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)
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)
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)
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)
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)
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)