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.
Biographies
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 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