Andrew Tanenbaum and MINIX
Zusammenfassung
Andrew S. Tanenbaum taught more people operating systems than anyone alive — through textbooks that defined four subfields and through MINIX, the teaching Unix he wrote when AT&T’s lawyers banned teaching from the real one. A frustrated Finnish student named Linus Torvalds bought his book, ran MINIX, and built Linux on top of it — and Tanenbaum promptly told him, in the most famous flame war in operating-systems history, that his design was obsolete. Decades later came the punchline nobody predicted: Tanenbaum’s microkernel MINIX 3 turned out to be running secretly inside the management engine of nearly every Intel chipset on Earth.
The Physicist Who Moved to Amsterdam
Andrew Stuart Tanenbaum (born March 16, 1944, in New York City) studied physics at MIT and took a PhD in astrophysics at Berkeley in 1971 — then promptly left both physics and the United States. From the early 1970s until his retirement in 2014, he was professor of computer science at the Vrije Universiteit Amsterdam, becoming one of the rare Americans to build an entire career in European academia (see European Computer Science Academia) and a Dutch citizen’s view of American politics he would later put to unexpected use.
His first fame was as a writer. Structured Computer Organization (1976), Computer Networks (1981), Operating Systems: Design and Implementation (1987), and Modern Operating Systems (1992) — plus the distributed-systems texts with Maarten van Steen — became the standard university textbooks of their fields across decades and translations. Generations of computer scientists, including essentially everyone who built the operating systems of the 1990s, learned the field from “the Tanenbaum books.” The ACM gave him its Karl V. Karlström Outstanding Educator Award in 1994.
MINIX: Unix for the Classroom
Through the 1970s, universities taught operating systems from the actual Unix source code, most famously via John Lions’s annotated commentary. When AT&T’s Version 7 license (1979) forbade using the source in teaching, the field’s best teaching material became contraband overnight (see The Unix Story).
Tanenbaum’s response was characteristic: he wrote his own Unix. MINIX (“mini-Unix”), released in 1987 with his Operating Systems: Design and Implementation textbook, was system-call compatible with Version 7 Unix, contained not a single line of AT&T code, ran on a cheap IBM PC, and — crucially — was structured as a microkernel: a tiny kernel passing messages between user-space servers for files, memory, and devices, the architecture Tanenbaum considered self-evidently correct for reliability and pedagogy alike (see Operating System Concepts). The complete, readable source shipped with the book. Within weeks a Usenet community of tens of thousands formed around it (see Usenet: The Original Online Community).
But MINIX was a teaching system, and Tanenbaum policed that boundary: patches that made it bigger and more practical — virtual memory, networking ambitions — were routinely declined, because every added feature made it worse as a course text. One of the students reading the book and running MINIX on his new 386 in Helsinki found that boundary intolerable.
“LINUX is obsolete”: The Debate
On January 29, 1992, Tanenbaum posted to comp.os.minix under the subject line “LINUX is obsolete.” Linus Torvalds’s five-month-old kernel, he argued, was a giant step backwards: a monolithic kernel (everything in one privileged blob) when the field had agreed the future was microkernels, and welded to the 386 when portability was the lesson of Unix history. “Designing a monolithic kernel in 1991 is a fundamental error,” he wrote. “Be thankful you are not my student. You would not get a high grade for such a design.”
Torvalds’s heated reply (“your job is being a professor and researcher: That’s one hell of a good excuse for some of the brain-damages of minix”) opened the Tanenbaum–Torvalds debate, the canonical argument of OS design. On the theory, much of the field sided with Tanenbaum; in practice, Linux’s pragmatism, its GPL license, and its welcoming attitude to contributions won completely (see The Open Source Revolution). Both men kept their positions for decades with good humor — Tanenbaum maintaining that Linux would have happened on BSD if not MINIX, and that he was still right about microkernels. On that last point, history has been kinder to him than the 1990s were: QNX runs cars, seL4 was formally verified, and modern systems push ever more out of the kernel.
MINIX 3 and the Strangest Vindication in OS History
In 2005, Tanenbaum relaunched the system as MINIX 3 — no longer just a teaching tool but a research vehicle for self-healing operating systems: drivers run as unprivileged, restartable user processes, so a crashing driver becomes a hiccup instead of a kernel panic.
Then, in 2017, security researchers digging into the Intel Management Engine — the hidden computer-within-the-computer present in virtually every Intel chipset since 2008 — discovered it was running MINIX 3. Intel had quietly adopted it (its BSD license requires no disclosure), meaning Tanenbaum’s classroom microkernel was suddenly, plausibly, one of the most widely deployed operating systems on x86 hardware in the world — running invisibly, with more privilege than the user’s actual OS. Tanenbaum’s open letter to Intel was perfectly in character: gracious thanks, no demand for payment (“This was a complete surprise. I don’t mind, of course”), and the mild regret that nobody from Intel had told him afterwards, “just as a courtesy, that MINIX was now probably the most widely used operating system in the world on x86 computers” — he had learned it from the press. Security researchers were less amused about the undisclosed, unauditable computer in everyone’s machine (see Cybersecurity: The Invisible War).
⚠️ Dead End: Amoeba — The Distributed OS That Left Behind a Snake
Tanenbaum’s main research system of the 1980s–90s was Amoeba, a distributed operating system with a radical premise: the network is the computer. A user would log into the system as a whole; processes ran wherever the “processor pool” had capacity; files and objects were addressed by location-transparent capabilities. Amoeba worked, was fast for its time, and went nowhere: like Plan 9, it answered architectural questions the market wasn’t asking, while cheap Unix workstations and then Linux PCs made “good enough and compatible” unbeatable. Distribution eventually arrived not as an OS but as middleware and cloud orchestration layered over boring kernels (see Distributed Systems).
But Amoeba has an immortal footnote. At CWI in Amsterdam, a programmer on the Amoeba project needed a scripting language for system administration and, over Christmas 1989, started building one. The programmer was Guido van Rossum; the language was Python. The distributed OS died; its sysadmin tool conquered the world.
Fun Fact: The Votemaster
In 2004, a mysterious website called electoral-vote.com began publishing daily poll-by-poll forecasts of the US presidential election, run by an anonymous “Votemaster.” Speculation about the author’s identity ran for months until, on November 1, 2004 — the day before the election — he revealed himself: Andrew Tanenbaum, professor in Amsterdam, motivated as an American expatriate (and, as he noted, the data-processing instincts of a computer scientist). He has run the site through every US federal election since, making him perhaps the only person to have shaped both how programmers understand kernels and how political junkies read polling averages.
📚 Sources
- Wikipedia: Andrew S. Tanenbaum
- Andrew Tanenbaum’s homepage (Vrije Universiteit)
- The Tanenbaum–Torvalds debate — full archive (in Open Sources, O’Reilly 1999, Appendix A)
- MINIX 3 official site
- Tanenbaum: An Open Letter to Intel (November 2017) — MINIX in the Intel Management Engine
- Wikipedia: Tanenbaum–Torvalds debate
- Wikipedia: MINIX · Amoeba (operating system)
- Guido van Rossum: Foreword for “Programming Python” — Python’s origin on the Amoeba project
- electoral-vote.com — the Votemaster
- ACM Karl V. Karlstrom Outstanding Educator Award: Andrew Tanenbaum (1994)