El Pop

My personal interests, reflections, and thoughts


The Story of Ken Thompson

This document provides an analysis of the life and professional philosophy of Ken Thompson, the co-creator of Unix. Born in 1943, Thompson developed a lifelong preference for minimal, consistent internal rules and concise reasoning. While working at Bell Labs, the collapse of the ambitious but overly complex Multics project provided the space for Thompson to experiment on an old PDP-7. What began as a port for his game “Space Travel” evolved into Unix—a stripped-down, coherent operating system. Unix emphasized simplicity, text-based interfaces, and the composition of small, focused tools. This philosophy not only reshaped operating system design but also created a decentralized community of researchers and developers, eventually forming the bedrock of modern computing.

Historic Context

  • Bell Labs & AT&T (1960s-70s): the environment where Unix was born.
  • The Multics Project: A massive, ambitious attempt at a unified computing environment that eventually failed due to excessive complexity and rising costs, leading AT&T to withdraw.
  • Academic Influence: Thompson’s time at UC Berkeley under mathematician Elwin Berlichamp instilled a value for concise reasoning.
  • Corporate Constraints: AT&T’s inability to sell software as a product led to the cheap licensing of Unix source code to universities, fostering a decentralized, collaborative community of developers who shared improvements informally.

Key Persons and Entities

  • Ken Thompson: The central figure; architect of Unix and Plan 9.
  • Dennis Ritchie: Close collaborator in the development and expansion of Unix.
  • Rudd Canessa: Collaborator involved in the early days of Unix.
  • Elwin Berlichamp: Thompson’s mentor at UC Berkeley.
  • John Lyons: A researcher in Australia who wrote the legendary annotated commentary of the Unix kernel.
  • Joe Osana: Developed a text formatter that provided the business justification (for the patent department) to acquire the PDP-11.
  • Bell Labs / AT&T: The institutional setting for the creation of Unix.

Technical Discoveries and Contributions

  • Unix Operating System:
    • Developed as an “un-Multics” (a simplified alternative).
    • Introduced a hierarchical file system.
    • Created a shell designed for the composition of tools.
    • Established text as the universal interface between small, focused programs.
  • Plan 9: A further evolution of the ideas present in Unix.
  • Other Contributions: Development of regular expressions, C-compilers, and chess engines.
  • Space Travel: The game whose port to the PDP-7 served as the catalyst for building the Unix environment.

Consequences and Legacy

  • Foundation of Modern Computing: Unix is the unseen foundation for the majority of modern servers, network infrastructure, and mobile phones.
  • OS Lineage: Directly influenced BSD systems and macOS.
  • Software Philosophy: Popularized the “Unix Philosophy”: write small programs that do one thing well and can be composed via text streams.
  • Influence on Ecosystems: While Thompson criticized Linux for its perceived lack of design discipline and sprawling nature, Linux itself is a re-implementation of the Unix-like ideas he pioneered.
  • Professional Standard: Shifted the industry away from monolithic, layered abstractions toward clear, comprehensible, and maintainable system design.