Who Invented the Computer? Ken Thompson, Dennis Ritchie, and Unix
Who Invented the Computer? This is the thirty-first installment in our ongoing series.
In the long-ago times of the early 1960s, computers and programming were entirely dependent on batches of punch cards. Executing a program on a computer was a time-consuming and arduous process. A programmer would first write a program out by hand, hopefully working out the bugs in the process. Then, with the help of a punch card machine, the programmer would convert the program to physical punch cards.
Once the punch cards were ready to go, the programmer would schedule a block of time on a shared mainframe machine so that they could run their program. Upon loading the punch cards, the programmer would then sit and wait for the program to successfully run.
The solution to the problems of scheduling time on the computer and not letting the machine sit idle between users came in 1959, when computer scientist John McCarthy conceived of the idea of time-sharing, where the central processing unit of a mainframe would switch very rapidly (every one-tenth of a second) between multiple running programs so that users would not notice any lag in operations.
Once perfected, time-sharing would drastically lower the cost of providing computing capability and be a major advancement for the industry. That was a potent start, but there was still a long way to go.
The Seeds of an Idea
During the mid-1960s, MIT, General Electric, and AT&T’s Bell Labs collaborated to create a time-sharing operating system (OS) based on McCarthy’s concepts. Together they created Multics, the world’s first general purpose multiuser OS. Multics had some impressive innovations, but also some serious shortcomings.
By 1969, AT&T decided that Multics lacked sufficient commercial value to continue work on it. Company mucketymucks ordered the Bell Labs personnel to abandon the project. AT&T did officially walk away from Multics, but two Bell Labs engineers, Kenneth Thompson and Dennis Ritchie, refused to let the project die. They saw promise and were determined to see their work result in something of value.
Collaborating clandestinely, Thompson and Ritchie wrote an outline for a new type of computer file system. Their design concept made categorizing computer files simple by placing them in digital containers which could themselves be placed in other digital containers. This “navigable file directory” is the method that remains in use by all modern computers.
During his time on the Multics project, Thompson had written a game to run on the system. After Bell Labs abandoned the project, Thompson, working on his own at home, rewrote the game’s code, making it shorter, so it could run on a surplus 18-bit PDP-7 computer that was collecting dust in the lab.
As he modified his game code, Thompson also decided to rewrite the Multics OS to see if it would also run on the PDP-7. It did, and his colleagues were impressed with the results. They joked that Thompson had converted “the multiplexed information and computing system into the un-multiplexed information and computing system.”
An unnamed colleague even commented that Thompson had “castrated Multics,” and dubbed the new system UNICS — a portmanteau of the words "eunuch" and "Multics." At some point, some killjoy said the moniker was “childish” and, to avoid contention, the name was officially changed to Unix.
While Unix successfully ran on an outmoded computer, Thompson and Ritchie wanted a more powerful machine to make further enhancements. Claiming a need for “legitimate projects,” the duo convinced management to purchase a newer and more powerful PDP-11 system — all the while working sub rosa to prove Unix’s viability.
The Secret Gets Out
It’s impossible to keep good things secret, and so it was with Unix. AT&T eventually found out what Thompson and Ritchie were up to and, with a little explanation, quickly realized that the Unix OS was a major computing advancement.
Unfortunately, Unix wouldn’t turn out to be a cash cow for AT&T. A 1913 legal agreement with the U.S. government prohibited the company from “selling or supporting products or services that are not explicitly telephone and telegraph systems.” Unix was strictly for computers. The best AT&T could do was to license the OS to anyone who wanted it, for a nominal fee.
Thompson and Ritchie were soon making the rounds at trade shows and computer exhibitions extolling the power and benefit of Unix. The OS had four major perks:
Portability — It ran on most hardware.
Programming — This could now be done in a variety of existing languages.
Resource Sharing — The time-sharing feature enabled large numbers of programmers to work with the system simultaneously.
Ease of Use — The Unix code was simple to use and alter.
Surprisingly, without support from AT&T, Unix exploded in popularity as individual programmers took advantage of the system’s “open source” nature to tinker with the code and fix bugs. These same programmers also began sharing tips and ideas with others through the mail, on discussion boards, and, adding insult to injury, over the phone.
Realizing they were losing a fortune, AT&T sent lawyers to enforce their claim to Unix. The effort not only failed but actually increased the illegal file sharing as hordes of programmers seemingly felt it their “duty” to spread the OS throughout the industry. An additional impediment to AT&T’s efforts to protect their creation was that several legal recreations of the original OS were already in wide use.
Unix Goes Boom
Over the years, programmers working at Bell Labs, along with tens of thousands of independent programmers, would continue to make improvements to Unix and in the process create their own software packages. With such widespread use, Unix soon became the go-to computer operating systems.
The system’s big leap to fame occurred in 1983, when UC Berkeley added support for the internet’s transmission control protocol/internet protocol (TCP/IP) networking protocol to Unix. This meant that any individual or organization who went online and ran the Berkeley Standard Distribution (BSD) of Unix had access to an e-mail server, a mail client, and could even play games.
The computing world owes a debt to Thompson and Ritchie for not dropping the program when ordered. Unix pioneered numerous standards and protocols that are still used to create and modify operating systems today. For example, the OS used for Apple's Mac computers (and used in modified form to serve the Apple family of handheld devices) is based on Unix. Think about that the next time that your boss tells you to stop messing around and work on something important.