Ken Thompson

Ken Thompson
Ken Thompson and Dennis Ritchie--1973.jpg
Thompson (links) mit Dennis Ritchie
Geboren
Kenneth Lane Thompson

4. Februar 1943 (Alter 79)
Staatsangehörigkeit amerikanisch
Alma Mater Universität von Kalifornien, Berkeley (B. S., 1965; M. S., 1966)
Bekannt für
Auszeichnungen
Wissenschaftliche Karriere
Felder Informatik
Institutionen

Kenneth Lane Thompson (Geboren am 4. Februar 1943) ist ein amerikanischer Pionier von Informatik. Thompson arbeitete an Bell Labs Während des größten Teils seiner Karriere, wo er das Original entworfen und umgesetzt hat Unix Betriebssystem. Er erfand auch das B Programmiersprache, der direkte Vorgänger für die C Programmierspracheund war einer der Schöpfer und frühen Entwickler der Plan 9 Betriebssystem. Seit 2006 hat Thompson bei gearbeitet Google, wo er gemeinsam entwickelte Gehen Sie Programmiersprache.

Andere bemerkenswerte Beiträge beinhalteten seine Arbeiten Reguläre Ausdrücke und frühe Computertextredakteure Qed und ed, die Definition der UTF-8 Codierung und seine Arbeit am Computerschach, das die Schaffung von beinhaltete Endgame -Tabellenbasen und die Schachmaschine Belle. Er gewann die Turing Award 1983 mit seinem langfristigen Kollegen Dennis Ritchie.

Frühes Leben und Ausbildung

Thompson wurde in geboren New Orleans, Louisiana. Auf die Frage, wie er zu programmieren lernte, erklärte Thompson: "Ich war immer fasziniert von Logik und selbst in der Grundschule arbeite ich an arithmetischen Problemen in Binärer, so etwas. Nur weil ich fasziniert war."[3]

Dez PDP-7, wie für die erste Arbeit an verwendet Unix

Thompson erhielt a Bachelor of Science im Jahr 1965 und a Master-Studium im Jahr 1966 beide in Elektrotechnik und Informatik, von dem Universität von Kalifornien, Berkeley, wo der Berater seines Meisters war Elwyn Berlekamp.[4]

Karriere und Forschung

Thompson wurde von engagiert von Bell Labs 1966.[5] In den 1960er Jahren in Bell Labs, Thompson und Dennis Ritchie arbeitete am Mehrheit Betriebssystem. Während des Schreibens von Multics erstellte Thompson die Bon -Programmiersprache.[6][7] Er erstellte auch ein Videospiel namens namens Raumfahrt. Später zogen sich Bell Labs aus dem Multics -Projekt zurück.[8] Um das Spiel zu spielen, fand Thompson einen alten PDP-7 Maschine und neu geschrieben Raumfahrt darauf.[9] Schließlich wurden die von Thompson entwickelten Werkzeuge die Unix Betriebssystem: Arbeiten an einem PDP-7, ein Team von Bell Labs -Forschern unter der Leitung von Thompson und Ritchie, einschließlich Rudd Canaday, entwickelt a Hierarchischer Dateisystem, die Konzepte von Computerprozesse und Gerätedateien, a Befehlszeilen-Interpreter, Rohre Für eine einfache Inter-Process-Kommunikation und einige kleine Dienstprogramme. 1970,, Brian Kernighan schlug den Namen "Unix" in einem Wortspiel auf den Namen "Multics" vor.[10] Nach der ersten Arbeit an Unix entschied Thompson, dass Unix eine Systemprogrammiersprache benötigte und erstellt hat B, ein Vorläufer von Ritchies C.[11]

