Common questions
Short answers, with the sources they rest on.
Is Mach slow?
Early Mach 3.0 systems were, and the cost was measured. Chen and Bershad compared Mach 3.0 running CMU's UNIX server with DEC's monolithic Ultrix on thirteen workloads. Mach executed substantially more system instructions for the same work, and each instruction cost more memory cycles (abstract).
Message passing was a large part of the cost. In 1993 Jochen Liedtke showed that a kernel designed around IPC could be far faster. His L4 kernel, written in hand-tuned i386 assembly, is described as about 20 times faster than Mach at IPC (L4 microkernel family, Liedtke's paper). Mach's own developers worked on the problem too, for example with continuations and migrating threads.
So the answer depends on the design. A system that sends every UNIX call through a separate server pays for it. XNU avoids that by running BSD inside the kernel.
What KyberOS does differently
Mach X, the kernel of KyberOS, is a pure Mach microkernel, so UNIX calls on KyberOS do cross a message boundary. It keeps Mach's ports, rights and messages as they are and works on the cost directly. When a sender finds a receiver already waiting, the kernel hands the message straight over without queuing it. Calls that can be answered from cached data are designed to be handled inside the program, with no message at all. More speed-ups are planned, and each one is meant to be measured and dropped if it does not pay. KyberOS has not published IPC figures yet.
Is Mach dead?
The CMU project ended in 1994, but the kernel did not. XNU, which is built on Mach, runs on Apple's platforms, and Apple reported more than 2 billion active devices in early 2023 (Apple's Form 8-K). GNU Mach is still the default microkernel of the GNU Hurd (GNU Mach). What has become rare is the pure design, with every operating system service outside the kernel.
Is macOS a microkernel?
No. Apple's Kernel Programming Guide says the kernel environment in OS X includes the Mach kernel, BSD, the I/O Kit, file systems and networking components, and that these are often referred to together as the kernel. The BSD layer is based on FreeBSD code (Kernel Architecture Overview). The XNU README calls it a hybrid kernel (XNU on GitHub). Mach is one part of it.
How is Mach different from L4?
They answer the same question, how small a kernel can be, with different priorities. Mach has a rich set of abstractions: ports with several kinds of rights, port sets, user-space pagers and copy-on-write messages. L4 started from the goal of making IPC as fast as possible and added little else. The L4 family now includes seL4, which has a formal proof of functional correctness (L4 microkernel family). Mach has no such proof.
Can I run Mach today?
Yes, in two ways. Every Mac, iPhone and iPad runs XNU, which contains Mach, though you use it through the BSD layer. For a Mach microkernel you can boot, GNU Mach runs under the GNU Hurd, and Debian packages it. The implementations page lists the others, and the source page shows where to read the code.