Mach

The Mach kernel

Mach is an operating system kernel that began at Carnegie Mellon University in 1985. It rests on a simple claim: a kernel needs only a few things. It needs a way to run code (tasks and threads), a way to manage memory, and a way for programs to send each other messages. Everything else, such as file systems and device drivers, can run as ordinary programs outside the kernel.

The CMU project ended in 1994, but the kernel kept going. Mach is the base of XNU, the kernel inside Apple's macOS and iOS, and it is the default microkernel of the GNU Hurd. Its virtual memory design was adopted into 4.4BSD and is still in FreeBSD.

This site is a short reference for people who want to know what Mach is and where to read more. It does not try to be complete.

Pages

Concepts
Tasks, threads, ports, messages and virtual memory, in plain terms.
History
From Rochester in the 1970s to the devices that run Mach today.
Implementations
The kernels descended from Mach, and which ones are still alive.
Reading
The original papers, the CMU archive and some later criticism.