Unix (1969)
In 1969, Ken Thompson, working closely with Dennis Ritchie at Bell Labs, created the Unix operating system. Thompson had grown frustrated with IBM's complex 360 architecture and the complexity of the abandoned Multics project.
Shadows of the Past
Like Multics, Unix was designed for interactive systems based on terminals connected to a central computer. Its tree-like directory structure, command names, and shell structure are similar to Multics. Unix was originally named "Unics" but the 'x' was added later — a very weak pun on Multics, according to Brian Kernighan who coined the term. "The idea was Unix was one of what Multics was of many."
A Project for Ourselves
While working on Multics, Thompson had built a computer game called "Space Travel" that simulated the motion of the solar system. When Bell Labs management discovered costly mainframe time was being consumed by a space game, they were not amused.
After the Multics project was abandoned, Thompson found a discarded Digital PDP-7. He and Ritchie rewrote Space Travel for the PDP-7. The hardware constraints helped ensure that Unix was elegant, compact, and simple. Not getting the PDP-10 they had lobbied for turned out to be a blessing in disguise.
Thompson began programming the first version of Unix on the PDP-7 while his wife was away for a month. He gave himself one week for each of the four main components: Kernel, Shell, Editor, and Assembler.
"We did it for ourselves. We were arrogant czars in that sense." — Ken Thompson
Tools Philosophy
The big breakthrough was implementing software "pipes" in 1972 — the idea of connecting programs like garden hose segments, where the output of one program feeds as input to another. The work was accomplished in three nights: Thompson alone on the first, joined by Ritchie on the next two.
"Those were probably three of the greatest nights of my life." — Ken Thompson