Turing Award 1983 - Dennis M. Ritchie and Ken Thompson

For their development of generic operating systems theory and specifically for the implementation of the UNIX operating system.

Contents:

Biographies Their Work UNIX Today References

Biographies

Dennis Ritchie Dennis M. Ritchie was born in 1941 in Bronxville, N.Y. He received his entire education after high school at Harvard University, which may explain why he's done so well for himself. As an undergraduate, he majored in Physics, and his work in graduate school was in Applied Mathematics.

After receiving his Ph.D. in 1968, Dennis Ritchie joined Bell Laboratories, following in the footsteps of his father, Alastair E. Ritchie, who himself worked at Bell Labs designing electronic circuits. Dennis Ritchie's work, however, went in a different direction.

Ritchie joined Ken Thompson in creating an operating system for the Multics computer. The operating system that evolved from their efforts was the UNIX operating system. Along the way, Ritchie created the C programming language, whose successor - C++ - is probably the most popular language in use today.

Nowadays, Ritchie continues to be interested in operating systems. Still working at Bell Labs, he leads a small team of researchers who have recently released two new operating systems: The Plan 9 operating system and the Inferno operating system. Besides the Turing Award, Ritchie has received the following major awards: IEEE Emmanuel Piore Award (1982), ACM Software Systems Award (1983), C&C Foundation award of NEC (1989), IEEE Hamming Medal (1990), U. S. National Medal of Technology (1999).

Ken Thompson Ken Thompson was born in 1943 in New Orleans, Louisiana. As the son of a Navy officer, Thompson spent his early years moving from place to place. He went to college at UCAL Berkeley, majoring in electrical engineering. He received his M.S. in electrical engineering from Berkeley as well, in 1966.

Thompson joined Bell Laboratories and along with Dennis Ritchie and others worked to develop an operating system for the Multics computer. Their efforts eventually culminated in the UNIX operating system. Along the way, Thompson also created the B programming language - a predecessor to the C programming language - which he used to write UNIX.

Another significant achievement was his work in building "Belle" (in conjunction with Joe Condon), a chess-playing computer that won the U.S. and World Computing Chess Championships in 1980. Thompson also spent time as a visiting professor, at Berkeley in 1975-76, and at the University of Sidney in 1988. Thompson retired from Bell Labs in 2000.
Back to top

Their Work

Ironically, the work that would lead to the immensley successful UNIX operating system began with a failure. The task set before Thompson, Ritchie and others in 1966 was to develop an operating system for the Multics (MULTIplexed Information and Computing Service) computer. In those days, operating systems were severley limited. Their goal was to create a system that would be convenient to use for a large number of users. Their efforts were ultimately fruitless, and the system that resulted was cumbersome and very expensive.

After the failure of Multics, Thompson decided he wanted to create his own operating system and have a machine with which he could conduct future research. Bell Labs was initially opposed to the idea, and the group had to use an old PDP-7 machine to develop UNIX. An afternoon discussion on ways to organize files on a computer led Thompson to throw together the original UNIX filesystem on the PDP-7. Starting there, Thompson expanded the system step by step. Once the system was working, the first "customer" was Bell Labs' own Patent Division. From there, Berkeley University started using the system after Thompson had introduced it while an assistant professor there. After that, UNIX became widely known and developed into the popular OS it is today.

Thompson and Ritchie introduced many of the basic concepts of operating systems which remain today. One of the most important programs that Thompson developed was the assembler, which allowed UNIX in essence to maintain itself. Before, the programs for the system were written and assembled on a different machine, then transported to Thompson's UNIX machine. This made for tedious and difficult debugging. With its own assembler, programs could be created and edited on the machine they were running on.

Another important concept for multi-user operating systems was the notion of processes. Since a single processor can only run one chunk of code at a time, the idea of switching processes on and off the CPU is central to creating the illusion that a user is the only one using the computer on a multi-user timesharing system. Process management is a major area in operating system theory, and an area that Thompson and Ritchie first broached with their work on UNIX.

The idea of piping - i.e. making the output of one program the input of another one - was also a mechanism created by Thompson and Ritchie. The introduction of this concept (which Thompson implemented in a single night on the original PDP-7!) signified a major change in the philosophy of computer programs. Instead of having a few large programs handle many tasks (often badly), Thompson and Ritchie's idea was to have a bunch of simple, little programs that performed a single task - but performed it well. Then, you combined these programs to accomplish the large and complicated task. The piping mechanism was the practical mechanism that allowed this philosophy to be realized.

Almost as important as UNIX itself, Thompson and Ritchie were the men who created the C programming language. Originally Thompson, frustrated by his attempt to use FORTRAN to build UNIX, came up with a language that combined high level features with the efficiency of assembly language. He named it "B". Later, Ritchie added types and other features to Thompson's language and named it "C". C has evolved into C++, which is the most widely used language today, and still combines the high- and low-level functionality that Thompson and Ritchie originally designed.
Back to top

UNIX Today

The UNIX operating system Ritchie and Thompson created has evolved, but many features have remained remarkably unchanged. The two most popular implementations are Sun Microsystem's Solaris OS, and Linus Torvald's implementation of a UNIX system, Linux. Most Internet servers run UNIX operating system, beating out its far newer rival, Windows 2000 and its family of server applications. It is a tribute to the work Thompson and Ritchie accomplished that a 30 year old operating system, devised and built by a few people on a shoe-string budget, can outperform software created by some of the best software engineers working for the world's most powerful company.
Back to top

References

Dennis Ritchie Bio
   
http://cm.bell-labs.com/cm/cs/who/dmr/bigbio1st.html

Biography of Dennis M. Ritchie
    http://www.bell-labs.com/history/unix/ritchiebio.html

Biography of Ken Thompson
    http://www.bell-labs.com/history/unix/thompsonbio.html

The Creation of the UNIX Operating System
    http://www.bell-labs.com/history/unix/


Back to top