# Ken Thompson

Kenneth Lane Thompson (* 4. Februar 1943 in New Orleans, Louisiana) ist ein US-amerikanischer Informatiker, der unter anderem maßgeblich an der Entwicklung des Unix-Betriebssystems beteiligt war. Er erhielt für seine Arbeiten zahlreiche Ehrungen und Auszeichnungen, darunter den Turing Award.

## Leben

An der Universität von Kalifornien in Berkeley, Kalifornien absolvierte Thompson ein Studium der Elektrotechnik. 1969 implementierte er zusammen mit seinem Kollegen Dennis Ritchie in den Bell Labs die erste Version des Unix-Betriebssystems in Assemblersprache. Als Anekdote wird gerne erzählt, dass die wahre Motivation hinter der Entwicklung von Unix war, das Spiel Space Travel auf eine wenig verwendete PDP-7 zu portieren, da auf den normalen Großrechnern eine Stunde Rechenzeit 75 US-Dollar kostete.
Für Unix schrieb Thompson unter anderem die erste Shell, retronym Thompson-Shell „sh“, und den Zeileneditor ed. Er entwickelte die Programmiersprache B, einen Vorgänger der Sprache C, die noch heute zu den weltweit meistbenutzten Programmiersprachen gehört. Später entwickelten er und Rob Pike, ebenfalls an den Bell Labs, das Betriebssystem Plan 9.
Unter Beratung von John Roycroft entwickelte er Programme zur kompletten Analyse von Endspielen beim Schach. Die Ergebnisse dieser Arbeit stellte er auf vier Endspiel-CDs anderen zum Selbstkostenpreis zur Verfügung. Sie wurden später auch vertrieben. Mit Endspieldatenbanken kann ein Schachprogramm ein Endspiel (gegenwärtig mit höchstens sieben Figuren auf dem Brett) perfekt spielen, indem es auf die notwendige Information in der Datensammlung zugreift. In Gewinnstellungen findet es (je nach Zielstellung) den direkten Weg zum Matt oder zur Konvertierung in ein gewonnenes anderes Endspiel (durch Umwandlung oder Schlagen einer Figur); in Verluststellungen kann es den Verlust der Partie so weit wie möglich hinauszögern.
Zusammen mit Dennis Ritchie erhielt er 1983 den Turing Award, 1990 die Richard-W.-Hamming-Medaille des Institute of Electrical and Electronics Engineers (IEEE). 1985 wurde Thompson in die National Academy of Sciences, 1991 in die American Academy of Arts and Sciences gewählt. 1999 überreichte Bill Clinton ihm und Dennis Ritchie die National Medal of Technology für die Entwicklung von Unix und C, und 2011 wurde den beiden der Japan-Preis, ebenfalls für ihr Unix-Engagement, zuerkannt. 2019 wurden beide in die National Inventors Hall of Fame aufgenommen.
In seiner Rede zum Erhalt des Turing Awards beschrieb Thompson, wie er eine besondere Art von Backdoor entwickelte. Dabei handelte es sich um einen Compiler, der bei der Kompilierung eines Unix-Login-Programms unbemerkt eine Hintertür einbaut. Wenn es einmalig gelingt, den präparierten Compiler auf einem System zu installieren, ist es unerheblich ob die Backdoor-Codesequenz im Quellcode eines neu zu kompilierenden Compilers enthalten ist. Wenn der Compiler selbst auf diesem System kompiliert wird, erkennt er dies und fügt den Schadcode wieder ein. Auf diese Weise findet sich im Quellcode des Compilers keine Spur der Manipulation, trotzdem wird sie auch bei späteren Versionen des Compilers im Maschinencode erhalten bleiben.
Thompson entwickelte in den späten 1970er- und frühen 1980er-Jahren zusammen mit seinem Kollegen Joe Condon (1935–2012) den Schachrechner Belle, der 1980 die Computerschachweltmeisterschaft (WCCC) gewinnen konnte. Ferner entwickelte er 1992 zusammen mit Rob Pike UTF-8, ein weit verbreitetes System zum Kodieren von Unicode-Zeichen.
Thompson verließ die Bell Labs am 1. Dezember 2000. Danach war er bis 2006 Partner bei Entrisphere, Inc. und arbeitet inzwischen als angesehener Entwickler bei Google, wo er zusammen mit Rob Pike und Robert Griesemer die Programmiersprache Go entwickelte.

## Trivia

2019 wurde bekannt, dass Thompson 39 Jahre zuvor das Passwort p/q2-q4! benutzte. Es steht in der nicht mehr so gängigen beschreibenden Notation für die Damenbauerneröffnung d2–d4.