Kenneth Thompson, lub jak go nazywają „Ken”, twórca Uniksa i współtwórca języka „C”. Urodził się w lutym 1943 w Nowym Orleanie w stanie Luizjana. Ken jest informatykiem i współwydawcą nagrody A. M. Turinga wraz z Dennisem Richiem w 1983 roku, ta nagroda jest najwyższym wyróżnieniem w dziedzinie informatyki. Thompson i Ritchie byli wspólnie cytowani za opracowanie ogólnych teorii systemów operacyjnych, a w szczególności za implementację systemu operacyjnego UNIX, który wynaleźli w Bell Laboratories. Ken uzyskał tytuł licencjata w 1965 r.i magistra w 1966 r. w dziedzinie inżynierii elektrycznej na Uniwersytecie Kalifornijskim w Berkeley (UCB). Po ukończeniu studiów podjął pracę w Bell Labs, gdzie pracował najpierw nad projektem Multics.
„myślę, że głównym dobrym pomysłem w Uniksie był jego czysty i prosty interfejs: otwieranie, zamykanie, odczytywanie i zapisywanie.”
Ken Thompson
Bell Laboratories&UNIX
w 1966 roku Ken został zatrudniony przez Bell Labs do pracy nad projektem MULTICS (Multiplexed Information and Computing Service). Projekt został zaprojektowany z udziałem Konsorcjum, w tym General Electric (GE), Massachusetts Institute of Technology (MIT) i Bell Labs ponieważ był następcą zgodnego systemu współdzielenia czasu (CTSS) MIT, MULTICS był ambitnym, innowacyjnym i dużym systemem operacyjnym, który miał obsługiwać setki jednoczesnych użytkowników. Niestety, projekt szybko stał się nieporęczny, co z faktem, że zmagał się z obsługą ponad trzech jednoczesnych użytkowników, doprowadziło do jego stopniowego upadku.
„tylko niedoskonałość kodeksu karnego ratuje hakerów przed bardzo poważnym oskarżeniem.”
Ken Thompson
1969 był magicznym rokiem, kiedy narodził się UNIX, ludzie po raz pierwszy polecieli na Księżyc, ukazał się ARPANET (prekursor w Internecie), a także wydarzyło się wiele innych ciekawych wydarzeń. Był to również rok, w którym Thompson napisał grę o podróżach kosmicznych.
The Space Travel Game
Ta gra obserwowała krajobrazy i lądowała na różnych planetach i ich księżycach, umożliwiała pilotowi latanie pojazdem wokół symulacji układu słonecznego, odgrywała ważniejszą rolę w rozwoju przemysłu komputerowego niż jakakolwiek inna gra. Ken Thompson napisał grę pierwotnie do użycia na MULTICS, ale wkrótce zaczął pracować nad przepisaniem jej do użycia na mało używanym i już przestarzałym komputerze PDP-7, który był w Bell Labs. Nie tylko podróże kosmiczne były jedną z pierwszych gier używanych na dowolnym komputerze i jedną z pierwszych aplikacji uruchamianych na Unixie, ale również służyły jako cenne intro dla Kena do przygotowania programów dla PDP-7. Ta biegłość, którą zdobył z PDP-7, była jednym z głównych czynników, które umożliwiły jego rozwój Uniksa.
” nadal mam pracę na pełny etat, dlatego napisanie ucha do ziemi Zajęło mi pięć lat i dlatego do przyszłego tygodnia nie skończę kolejnej książki.”
Ken Thompson
Bell Labs wycofał się z projektu MULTICS, a Ken Thompson w 1969 roku postanowił napisać własny system operacyjny, ponieważ chciał przyzwoitego systemu, na którym będzie mógł uruchomić swoją grę na PDP-7. Osiągnął to w nieco ponad miesiąc, podczas gdy jego syn Corey i jego żona Bonnie odwiedzali rodzinę w San Diego w Kalifornii. Spędził prawie tydzień na pisaniu powłoki (używanej do odczytu i uruchamiania poleceń wpisywanych do komputera), jądra (rdzenia systemu operacyjnego), edytora i asemblera (programu do konwersji kodu źródłowego na kod maszynowy, który może być zrozumiany bezpośrednio przez procesor komputera). Ken napisał to wszystko w PDP-7 assembly language.
„chciałem oddzielić dane od programów, ponieważ Dane i instrukcje są bardzo różne.”
Ken Thompson
komputer PDP-7
PDP-7 był komputerem, na którym Ken opracował i po raz pierwszy uruchomił swój system operacyjny. Miał 18-bitową długość słowa i tylko cztery kilobajty pamięci3, co stanowiło niewielki ułamek pojemności pojedynczej nowoczesnej dyskietki. Ta niezwykle mała pamięć była głównym czynnikiem w utrzymaniu przez Kena małego systemu operacyjnego i zapewnieniu mu eleganckiej prostoty, która odegrała bardzo ważną rolę w sukcesie tego systemu i jego duchowych Potomków.
rozwój Uniksa
w 1970 roku Thompson napisał język programowania o nazwie „B”, który rozpoczął się w celu ulepszenia języka basic combined programming language (BCPL). Najważniejszą rzeczą, jaką musimy powiedzieć o B, jest to, że stał się on prekursorem języka „C”, który został ukończony i wydany przez Dennisa Ritchie ’ ego w 1972 roku. To był nacisk Kena Thompsona, aby trzymać się jego filozofii o prostocie, która była odpowiedzialna za nazwę nowego języka Dennisa Ritchie ’ ego, aby była krótka i prosta. „C” stał się później jednym z najpotężniejszych i najszerzej używanych języków programowania na świecie i tak pozostaje do dziś. Dennis Ritchie dołączył do Bell Labs bezpośrednio rok po Kenie Thompsonie i odegrał ważną rolę we wczesnym rozwoju Uniksa.
” to sprowadza mnie do Dennisa Ritchiego. Nasza współpraca była piękna.”
Ken Thompson
Ken Thompson przepisał jądro Uniksa w języku” C ” w 1972 roku, co było posunięciem, które zmieniło i zapewniło przyszły sukces Uniksa, ponieważ uczyniło go bardziej przenośnym. Oznacza to, że” C ” umożliwiło przystosowanie Uniksa do różnych platform ze względną łatwością, zrywając w ten sposób długoletnią praktykę wiązania systemów operacyjnych ze sprzętem, na którym mogły działać.
w 1973 roku Ken Thompson po raz pierwszy publicznie zaprezentował Uniksa. Publikacja pracy z jego prezentacji w prestiżowym czasopiśmie w 1974 roku przyniosła systemowi kolejną dużą widoczność w środowisku akademickim. Publikacja została zauważona przez właściwe osoby na UCB, Alma mater Kena, co doprowadziło do pierwszego egzemplarza systemu operacyjnego i zostało wysłane na tę uczelnię.
doprowadziło to również do powrotu Kena do UCB w 1975 roku, gdzie Thompson pełnił funkcję profesora wizytującego do 1976 roku. Zaczęli używać Uniksa, a Ken Thompson musiał pomóc mu w dalszym rozwijaniu swojego systemu. Dla Kena korzyścią była, plus nostalgia, możliwość pracy z nowymi grupami ludzi i w konsekwencji dodatkowa stymulacja intelektualna, która zaowocowała UCB, aby stać się jednym z dwóch wiodących twórców Uniksa.
„muszę nadążać za literaturą naukową jako częścią mojej pracy, ale coraz częściej czytam rzeczy, które nie były tak naprawdę istotne dla mojej pracy akademickiej, ale były istotne dla ogrodnictwa.”
Ken Thompson
później, gdy Ken Thompson wrócił do Bell Labs, on i Rob Pike byli głównymi twórcami nowego systemu operacyjnego o nazwie Plan 9, który został stworzony w oparciu o Uniksa, ale zawierał wiele innowacji. W ramach tej pracy Ken stworzył również ośmiobitowy Format transformacji Unicode (UTF-8), który jest obecnie powszechnie używany do kodowania znaków. Wśród innych działań Kena był również rozwój ulepszonego oprogramowania do gry w szachy.
Thompson i Ritchie otrzymali dodatkowe uznanie w branży w 1983 roku, przyznając nagrodę Turinga ACM, która jest powszechnie uważana za najbardziej prestiżową nagrodę w Akademickim środowisku informatycznym.
Ken Thompson uważa, że wielki sukces Uniksa jest w dużej mierze kwestią szczęśliwego zbiegu okoliczności. Ale w tym samym czasie jest również, i ze względu na fakt, że UNIX ułatwił ogromne Przejście paradygmatu z różnych wysoce scentralizowanych komputerów mainframe do tańszych, mniejszych i zdecentralizowanych komputerów, które mogłyby uruchamiać standaryzowane systemy operacyjne, a nie te dyktowane przez ich producentów. Ken postrzega swój sukces w rozwijaniu tego systemu jako oddolnego myśliciela. Thompson wizualizuje złożone systemy, koncentrując się początkowo na ich najbardziej podstawowych komponentach i sposobie ich interakcji, zamiast skupiać się na kompletnych systemach.
„serwer X musi być największym programem, jaki kiedykolwiek widziałem, który nic dla Ciebie nie robi.”
Ken Thompson
we wczesnych latach 80.wpływ Uniksa w kręgach akademickich doprowadził do przyjęcia go na dużą skalę przez wiele komercyjnych startupów, na przykład Solaris, HP-UX i AIX. Szczególnie w wersji BSD, pochodzącej z Uniwersytetu Kalifornijskiego w Berkeley. Obecnie, oprócz certyfikowanych systemów uniksowych, o których już wspomniałem, powszechnie spotykane są obecnie uniksowe systemy operacyjne, takie jak Linux i BSD (NetBSD, FreeBSD i OpenBSD).
w 1983 roku Ken Thompson został mianowany członkiem Bell Labs. Pomagał również Dennisowi Ritchiemu w tworzeniu systemu operacyjnego Plan 9 w 1995 i systemu operacyjnego Inferno w 1996 W Bell Labs. Później w 1998 roku Ken Thompson i Dennis Ritchie zostali wspólnie nagrodzeni amerykańskim Narodowym Medalem technologii za rozwój Uniksa.
„nie można ufać kodowi, który nie do końca sam stworzyłeś.”
Ken Thompson
Ken Thompson jest kolejnym prawdziwym przykładem kształtowania historii przez właściwą osobę, która jest gotowa we właściwym czasie i na właściwym miejscu. Jest również przykładem tego, jak pojedyncza osoba z pomysłem i poświęceniem może osiągnąć coś, co wymyka się dużym organizacjom z ogromnymi koncentracjami talentów i budżetów. Co więcej, jest on również przykładem osoby, która stworzyła wielkie dzieło bez intencji jakiegokolwiek osobistego zysku, ale raczej z powodu swojego poświęcenia swojemu rzemiosłu i chęci ulepszenia go, spowodowało, że świat jest również ulepszony.
Ken Thompson postanowił odejść z Bell Labs w 2000 roku i przeniósł się później do Kalifornii. Później pracował w Entrisphere, Inc jako fellow do 2006 roku, a teraz pracuje w Google jako wybitny inżynier. Jego ostatnie prace obejmowały współtworzenie języka programowania Go.
nagrody Thompsona
- National Academy of Engineering w 1980
- Nagroda Turinga w 1983
- IEEE Richard W. Hamming Medal w 1990
- Fellow of the Computer History Museum w 1997
- National Medal of Technology w 1999
- Nagroda Tsutomu Kanai w 1999
- Japonia nagroda w roku 2011