KyberOSpowered by Mach X

Why KyberOS

Most of what people run today sits on a kernel design settled in the 1980s and 1990s. The main alternative, a Mach microkernel, was never finished. KyberOS is an attempt to finish it: a pure Mach microkernel, a UNIX personality above it, and a planned Linux personality so that Linux software can run on it.

What the design gives you

Each of these exists in some system. KyberOS aims to put them in one kernel.

A kernel small enough to read

The privileged code covers tasks, threads, ports, messages, virtual memory and scheduling. When a kernel is small enough to audit, you can check it instead of trusting it.

Capabilities, not ambient authority

Ports are capabilities. Nothing is reachable without a right, and there are no global names. A process in the planned Linux personality has no path to a UNIX process because the kernel gives it none.

Several operating systems on one kernel

UNIX natively, Linux as a planned guest, room for more. It resembles WSL, except that the host is a microkernel and the native binary format is Mach-O.

Mach-O native, LLVM toolchain

clang and lld produce the native format today. A custom dynamic linker is designed but not written. LTO, PGO and CFI are planned.

Forty years of hindsight

L4 showed that IPC has to be fast. The Hurd showed that a swarm of small servers is hard to run. Mach itself gave processor sets and copy-on-write. Each of these is an input to the design.

A rule every feature must pass

Mechanism goes in the kernel and policy goes in servers. A feature that breaks the rule needs a numbered, dated exception with a measurement behind it, so the kernel does not grow by accident.

Who it is for

People learning on a real kernel

It is neither a teaching toy nor a 30-million-line codebase. The design is documented and uses the real Mach vocabulary.

People who wanted Mach without the BSD

If you admired XNU and wished the BSD layer were gone, this is that kernel: Mach's model, kept pure.

People who want Linux software, not the Linux kernel

Unmodified Linux binaries are a planned guest personality. You get the software without the monolith's bug surface.

People who isolate what they do not trust

Untrusted work runs in a personality on the far side of a capability boundary. The only way out is a port nobody gave it.

People who miss what the Hurd promised

The same goal on a real Mach core, with one measured server per personality instead of many translators.

People who care about credit

KyberOS names the people who built Mach and keeps their vocabulary, so a four-decade lineage stays attributed. See the history.

Who should not pick it yet

If you need production today

Run Linux, FreeBSD or a BSD with jails. KyberOS boots in QEMU and has no stable release.

If you need broad hardware

Drivers are planned for later. Today the target is a virtual machine, not your laptop's Wi-Fi card.

If you need proofs

seL4 is formally verified and has years in the field. KyberOS is neither. For now the argument rests on a kernel small enough to review.

KyberOS is under active development. Choosing it now means choosing a direction and having a say in where it goes.

The bet

The last forty years of operating systems answered one question: can a microkernel win? Mach did not show that microkernels lose. It showed that an unfinished one does. Few people have tried again.

If you have looked at /proc and wondered why the kernel needs to know all of that, or watched a driver panic take down a whole machine, this project starts from that thought.

Where to next

The history of Mach, for where this comes from. The kernel charter, for the rules it follows. The milestones, for where it is going.