Getting Geeky: The 50th Anniversary of Unix


Ken Thompson (sitting) and Dennis Ritchie (standing) in front of a PDP-11. Ritchie annotated this press image for Bell Labs as "an amusing photo."

Ken Thompson (sitting) and Dennis Ritchie (standing) in front of a PDP-11. Ritchie annotated this press image for Bell Labs as “an amusing photo.”

It’s been a while since WC got down and wallowed in some computer geeky goodness and, by coincidence, it’s pretty close to the 50th anniversary of the creation of Unix. And because Unix, without question is the most important computer operating system yet invented, let’s take a look at the amazing history of the first multi-user computer operating system and why it is important.

Back in 1968-69, AT&T, the old monopoly, Ma Bell, operated Bell Labs in New Jersey. Bell Labs was where the transistor was invented, and was one of the pioneers in early mainframe computing. When a joint effort among several big players in early computing, something called “Multics,” failed, the team at Bell Labs that had been working on the abandoned programming project found themselves at loose ends. Their mainframe computer had been taken away, but they managed to persuade another Bell Labs division to let them use one of their computers, a DEC PDP-7 minicomputer. Using that hardware, without authorization or much supervision, three programmers Kenneth Thompson, Dennis Ritchie, and Rudd Canaday, wrote a file management system. They did so without actually have a file storage device. Along the way, they pretty much invented time-sharing (multiple programs sharing the same computer), and batch computing (automatically running one program after another).

And most importantly, they made real-time computing possible. Prior to that, your wrote your programs onto hole-punched paper cards. The “card reader” read the program, ran it and printed out a result, usually “SYNTAX ERROR.” If you were very lucky,  you might also get a line reference or some other possibly helpful information. But generally not. At the University of Oregon, about the same time, WC generated an appalling, immensely frustrating number of printouts saying “Syntax Error.”

With a prototype file management system in hand, and when Thompson wife and family went on vacation, Thompson, in just over a week, coded a kernel and and editor, a pretty amazing feat by any standard. With a little polishing, they had version 1.0 of Unix, in early September, 1969.

Why “Unix”? Officially, it stands for “UNIplexed Information and Computing System. Unofficially, and consistently with the way the neologism is pronounced –  “eunuchs,” – it stood for “Multics without any balls,” because it was developed and ran on an obsolete hand-me-down computer. Since then those three core (sorry) developers and thousands of others have added features, patched it, tweaked it and hacked it, but it’s still Unix.

Why is Unix so important?

Initially, Bell Labs didn’t charge for its use. Half a dozen different versions sprang up. When AT&T was broken up as an illegal monopoly in 1982, AT&T was forbidden by the terms of divestiture order from charging for Bell Labs products. When the order lapsed, and AT&T attempted to charge for Unix, Richard Stallman and others set about re-creating Unix using software that could be distributed to anyone free of charge—with no restrictions on modification. They called their project “GNU,” which stood for “GNU’s Not Unix.” In 1991, Linus Torvalds, then a student in at the University of Helsinki, Finland, used several of the GNU tools to write an operating system kernel that would run on PCs, the operating system that eventually called Linux, became the basis of the Android operating system in 2004. The University of California Berkeley wrote a variation – BSD Unix – that was used by Steve Jobs when he started up NeXT. When Apple bought NeXT, the NeXT Unix operating system becamse the basis for Mac OS X. A simpler version of OS X has powered every Apple iPhone.

Unix was free (despite AT&T’s later strenuous efforts to make people pay), and you could modify it if you wanted, and add stuff. You could recompile the source code and run it on almost any kind of CPU. It became the prototype for public domain software.

More than that, the ideas first implemented in Unix – real-time operation, batch processing, multi-user access, text editors – have been incorporated in every computer operating system since.

And it’s all because three very smart programmers were left alone, to their own devices, in a research and development facility in New Jersey.

 

Advertisements