Frequently asked questions
Short, plain answers. KyberOS is in early development, so some answers say "planned" or "not yet", and they mean it.
What it is
What is KyberOS?
An operating system built on a pure Mach microkernel. The kernel provides tasks, threads, ports, messages, virtual memory and scheduling. Everything else, including the file server, the console and the UNIX personality, runs as ordinary programs above it.
What is a microkernel?
A kernel that keeps only the essentials, which are scheduling, memory and message passing, and runs everything else as ordinary programs: filesystems, drivers and POSIX. The privileged core stays small and easier to audit.
What does "pure Mach" mean?
The kernel contains no BSD layer, no process or file concept and no system-call policy. Apple's XNU keeps Mach but puts BSD inside the kernel. KyberOS leaves that code out and puts it in servers.
Why a UNIX personality and not BSD underneath?
There is no UNIX or BSD base. The kernel is Mach, and UNIX is a personality: a server that programs reach by message, outside the kernel. It borrows the BSD system-call numbering because that is a well-known, complete interface, but no BSD kernel code runs in the kernel. A separate BSD personality is not planned, since software that ships for BSD almost always ships for Linux too.
What is a personality?
A server, plus a small stub in each program, that gives programs the interface of a particular operating system. The UNIX personality offers UNIX system calls. A Linux personality is planned to offer Linux's. The kernel only routes a call to the right personality and never interprets it.
What is a port right?
A port is a message queue owned by the kernel, and a right is permission to send to it or receive from it. A program can reach only the ports it was handed, so access is controlled by what a program holds, not by who it is. The design page has more.
Is KyberOS Linux?
No. KyberOS has its own kernel, a Mach microkernel. Linux software compatibility is a planned personality that would run on top of it. It is not available yet.
Is it a fork of macOS, XNU or GNU Hurd?
No. The kernel is its own code, written in the Mach tradition of tasks, threads, ports and messages. Existing Mach kernels are studied as reference, and Mach's story is on the history page.
How is it different from seL4?
seL4 is a formally verified microkernel that provides components for you to assemble. KyberOS is a Mach-style kernel meant to ship as a complete system with a UNIX personality. It has no proofs. The comparison table sets them side by side.
Programs and compatibility
Will it run Linux programs?
That is the plan. A Linux personality would accept Linux system calls and run unmodified Linux binaries as guests, with ELF loading kept inside it. It is not built yet. See the status page.
Is the Linux personality a virtual machine?
No. The plan is for Linux programs to run as ordinary programs whose system calls go to the Linux personality, which is a user-space server. No second kernel runs underneath.
What format are native programs?
Mach-O. ELF is meant to exist only inside the Linux personality. The native toolchain is clang and LLVM.
What language is it written in?
The kernel is in C. User-space servers may use other languages, Rust included, as they appear.
Does it have a graphical desktop?
Not today. A desktop is a direction, not a commitment.
Trying it
Can I try it today?
Not publicly yet. It boots in the QEMU emulator and is an early development project. Development is private for now, so check back here for updates.
Which hardware does it run on?
Today it targets 64-bit x86 (x86_64) and is developed against QEMU. It is not meant for real machines yet. Wider hardware support is on the roadmap.
Is it ready for real use?
No. There is no stable release, and the interfaces can change. Choose Linux, FreeBSD or a BSD with jails for anything that matters.
Is it secure?
The design is built for security, with capabilities instead of ambient authority and a small privileged core. But it is unaudited and unverified, and nothing here is a security claim. For now the argument rests on a kernel small enough to review.
When will it be released?
There is no date. The milestones show the order of work, and they are directional, not promises.
The project
How is it licensed?
The kernel is MIT-licensed.
How can I follow progress?
Watch this site, especially the status page. A small Discord server is coming, and this page and the Contribute page will carry the invite when it opens.
How can I help?
Share it, translate it, write about it or review the design. Several of these need no code. See the Contribute page.