Über unsMediaKontaktImpressum
Persönlichkeiten der Informatik 04. Februar 2019

Ken Thompson (Kenneth Lane Thompson)

Erfinder des Betriebssystems "Unix", der ersten Shell, des Zeileneditors ed und der Programmiersprache B als Vorläufer von C.

1969 war ein magisches Jahr: Menschen flogen zum Mond, das ARPANET (der Vorläufer des heutigen Internets) startete, UNIX wurde geboren. In diesem Jahr schrieb Ken Thompson das Computerspiel Space Travel. Es simulierte eine Reise durch das Sonnensystem. Eine recht einfache 2D-Ansicht aus der Vogelperspektive zeigte die Bewegungen. Tastaturkombinationen für Richtung, Schub und Zoomfaktor steuerten das Raumschiff. Space Travel spielte eine wichtigere Rolle in der Entwicklung der Computer-Industrie als jedes andere Spiel: Es war eine wesentliche Motivation für die Entwicklung von Unix.

Kenneth Lane Thompson wurde am 04. Februar 1943 in New Orleans im Bundestaat Louisiana geboren. Seine Kindheit verbrachte er in den verschiedensten Städten Nordamerikas. Sein Vater arbeitete für die US Navy und die Familie musste deshalb oft umziehen. Für sein Studium der Elektrotechnik verschlug es ihn an die University of Kalifornien, Berkeley (UCB).

Nach seinem Bachelor- und Masterabschluss im Jahr 1966 wurde er von Bell Labs, dem Forschungs- und Entwicklungszweig von AT&T, dem ehemaligen US-amerikanischen Telekommunikationsmonopol, eingestellt. Dort arbeitete Thompson zunächst an der Entwicklung des Multics (Multiplexed Information and Computing Service), welches als bahnbrechendes Mehrbenutzer-Betriebssystems gehandelt wurde, allerdings nach einiger Zeit an seiner eigenen Komplexität scheiterte. Der Bedarf an einem Betriebssystem wie Multics war jedoch ungebrochen. Es musste ein System her, welches die Ressourcen eines Computers mehreren Nutzern gleichzeitig zur Verfügung stellt.

Space Travel - oder wie Unix erfunden wurde ...

Wenige Wochen nach der Mondlandung 1969 nahmen sich Thompson und sein Kollege Dennis Ritchie († 2011) dieser Herausforderung an. Ihre eigentliche Motivation war jedoch eine andere: das Weltraumspiel "Space Travel". Das Spiel, das beide zunächst auf Multics geschrieben und dann für das GECOS-Betriebssystem in Fortran umgeschrieben hatten, lief auf einem GE 635-Computer. Doch das Spiel war ruckartig und schwer zu kontrollieren, da der Spieler Befehle eingeben musste, um das "Space Ship" zu steuern. Zudem kostete es etwa 75 Dollar pro Stunde, was für das Unternehmen zu teuer und nicht rentabel genug war.

Thompson und Ritchie wollten "Space Travel" nicht aufgeben und trieben einen weitgehend ungenutzten PDP-7 auf. Der knapp 70.000 teure Miniatur-Großrechner, welcher etwa so groß ist wie ein Kleiderschrank, hatte eine 18-Bit-Wortlänge und nur vier Kilobyte Speicher. Dieser kleine Speicher war ein wichtiger Faktor dafür, dass Thompson sein Betriebssystem extrem klein und "einfach" ausstatten musste. In etwa vier Wochen entwickelte Thompson sein eigenes Betriebssystem, damit ihr Spiel auf dem PDP-7 laufen konnte. Unix war geboren.

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.
-Dennis Ritchie über Kenneth Thompson

Am Anfang fungierte ihr System als Textverarbeitungssystem in der Patentabteilung der Bell Labs und lief auf der fortgeschrittenen Ausführung PDP-11. Den tagtäglichen Gebrauch nutzten die Programmierer, um die Software weiter zu verbessern. Schließlich wurde im November 1971 das Unix Time-Sharing System First Edition veröffentlicht. Fortan wurde Unix vor allem an Universitäten genutzt, da das System auf günstiger Hardware funktionierte und zudem kostenlos war.

Der Vorläufer der Programmiersprache C

Die erste Version von Unix war in Assembler geschrieben worden, jedoch war Thompsons Intention, auf einem höheren Level zu programmieren. Mit seinem Kollegen Ritchie wagte er den ersten Versuch einer Sprache, die sie "B" nannten. Aus "B" sollte später "C", eine der bis heute am häufigsten genutzte Programmiersprache, resultierten.

In den späten 70er Jahren entwickelte er mithilfe seines Kollegen Joseph H. Condon das Computerschachprogramm "Belle". Mit "Belle" war es möglich, 180.000 Stellungen in der Sekunde zu erzeugen und zu bewerten. In den 80er Jahren begann er, alle legalen Endspielpositionen mit vier und fünf Figuren auf dem Board zu generieren und zu speichern. Ein typisches fünfteiliges Ende – wie König und zwei Läufer gegen König und Springer – enthält 121 Millionen Positionen. Bei einem Bauern, der in seinen Bewegungen asymmetrisch ist, steigt die Zahl auf 335 Millionen. Thompson schrieb Programme, die alle Positionen generierten und arbeitete jeden Zug aus, der in jedem Endspiel möglich war. Er komprimierte die resultierenden Daten auch so, dass man etwa 20 Endspiele auf einer Standard-CD-ROM speichern konnte. "Belle" gewann in der Zeit von 1978 bis 1986 fünf Mal die Nordamerikanische Computermeisterschaft.

Was meint Ken Thompson zum Thema IT-Security?

"You can't trust code that you did not totally create yourself (Especially code from companies that employ people like me.)"
-Kenneth Thompson

Ken Thompson erhielt für seine Arbeiten zahlreiche Auszeichnungen, darunter den Turing Award. Der nach Alan Turing benannte Preis wird von der Association for Computing Machinery (ACM) an Personen verliehen, die sich um die Entwicklung der Informatik außerordentlich verdient gemacht haben. Er gilt als höchste Auszeichnung in der Informatik und ist vergleichbar mit dem Nobelpreis oder der Fields-Medaille.

Ken Thompson beschrieb 1983 in seiner Rede zum Erhalt des Turing Awards eine von ihm entwickelte besondere Art von Backdoor: Ein Compiler, der während der Kompilierung unbemerkt eine Hintertür einbaut. Wenn es einmalig gelingt, den präparierten Compiler auf einem System zu installieren, kann man die Backdoor-Codesequenz aus dem Quellcode des Compilers entfernen. Wenn der Compiler selbst auf diesem System compiliert 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. Seine Rede ist hier zu lesen.

Was macht Ken Thompson heute?

In Zusammenarbeit mit dem kanadischen Softwareentwickler Rob Pike entwickelte er Ende der 80er Jahre das Betriebssystem Plan 9. Im Dezember 2000 zog sich Thompson aus den Bell Labs zurück und wandte sich im Jahr 2006 Google zu. Dort entwarf er mit Robert Griesemer und seinem ehemaligen Kollegen Rob Pike die Programmiersprache Go.

Zu seinen größten Auszeichnungen gehören der A.M. Turing Award (1983) und die amerikanische Medal of Technology (1999), die höchste US-Auszeichnung für Entwicklungen auf technischem Gebiet.

LG/AH

Sie möchten zukünftig per Newsletter der Informatik Aktuell informiert werden? Hier können Sie sich anmelden.

Persönlichkeiten der Informatik