In den 1960er Jahren begann Thompson auch zu arbeiten Reguläre Ausdrücke. Thompson hatte das entwickelt CTSS Version des Herausgebers Qed, die reguläre Ausdrücke für den Suchtext enthielten. Qed und Thompsons späterer Herausgeber ed (Der Standardtextredakteur bei UNIX) trug stark zur letztendlichen Beliebtheit regulärer Ausdrücke bei, und regelmäßige Ausdrücke wurden in UNIX -Textverarbeitungsprogrammen allgegenwärtig. Fast alle Programme, die heute mit regulären Ausdrücken arbeiten, verwenden eine Variante von Thompsons Notation. Er erfand auch Thompsons Baualgorithmus verwendet zum Umwandeln regelmäßiger Ausdrücke in Nichtdeterministische endliche Automaten Um den Ausdruck schneller abzustimmen.[12]

1970er Jahre

Thompson (sitzend) und Ritchie arbeiten zusammen bei a PDP-11
Version 6 Unix Laufen auf der Simh PDP-11 Simulator mit "/usr/ken" noch vorhanden

In den 1970er Jahren arbeiteten Thompson und Ritchie am UNIX -Betriebssystem zusammen. Sie waren so produktiv auf Forschung Unix das Doug McIlroy Später schrieb: "Die Namen von Ritchie und Thompson können sicher angenommen werden, dass sie an fast alles verbunden sind, was sonst nicht zugeschrieben wird."[13] In einem Interview von 2011 erklärte Thompson, dass die ersten Versionen von Unix von ihm geschrieben wurden und Ritchie begann, sich für das System einzusetzen, und half bei der Entwicklung:[14]

Ich habe den ersten von zwei oder drei Versionen von Unix ganz alleine gemacht. Und Dennis wurde Evangelist. Dann gab es ein Umschreiben in einer höheren Sprache, die als C genannt wurde. Er arbeitete hauptsächlich an der Sprache und am I/A-System, und ich arbeitete an allen anderen Betriebssystemen. Das war für die PDP-11, was zufällig war, denn das war der Computer, der die akademische Gemeinschaft übernahm.

Das Feedback von Thompsons Unix -Entwicklung war auch maßgeblich an der Entwicklung der C -Programmiersprache beteiligt. Thompson würde später sagen, dass die C -Sprache "mit einem der Umschreibungen des Systems aufgewachsen ist und als solche perfekt für perfekt wurde Schreibsysteme".[14]

1975 nahm Thompson eine Sabbatical Von Bell Labs und ging zu seiner Alma Mater, UC Berkeley. Dort half er bei der Installation Version 6 Unix auf einen PDP-11/70. UNIX in Berkeley würde später als sein eigenes System aufrechterhalten werden, das als das bekannt ist Berkeley Software Distribution (BSD).[15]

Anfang 1976 schrieb Thompson die erste Version von Berkeley Pascal in der Informatik Division, Abteilung für Elektrotechnik und Informatik, UC Berkeley (mit umfangreichen Modifikationen und Ergänzungen nach später in diesem Jahr von William Joy, Charles Haley und Fakultätsberater Susan Graham).

Ken Thompson schrieb ein Schachspielprogramm namens "Schach" für die erste Version von Unix (1971).[16] Später zusammen mit Joseph Condon, Thompson erstellte das Hardware-unterstützte Programm Belleein Weltmeister Schachcomputer.[17] Er schrieb auch Programme zur Generierung der vollständigen Aufzählung von Schach Endungen, bekannt als Endgame -TabellenbasenFür alle 4-, 5- und 6-teiligen Endungen, sodass Schachprogramme "perfekte" Bewegungen durchführen können, sobald eine darin gespeicherte Position erreicht ist. Später mit Hilfe des Schach -Endgame -Experten John RoycroftThompson verteilte seine ersten Ergebnisse auf CD-ROM. Im Jahr 2001 die ICGA Journal widmete Ken Thompsons verschiedenen Beiträge zum Computerschach fast ein ganzes Problem.[16]

1980er Jahre

Plan 9 von Bell Labs, leiten die Gipfel Texteditor und die rc Hülse

