Under active development

Before Linux existed

The history of Mach.

In 1985, six years before Linux 0.01, a team at Carnegie Mellon University began rebuilding the UNIX kernel around a radical idea: keep the kernel small, put everything else in user space, and connect it all with messages. They called it Mach. Four decades later its descendants run in every Apple device on Earth, its VM design lives inside the BSDs, and its vocabulary is the one KyberOS still speaks.

Origins

RIG begat Accent; Accent begat Mach.

The story starts in the 1970s at the University of Rochester, where Jerry Feldman's group built RIG, the Rochester Intelligent Gateway: a network of minicomputers fronted by a message-passing operating system called Aleph, named for Borges' point that contains all other points. A young engineer on the team, Richard Rashid, would carry its core idea with him for the rest of his career: communication, not files, as the organizing principle of a kernel.

In 1979 Rashid left Rochester for Carnegie Mellon, and by 1981 he and George G. Robertson had built Accent for the SPICE distributed-computing project. Accent gave the world the primitives Mach is remembered for: kernel-protected ports as capabilities, network-transparent IPC, and copy-on-write memory moves via the MMU.

By 1985, DARPA wanted a modern, multiprocessor-ready foundation for UNIX. CMU won the charter: rebuild the BSD kernel around Accent's ideas, keep it UNIX-compatible, and make it small. The Mach project ran at CMU from 1985 to 1994.

Why it's called "Mach"

The team used to bike to lunch through rainy Pittsburgh, splashing through mud puddles. Avie Tevanian joked that muck could be a backronym: Multi-User (or Multiprocessor Universal) Communication Kernel.

Later, Italian CMU engineer Dario Giuse asked project leader Rick Rashid what the project was called. Hearing "MUCK" pronounced, Giuse wrote it down the way Italian spelling dictated: Mach. Rashid liked the spelling so much it stuck. It was never named for Ernst Mach or the speed of sound, though the pun was too good to correct.

Timeline

Forty years of the microkernel idea.

1975–79

RIG and Aleph · Rochester

Jerry Feldman, J.E. Ball, J.R. Low, Paul Rovner, Luidy Bukys, and a young Rick Rashid build the Rochester Intelligent Gateway. Aleph proves that a kernel organized around message passing works, and plants the seed for everything after.

1981–85

Accent · CMU SPICE project

Rashid and George Robertson turn Aleph's lessons into Accent: capability ports the kernel itself protects, transparent network IPC, and copy-on-write via the MMU. Mach's DNA is complete before Mach exists.

1985–86

Mach begins · DARPA charter

CMU takes on the BSD replacement. The 1986 USENIX paper, "Mach: A New Kernel Foundation for UNIX Development," lays out the vocabulary still used today: tasks, threads, ports, messages, memory objects, external pagers.

1987–89

Mach 2.0 and 2.5 go industry

Mach runs on VAX multiprocessors, Sun-3s, the IBM RT, Encore and Sequent. BSD code still lives inside the kernel. In 1988 Steve Jobs' NeXT ships NeXTSTEP 0.8 on Mach, with Tevanian running software. In 1989 the Open Software Foundation adopts Mach 2.5 as the base of OSF/1, its rival to System V.

1990–94

Mach 3.0 · the true microkernel

The BSD code is evicted from the kernel into user-space servers. One kernel can now host multiple OS personalities at once: BSD, DOS, Mac OS, OSF/1. MIG turns IPC interfaces into generated RPC stubs. OSF/1 becomes Digital UNIX, later Tru64, and powers systems from workstations to the Intel Paragon.

1991

Rashid leaves for Microsoft

Mach's founder joins Microsoft and goes on to found Microsoft Research, one of the most influential industrial labs in computing history.

1994–96

The torch passes · Mach 4 and GNU Mach

CMU winds the project down. Jay Lepreau's FLUX group at the University of Utah continues it as Mach 4: faster IPC through migrating threads (Bryan Ford's work), cleaned-up x86 support, Linux drivers. When Utah finishes, Thomas Bushnell (BSG) adopts the code for the GNU Hurd as GNU Mach, maintained by Roland McGrath and the GNU project to this day.

1996–97

MkLinux and the Apple merger

Apple and OSF's Research Institute ship MkLinux: Linux itself, running as a single server on Mach 3, on Power Macs. The idea of an OS personality as a user-space server is proven in production. In 1997 Apple buys NeXT; Mach goes home to Cupertino.

1999–2001

Rhapsody to Mac OS X · XNU is born

NeXTSTEP becomes Rhapsody, then Mac OS X Server 1.0 (1999), then Darwin, released open-source in 2000, and finally Mac OS X 10.0 in March 2001. Its kernel, XNU ("X is Not Unix"), fuses Mach with BSD and the IOKit driver framework: a hybrid, for speed. Tevanian serves as Apple's software chief through 2006.

2001–now

The most-deployed kernel lineage on Earth

iPhone (2007), iPad, Apple Watch, Apple TV, Vision Pro: every Apple device ships an XNU descendant, billions of Mach's heirs in pockets and on wrists. GNU Mach still underpins the Hurd. Mach's VM design, adopted into 4.4BSD, lives on in FreeBSD. And in KyberOS, the original vision is running again: pure Mach, personalities in user space, no hybrid.

