Kenneth Lane Thompson

Kenneth Lane Thompson was born February 4, 1943 in New Orleans, Louisiana. His father was in the US Navy and the family moved often.

Thompson received a Bachelor of Science in 1965 and a master's degree in 1966 in Electrical Engineering and Computer Science from the University of California, Berkeley.

After graduation, Thompson and Dennis Ritchie joined the Bell Laboratories Computing Sciences Research Center in Murray Hill NJ. At the time, staff members of this group had considerable latitude in choosing research topics in computing theory, languages, programming and systems. Since 1964, members of the group had been participating in the design and development of the Multics timesharing system, along with developers from MIT's Project MAC and General Electric.

In 1969, Bell Labs withdrew from the Multics project. The Computing Sciences Research group members searched for other projects, and in particular for a computing environment with an on-line community that avoided the "big system mentality."  Unix would provide such an environment.

Thompson wrote the first version of the Unix operating system for a Digital Equipment Corporation PDP-7  in a month, using a cross-assembler that ran on GECOS. The PDP-7 he used had only 4K of 18-bit words. Dennis Ritchie wrote,

It began in 1969 when Ken Thompson discovered a little-used PDP-7 computer and set out to fashion a computing environment that he liked. His work soon attracted me; I joined in the enterprise, though most of the ideas, and most of the work for that matter, were his.

Unix provided users with interactive remote terminal computing and a shared file system. Source code was provided with the system, and the community of users could share ideas and programs directly and informally. Because Unix ran on a relatively inexpensive minicomputer, small research groups could experiment with it without dealing with computation center bureaucracies.

In 1971, the Bell Laboratories Computing Sciences Research group ported Unix to a Digital Equipment Corporation PDP-11 to support text processing for the Bell Laboratories Patents Office. By 1972, there were 10 installations of Unix at AT&T.

Thompson also created an interpretive language, called B, based on BCPL, which he used to re-implement the non-kernel parts of Unix. Ritchie added types to the B language, and later created a compiler for the C language. Thompson and Ritchie rewrote most of Unix in C in 1973, which made further development and porting to other platforms much easier.

The second ACM Symposium on Operating Systems Principles was held in Elmsford, NY in 1973, and Thompson and Ritchie presented a clear and well-written paper describing Unix. The Unix system presented in the paper was elegant and simple, providing a useful and extensible multi-user programming environment on an affordable machine. The file system and libraries included with the system made it easy to build and share application programs and to augment the system's functions. By the end of 1973, there were over 20 Unix systems running.

Thompson and Ritchie continued the development of Unix and C at Bell Laboratories, along with other Computing Sciences Research group members. Unix use spread further within AT&T. The Sixth Edition, released in 1975, began the spread of Unix to university, commercial, and government users of the popular DEC PDP-11 computers. AT&T, forbidden by court decree from selling Unix, licensed it for the cost of media. Enthusiastic users had the source code available, and fed improvements to Unix back to the Bell Labs developers. A 1977 retrospective paper by Ritchie  said that there were more than 300 Unix installations running, on configurations from a single-user DEC LSI-11 to a 48-user PDP-11/70. By 1978, there were over 600 Unix installations, and Unix had begun to be ported to other minicomputers.

In the late 1970s, John Lions of the University of New South Wales circulated a book  on Unix that included the source code and commentaries on it. This book was used to teach Unix in operating systems courses around the world, and created a generation of computer scientists familiar with Unix internals.

In 1983 Thompson and Ritchie received the ACM A. M. Turing Award. The Turing Award selection committee wrote:

"The success of the UNIX system stems from its tasteful selection of a few key ideas and their elegant implementation. The model of the Unix system has led a generation of software designers to new ways of thinking about programming. The genius of the Unix system is its framework, which enables programmers to stand on the work of others."

In the mid-1980s, several organizations promoted different technical approaches to Unix on different platforms, with different licensing arrangements. Thompson and Ritchie were honored as the originators of the system but no longer controlled its destiny. They went on to other computing research projects within AT&T.

Thompson also studied computer chess with other AT&T colleagues. He and Joe Condon built the world champion chess-playing computer Belle, the first computer to attain a master rating. (Belle was later donated to the Smithsonian Institution.)

In late 2000, Thompson retired from Bell Labs. He worked at Entrisphere, Inc as a Fellow until moving to Google in 2006 as a Distinguished Engineer, where he worked on Google's programming language Go.


Thompson - Unix.pdf