1983 erhielten Thompson und Ritchie gemeinsam die Turing Award "Für die Entwicklung der generischen Betriebssystemtheorie und speziell für die Implementierung des UNIX -Betriebssystems". Seine Akzeptanzrede, "Überlegungen zum Vertrauen des Vertrauens", präsentierte den persistenten Compiler Hintertür Angriff jetzt bekannt als die Thompson Hack oder Vertrauensangriff und allgemein als Samen angesehen Computersicherheit selbst arbeiten.[18]

In den 1980er Jahren überarbeitete Thompson und Ritchie die Research Unix, die eine BSD -Codebasis für die 8., 9. und 10. Ausgabe einnahm. Mitte der 1980er Jahre begannen die Arbeiten an Bell Labs an einem neuen Betriebssystem als Ersatz für UNIX. Thompson war maßgeblich an der Gestaltung und Implementierung des Plan 9 von Bell Labs, ein neues Betriebssystem, das Prinzipien von UNIX nutzt, sie jedoch allgemeiner auf alle wichtigen Systemeinrichtungen anwendet. Einige Programme, die Teil späterer Research -UNIX -Versionen waren, wie z. mk und rcwurden auch in Plan 9 aufgenommen.

Thompson testete frühe Versionen der C ++ Programmiersprache für Bjarne Stroustrup durch das Schreiben von Programmen darin, aber später weigerte sich, aufgrund häufiger Inkompatibilitäten zwischen den Versionen in C ++ zu arbeiten. In einem Interview aus dem Jahr 2009 drückte Thompson eine negative Sicht auf C ++ aus und erklärte: "Es macht viele Dinge halb gut und es ist nur ein Müllhaufen von Ideen, die sich gegenseitig ausschließen."[19]

1990er Jahre

1992 entwickelte Thompson die UTF-8 Codierungsschema zusammen mit Rob Pike.[20] UTF-8-Codierung ist seitdem die dominierende Charakter-Codierung für die Weltweites NetzBerücksichtigung von mehr als 90% aller Webseiten im Jahr 2019.[21]

In den neunziger Jahren begannen die Arbeiten an der Inferno Betriebssystem, ein weiteres Forschungsbetriebssystem, das auf einem tragbaren basierten virtuelle Maschine. Thompson und Ritchie setzten ihre Zusammenarbeit mit Inferno zusammen mit anderen Forschern von Bell Labs fort.[22]

2000er Jahre

Ende 2000 zog sich Thompson von Bell Labs zurück. Er arbeitete bei Entrisphere, Inc. als Gefährte bis 2006 und jetzt arbeitet bei Google Als angesehener Ingenieur. Jüngste Arbeiten waren das Co-Design der gehen Programmiersprache. Er bezieht sich zusammen mit den anderen ursprünglichen Autoren von Go auf sich selbst und erklärt:[14]

Wenn wir drei [Thompson, Rob Pike, und Robert Griesemer] begann, es war reine Forschung. Wir drei kamen zusammen und beschlossen, dass wir C ++ hassten. [Gelächter] ... [Zurück zum Gehen] Wir begannen mit der Idee, dass wir alle drei in jedem Feature in der Sprache gesprochen werden mussten, sodass aus irgendeinem Grund keinen fremden Müll in die Sprache gesteckt wurden.

Laut einem Interview von 2009 verwendet Thompson nun a Linux-Basis Betriebssystem.[23]

Auszeichnungen

Nationale Akademien

1980 wurde Thompson in die gewählt Nationale Akademie des Ingenieurwesens Für "Designing Unix, ein Betriebssystem, dessen Effizienz, Breite, Kraft und Stil die Ausbeutung einer Generation von einer Generation geleitet haben Minicomputer".[24] 1985 wurde er gewählt a Mitglied der National Academy of Sciences (Nas).[2]

Turing Award