The people

Thank you to the women and men who built Mach.

KyberOS stands on their work. This page, and this project, exist to keep their idea alive and to credit it properly.

Richard Rashid

Project founder

Carried the message-passing idea from Rochester's RIG to CMU's Accent to Mach itself, and led the project through its prime. Left in 1991 to found Microsoft Research.

Avadis "Avie" Tevanian

Co-creator

Core architect of Mach and the accidental source of its name. Took Mach to NeXT as head of software, then to Apple, making Mach the most-deployed kernel lineage in history.

Mike Accetta

1986 paper, first author

Led the writeup that introduced tasks, threads, ports, and messages to the world at USENIX 1986.

Robert V. Baron

Core team, 1986 paper

Central to Mach's IPC design and later CMU's Mach work, including the 1990 Kernel Interface Manual.

William Bolosky

Core team, 1986 paper

Mach VM and kernel engineering; went on to a long Microsoft Research career spanning systems and computational biology.

David B. Golub

Core team, 1986 paper

Kernel engineer and legendary debugger across Mach 2 and Mach 3; later carried expertise into GNU Mach.

Michael Wayne Young

Core team, 1986 paper

Architect of Mach's task/thread and VM foundations; co-author on the exception-handling work that defined Mach 3.

David L. Black

Mach 3 era

Scheduling and the Mach exception-handling facility; co-author of the 1990 Kernel Interface Manual.

Richard P. Draves

Mach 3 era

MIG co-author and the mind behind continuations, Mach's space-efficient thread-management trick that influenced a generation of kernels.

Michael B. Jones

Mach 3 era

MIG co-author from the Matchmaker IPC-interface project; later a long career at Microsoft.

Mary R. Thompson

Mach 3 era

MIG co-author, wrote the Mach 3 installation and build manuals the world installed Mach by, co-created the SUP distribution system, and did foundational work on Mach security.

George G. Robertson

Accent, 1981

Co-author of Accent, Mach's direct ancestor, where ports-as- capabilities and network IPC were first proven.

The Rochester RIG team

1975–79

Jerry Feldman, J.E. Ball, J.R. Low, Paul Rovner, Luidy Bukys and colleagues built Aleph on a Data General Eclipse and started the entire line of thought.

Dario Giuse

The naming

CMU engineer whose Italian spelling of "MUCK" gave Mach its name: one of computing's happiest accidents.

Jay Lepreau

Mach 4, University of Utah

Led the FLUX group that kept Mach alive after CMU, mentoring a generation of systems researchers. (1954–2008)

Bryan Ford

Mach 4 lead developer

Rewrote Mach's thread model around migrating threads, drove the practical x86 releases, and kept the flame burning at Utah.

Thomas Bushnell (BSG)

GNU Mach, 1996

Architect of the GNU Hurd; adopted Utah's Mach 4 as GNU Mach and shepherded its first releases.

Roland McGrath

GNU Mach maintainer

Long-time GNU Mach and Hurd maintainer; steered the OSKit-Mach driver modernization.

And many more

1984–today

Jonathan Chew, Joseph Barrera III, Brian Bershad, Alessandro Forin, Randall Dean, Eric Cooper, David Julin, Richard Sanzi, Steven Shafer, Keith Loepere, the OSF Research Institute team in Grenoble, the MkLinux crew, and every Hurd and Darwin hacker who kept Mach running.

The inheritance

What Mach gave computing.

Ports as capabilities

Kernel-protected communication rights with no ambient authority. The idea behind KyberOS's entire security model, and every modern capability system.

User-space personalities

Mach 3 hosted BSD, DOS, Mac OS, and OSF/1 servers on one kernel. KyberOS's UNIX + Linux personalities are the same idea, done with forty years of hindsight.

Copy-on-write everywhere

Virtual copy for fork, vm_copy, and message payloads. Mach made COW the standard trick for moving data without moving bytes.

External pagers

Memory objects with user-space backing store. Filesystems and drivers became servers, and the kernel stopped needing to know.

MIG and IDL RPC

Interface definitions compiled to RPC stubs: the pattern behind every modern IDL, from CORBA to gRPC to MIG in KyberOS's plan.

The cautionary lessons

IPC overhead punished Mach's multi-server dream and provoked Liedtke's L4 in reply. KyberOS encodes both lessons: fast paths in the IPC core, one fat server per personality.

Lineage

One family tree.

Every branch below started in a Pittsburgh computer science building. KyberOS is a new branch on the original trunk.

RIG / Aleph → Accent → Mach · CMU 1985–94
Mach 2.5 → NeXTSTEP · OSF/1 → Rhapsody · Tru64 → XNU → macOS · iOS · watchOS · visionOS
Mach 3.0 → Mach 4 · Utah → GNU Mach → GNU/Hurd
Mach 3.0 → MkLinux · OSF/1 server · MachTen → the personality-as-server proof
Mach VM → 4.4BSD → FreeBSD and the modern BSDs
the Mach idea → KyberOS · pure Mach, again

A note of thanks

The women and men who built Mach did it in the open: papers, source, manuals, and a design documented well enough to reimplement decades later. KyberOS exists because they chose to share their work. Where we diverge from them, it is with their lessons in hand; where we follow them, it is with gratitude.