What works today
A snapshot of the current development build: what runs, what is being built, and what is still only a plan.
Working
- Boots on x86_64 under QEMU.
- Mach-style IPC: ports, messages and rights.
- Scheduling of kernel threads and user programs on every CPU.
- Several threads of one program can share port names safely.
- A user-space shell, a console server and a small file server. The shell runs Mach-O programs read from the file server.
- Freed kernel objects are reclaimed in the background by a thread of their own, once no reader is left.
- A kernel memory allocator with size classes, whose cost does not grow with the size of the heap.
In progress
- The first personality: UNIX-style calls over IPC. The router and the first calls are built.
- Making memory shared between CPUs safe. Page tables, physical-page records and memory objects are locked. The address map is next, so programs that share memory across processors are not yet reliable.
- More shell and file tools.
- Measuring IPC performance.
Planned
- A full UNIX/POSIX personality.
- A C library and a dynamic linker. Both are designed, and neither is written.
- Linux binary compatibility.
- User-space drivers and wider hardware support.
This page reflects the current development build. The milestones have more detail, and the FAQ answers common questions.