1983 erhielten Thompson und Ritchie gemeinsam die Turing Award "Für die Entwicklung der generischen Betriebssystemtheorie und speziell für die Implementierung des UNIX -Betriebssystems". Seine Akzeptanzrede, "Überlegungen zum Vertrauen des Vertrauens", präsentierte die Hintertür Angriff jetzt bekannt als die Thompson Hack oder Vertrauensangriff und allgemein als Samen angesehen Computersicherheit selbst arbeiten.[25]

IEEE Richard W. Hamming -Medaille

1990 erhielten sowohl Thompson als auch Dennis Ritchie die IEEE Richard W. Hamming -Medaille von dem Institut für Elektro- und Elektronikingenieure (IEEE), "zur Entstehung des UNIX -Betriebssystems und der C -Programmiersprache".[26]

Fellow des Computer History Museum

1997 wurden sowohl Thompson als auch Ritchie als aufgenommen als Stipendiaten des Computergeschichte Museum für "die Co-Erstellung des UNIX-Betriebssystems und zur Entwicklung der C-Programmiersprache".[27]

Nationale Technologiemedaille

Am 27. April 1999 erhielten Thompson und Ritchie gemeinsam die 1998 Nationale Technologiemedaille vom Präsidenten Bill Clinton Um das UNIX-Betriebssystem und die C-Programmiersprache zusammenzufassen, die zusammen "zu enormen Fortschritten in Computerhardware, Software und Netzwerksystemen und zu einem Anstieg einer gesamten Branche geführt haben, um die amerikanische Führung im Informationsalter zu verbessern".[28]

Tsutomu Kanai Award

Im Jahr 1999 die Institut für Elektro- und Elektronikingenieure Wählte Thompson aus, um den ersten zu erhalten Tsutomu Kanai Award "Für seine Rolle bei der Schaffung des UNIX -Betriebssystems, das seit Jahrzehnten eine wichtige Plattform für verteilte Systeme ist".[29]

Japan -Preis

Im Jahr 2011 zusammen mit Thompson Dennis Ritchiewurde mit dem ausgezeichnet Japaner Preis für Information und Kommunikation Für die Pionierarbeit bei der Entwicklung des UNIX -Betriebssystems.[30]

Persönliches Leben

Ken Thompson ist verheiratet und hat einen Sohn.[31][16]

Siehe auch

