Mach (Kernel)
Mach is a microkernel developed at Carnegie Mellon University starting in 1985, intended as a replacement for the BSD Unix kernel. Its message-passing and memory-management primitives were influential, but Mach 3.0 carried heavy IPC overhead that gave first-generation microkernels a lasting performance reputation. Mach lives on as the foundation of the XNU kernel used by macOS, iOS, and their derivatives, and as the substrate for GNU Hurd.
Mach is a microkernel that began at Carnegie Mellon University in 1985 under Richard Rashid and Avie Tevanian, conceived as a clean-slate replacement for the BSD Unix kernel. Its design centred on a small set of primitives -- tasks, threads, ports, and messages -- on top of which Unix services could be implemented as user-space servers. Early versions still contained BSD code; the true first-generation pure microkernel was Mach 3.0, released around 1990, which moved nearly all Unix functionality out of the kernel. Performance was the long shadow over the project. Studies on 1990s hardware showed Mach 3.0 single-server Unix configurations running roughly fifty percent slower than native Unix, with Chen and Bershad measuring peak slowdowns near sixty-six percent on a DECStation. Later analysis showed the dominant cost was not inter-process communication itself but kernel work surrounding it -- port rights validation, message-format checking, and the cache and TLB pressure from frequent address-space crossings. Carnegie Mellon stepped back from active Mach development around 1994; later teams at the University of Utah produced Mach 4 and tried to retrofit performance. Mach's legacy is mixed. NeXTSTEP, built on Mach 2.5, became the basis for macOS and iOS, where Apple's XNU kernel still uses Mach as its messaging and scheduling core wrapped around a BSD personality and a driver framework. GNU Hurd bet on a Mach variant called GNU Mach and is widely cited as evidence that the bet was costly. And the IPC-overhead reputation Mach earned in benchmarks remained attached to microkernels in general for decades, despite later kernels in the L4 microkernel family demonstrating IPC paths an order of magnitude faster.