Verweise

  1. ^ "IEEE Emanuel R. Piore Award -Empfänger" (PDF). IEEE. Archiviert von das Original (PDF) am 24. November 2010. Abgerufen 20. März, 2021.
  2. ^ a b "Kenneth Thompson". www.nasonline.org. Archiviert von das Original am 21. Oktober 2021. Abgerufen 9. Juni, 2019.
  3. ^ Seibel 2009, p. 450.
  4. ^ "Diplomarbeitsstudenten". Elwyn Berlekamps Homepage. Universität von Kalifornien, Berkeley Department of Mathematics. Archiviert von das Original am 21. Oktober 2021.
  5. ^ "Ken Thompson: Unix bei Bell Labs entwickelt". Abgerufen 31. Oktober, 2016.
  6. ^ Thompson, K. L. (1969). "Bon -Benutzerhandbuch" (PDF). Multics History Project. Multics -Dokumente: MIT Informatik & künstliche Intelligenzlabor. p. 1. archiviert von das Original (PDF) am 21. Oktober 2021. Abgerufen 18. März, 2021.
  7. ^ Ritchie, Dennis. "Die Entwicklung der C -Sprache". Bell Labs. Abgerufen 31. Oktober, 2016.
  8. ^ J. Stanley Warford (2009). Computersysteme. Jones & Bartlett Publishers. p. 460. ISBN 978-1-4496-6043-7.
  9. ^ Ritchie, Dennis M. (2001). "Raumfahrt: Erkundung des Sonnensystems und des PDP-7". Bell Labs. Archiviert Aus dem Original am 26. Dezember 2015. Abgerufen 4. Februar, 2016.
  10. ^ Ritchie, Dennis M. "Die Entwicklung des Unix Time-Sharing-Systems". Archiviert von das Original am 21. Oktober 2021. Abgerufen 31. Oktober, 2016.
  11. ^ Dennis M. Ritchie. "Die Entwicklung der C -Sprache". Bell Labs/Lucent Technologies. Abgerufen 31. Oktober, 2016.
  12. ^ Cox, Russ. "Regelmäßige Ausdrucksübereinstimmung kann einfach und schnell sein". Archiviert von das Original am 21. Oktober 2021. Abgerufen 30. Oktober, 2016.
  13. ^ McIlroy, M. D. (1987). A Research Unix Reader: Annotierte Auszüge aus dem Programmierhandbuch, 1971–1986 (PDF) (Technischer Bericht). Cstr. Bell Labs. 139. archiviert von das Original (PDF) am 21. Oktober 2021.
  14. ^ a b c "Dr. Dobbs: Interview mit Ken Thompson". 18. Mai 2011. archiviert von das Original am 21. Oktober 2021. Abgerufen 10. November, 2014.
  15. ^ Salus, Peter H. (2005). "Kapitel 7. BSD und CSRG". Der Daemon, der GNU und der Pinguin. Groklaw.
  16. ^ a b c Dennis Ritchie (Juni 2001). "Ken, Unix und Spiele". ICGA Journal. 24 (2). Archiviert von das Original am 21. Oktober 2021. Abgerufen 5. März, 2020.
  17. ^ "Joe Condon (Nachruf)". Physik heute. 2013. doi:10.1063/pt.4.1752.
  18. ^ Thompson, Ken (1984). "Überlegungen zum Vertrauen des Vertrauens". Kommunikation der ACM. 27 (8): 761–763. doi:10.1145/358198.358210.
  19. ^ Seibel 2009, p. 475.
  20. ^ Pike, Rob (30. April 2003). "UTF-8-Geschichte". Archiviert von das Original am 21. Oktober 2021.
  21. ^ "Nutzungsstatistik und Marktanteil von UTF-8 für Websites, Juni 2019". w3techs.com. Archiviert von das Original am 21. Oktober 2021. Abgerufen 9. Juni, 2019.
  22. ^ Khamlichi, M.El. "Ken Thompson Unix Systems Vater". Unixmen. Archiviert von das Original am 21. Oktober 2021. Abgerufen 31. Oktober, 2016.
  23. ^ Seibel 2009, p. 479.
  24. ^ "Dr. Ken Thompson". Nationale Akademie des Ingenieurwesens. Archiviert von das Original am 21. Oktober 2021.
  25. ^ Thompson, Ken (1984). "Überlegungen zum Vertrauen des Vertrauens". Kommunikation der ACM. 27 (8): 761–763. doi:10.1145/358198.358210.
  26. ^ "IEEE Richard W. Hamming -Medaillenempfänger" (PDF). IEEE. Archiviert von das Original (PDF) am 26. Juli 2011. Abgerufen 29. Mai, 2011.
  27. ^ "Ken Thompson". Computergeschichte Museum. Archiviert von das Original am 21. Oktober 2021. Abgerufen 29. Oktober, 2016.
  28. ^ "Bell Labs Luminaries Dennis Ritchie und Ken Thompson erhalten die nationale Technologiemedaille". Sciencedaily. 8. Dezember 1998. archiviert von das Original am 21. Oktober 2021.
  29. ^ "Ken Thompson erhält den Kanai Award für die Auswirkung des UNIX -Systems". Bell Labs. 25. März 1999. archiviert von das Original am 26. März 2013.
  30. ^ Evangelista, Benny (25. Januar 2011). "Ken Thompson, Dennis Ritchie gewinnt den Japan -Preis". Die San Francisco Chronicle.
  31. ^ "Ken Thompson: Eine kurze Einführung". Das Linux -Informationsprojekt. 24. August 2007. Abgerufen 5. März, 2020.

Quellen

Externe Links