stringtranslate.com

Кен Томпсон

Кеннет Лейн Томпсон (родился 4 февраля 1943 г.) - американский пионер информатики и развития компьютерных шахмат. Большую часть своей карьеры Томпсон проработал в Bell Labs , где разработал и внедрил оригинальную операционную систему Unix . Он также изобрел язык программирования B , прямой предшественник языка программирования C , и был одним из создателей и первых разработчиков операционной системы Plan 9 . С 2006 года Томпсон работал в Google , где был соавтором языка программирования Go .

Другие заметные вклады включали его работу над регулярными выражениями и ранними компьютерными текстовыми редакторами QED и ed , определением кодировки UTF-8 , а также его работу над компьютерными шахматами, которая включала создание баз таблиц эндшпиля и шахматной машины Belle . Он выиграл премию Тьюринга в 1983 году вместе со своим давним коллегой Деннисом Ритчи .

ранняя жизнь и образование

Томпсон родился в Новом Орлеане, штат Луизиана . Когда его спросили, как он научился программировать, Томпсон ответил: «Меня всегда увлекала логика, и даже в начальной школе я решал арифметические задачи в двоичном формате и тому подобное. Просто потому, что я был очарован». [3]

DEC PDP-7 , используемый для первоначальной работы с Unix.

Томпсон получил степень бакалавра наук в 1965 году и степень магистра в 1966 году в области электротехники и компьютерных наук в Калифорнийском университете в Беркли , где руководителем его магистерской диссертации был Элвин Берлекамп . [4]

Карьера и исследования

Томпсон был принят на работу в Bell Labs в 1966 году. [5] В 1960-х годах в Bell Labs Томпсон и Деннис Ритчи работали над операционной системой Multics . Во время написания Multics Томпсон создал язык программирования Bon. [6] [7] Он также создал видеоигру под названием Space Travel . Позже Bell Labs вышла из проекта MULTICS. [8] Чтобы продолжить игру, Томпсон нашел старую машину PDP-7 и переписал на ней «Космическое путешествие» . [9] В конце концов, инструменты, разработанные Томпсоном, стали операционной системой Unix : Работая над PDP-7 , группа исследователей Bell Labs под руководством Томпсона и Ритчи, в которую входил Радд Канадай , разработала иерархическую файловую систему , концепции компьютера. процессы и файлы устройств , интерпретатор командной строки , каналы для простого взаимодействия между процессами и некоторые небольшие служебные программы. В 1970 году Брайан Керниган предложил название «Unix», игра слов на название «Multics». [10] После первоначальной работы над Unix Томпсон решил, что Unix нужен язык системного программирования, и создал B , предшественник языка Ричи C. [11]

В 1960-х годах Томпсон также начал работу над регулярными выражениями . Томпсон разработал CTSS- версию редактора QED , включавшую регулярные выражения для поиска текста. QED и более поздний редактор Томпсона (стандартный текстовый редактор для Unix) внесли большой вклад в возможную популярность регулярных выражений, и регулярные выражения стали широко распространены в программах обработки текста Unix. Почти все программы, работающие сегодня с регулярными выражениями, используют тот или иной вариант нотации Томпсона. Он также изобрел алгоритм построения Томпсона , используемый для преобразования регулярных выражений в недетерминированные конечные автоматы , чтобы ускорить сопоставление выражений. [12]

1970-е годы

Томпсон (сидит) и Ричи вместе работают над PDP-11.
Unix версии 6 , работающая на симуляторе SIMH PDP-11 , с "/usr/ken" все еще присутствует.

На протяжении 1970-х годов Томпсон и Ритчи совместно работали над операционной системой Unix; они были настолько плодовиты в Research Unix , что Дуг Макилрой позже написал: «Имена Ричи и Томпсона можно с уверенностью предположить, что они связаны почти со всем, что не связано иным образом». [13] В интервью 2011 года Томпсон заявил, что первые версии Unix были написаны им, и что Ричи начал защищать систему и помогал ее развивать: [14]

Первую из двух или трех версий UNIX я создал в одиночку. И Деннис стал евангелистом. Затем была переписана версия на языке более высокого уровня, который впоследствии стал называться C. Он работал в основном над языком и системой ввода-вывода, а я работал над всей остальной частью операционной системы. Это было для PDP-11 , и это было счастливой случайностью, потому что именно этот компьютер завоевал академическое сообщество.

Отзывы о разработке Томпсоном Unix также сыграли важную роль в разработке языка программирования C. Позже Томпсон скажет, что язык C «вырос в результате одной из переписываний системы и, как таковой, стал идеальным для систем письменности ». [14]

В 1975 году Томпсон взял творческий отпуск в Bell Labs и отправился в свою альма-матер, Калифорнийский университет в Беркли. Там он помог установить Unix версии 6 на PDP-11/70 . Позднее Unix в Беркли стала поддерживаться как отдельная система, известная как Berkeley Software Distribution (BSD). [15]

В начале 1976 года Томпсон написал первоначальную версию Беркли Паскаля на факультете компьютерных наук факультета электротехники и компьютерных наук Калифорнийского университета в Беркли (с обширными изменениями и дополнениями, внесенными позже в том же году Уильямом Джоем , Чарльзом Б. Хейли [16] [16] . 17] [18] и руководитель факультета Сьюзен Грэм ).

Томпсон написал программу игры в шахматы под названием «шахматы» для первой версии Unix (1971). [19] Позже, вместе с Джозефом Кондоном , Томпсон создал аппаратную программу Belle , чемпион мира по шахматам на компьютере . [20] Он также написал программы для создания полного перечня шахматных окончаний, известные как базы таблиц эндшпиля , для всех окончаний из 4, 5 и 6 фигур, что позволяет компьютерным программам, играющим в шахматы, делать «идеальные» ходы после того, как позиция сохранена в их достигается. Позже, с помощью эксперта по шахматным эндшпилям Джона Ройкрофта , Томпсон распространил свои первые результаты на компакт-диске . В 2001 году журнал ICGA Journal посвятил почти целый выпуск различным вкладам Томпсона в компьютерные шахматы. [19]

1980-е годы

Plan 9 от Bell Labs с текстовым редактором acme и оболочкой rc .

В 1983 году Томпсон и Ричи совместно получили Премию Тьюринга «за разработку общей теории операционных систем и, в частности, за реализацию операционной системы UNIX». Его вступительная речь «Размышления о доверии к доверию» представила постоянную бэкдор- атаку компилятора, теперь известную как « взлом Томпсона » или атака доверия, и сама по себе широко считается плодотворной работой в области компьютерной безопасности . [21] В 2023 году аннотированный исходный код бэкдора был опубликован в Интернете. [22]

На протяжении 1980-х годов Томпсон и Ритчи продолжали пересматривать Research Unix, которая приняла кодовую базу BSD для 8-го, 9-го и 10-го изданий. В середине 1980-х годов в Bell Labs началась работа над новой операционной системой, призванной заменить Unix. Томпсон сыграл важную роль в разработке и внедрении Plan 9 от Bell Labs , новой операционной системы, использующей принципы Unix, но применяющей их более широко ко всем основным системным средствам. Некоторые программы, которые были частью более поздних версий Research Unix, такие как mk и rc , также были включены в Plan 9.

Томпсон тестировал ранние версии языка программирования C++ для Бьярна Страуструпа , написав на нем программы, но позже отказался работать на C++ из-за частой несовместимости между версиями. В интервью 2009 года Томпсон выразил негативное мнение о C++, заявив: «Он делает многие вещи наполовину хорошо, и это просто куча мусора взаимоисключающих идей». [23]

1990-е годы

В 1992 году Томпсон совместно с Робом Пайком разработал схему кодировки UTF-8 . [24] С тех пор кодировка UTF-8 стала доминирующей кодировкой символов во Всемирной паутине , на которую в 2019 году приходилось более 90% всех веб-страниц. [25]

В 1990-х годах началась работа над операционной системой Inferno , еще одной исследовательской операционной системой, основанной на портативной виртуальной машине . Томпсон и Ричи продолжили сотрудничество с Inferno вместе с другими исследователями из Bell Labs. [26]

В 1995 году Томпсон сотрудничал с Шоном Дорвардом в области сжатия музыки на основе оригинальной исследовательской работы, проведенной Джимом Джонстоном под руководством Джо Холла и Джонта Аллена. [27] [28]

2000-е

В конце 2000 года Томпсон ушел из Bell Labs.

В 2004 году он участвовал во внедрении Turochamp , шахматной программы , разработанной Аланом Тьюрингом в 1948 году, еще до того, как появились компьютеры, способные ее выполнять. [29]

До 2006 года он работал в Entrisphere, Inc. в качестве научного сотрудника . С 2024 года он работает в Google , сначала в качестве заслуженного инженера, а затем в качестве консультанта Google. [30] Недавняя работа включала совместную разработку языка программирования Go . Ссылаясь на себя и других первоначальных авторов Го, он заявляет: [14]

Когда мы трое [Томпсон, Роб Пайк и Роберт Гриземер ] приступили к работе, это было чистое исследование. Мы втроем собрались и решили, что ненавидим C++. [смех] ... [Вернувшись к Go,] мы начали с идеи, что со всеми нами троими нужно поговорить о каждой функции языка, чтобы ни по какой причине в язык не добавлялось постороннего мусора.

Предпочтительная настройка программирования

Согласно интервью 2009 года, Томпсон использовал операционную систему на базе Linux . [31] В статье 2023 года говорилось о его давней привязанности к компьютерам Apple , но отмечалось, что недавно он перешел на устройство Raspbian . [32]

Награды

Национальные академии

В 1980 году Томпсон был избран членом Национальной инженерной академии за «разработку UNIX, операционной системы, эффективность, широта, мощь и стиль которой определили эксплуатацию миникомпьютеров целым поколением » . [33] В 1985 году он был избран членом Национальной академии наук . [2]

Премия Тьюринга

В 1983 году Томпсон и Ричи совместно получили Премию Тьюринга «за разработку общей теории операционных систем и, в частности, за реализацию операционной системы UNIX». В своей благодарственной речи «Размышления о доверительном доверии» Томпсон обрисовал атаку в форме бэкдора компилятора , которая получила название « взлом Томпсона » или атака доверительного доверия и сама по себе широко считается плодотворной работой в области компьютерной безопасности. верно. [34]

Медаль IEEE Ричарда В. Хэмминга

В 1990 году Томпсон и Деннис Ритчи получили медаль IEEE Ричарда В. Хэмминга от Института инженеров по электротехнике и электронике (IEEE) «за создание операционной системы UNIX и языка программирования C». [35]

Сотрудник Музея компьютерной истории.

В 1997 году Томпсон и Ричи были удостоены звания членов Музея истории компьютеров за «совместное создание операционной системы UNIX и разработку языка программирования C». [36]

Национальная медаль технологий

27 апреля 1999 года Томпсон и Ричи совместно получили Национальную медаль технологий 1998 года от президента Билла Клинтона за совместное изобретение операционной системы UNIX и языка программирования C, которые вместе «привели к огромному прогрессу в области компьютерного оборудования, программного обеспечения и сетевых технологий». систем и стимулировал рост всей отрасли, тем самым усилив лидерство Америки в век информации». [37]

Премия Цутому Канаи

В 1999 году Институт инженеров по электротехнике и электронике выбрал Томпсона для получения первой премии Цутому Канаи «за его роль в создании операционной системы UNIX, которая на протяжении десятилетий была ключевой платформой для работы распределенных систем». [38]

Премия Японии

В 2011 году Томпсон вместе с Деннисом Ритчи был удостоен Японской премии в области информации и коммуникаций за новаторскую работу в разработке операционной системы Unix. [39]

Личная жизнь

Кен Томпсон женат, у него есть сын. [40] [19]

Смотрите также

Рекомендации

  1. ^ «Получатели премии IEEE Эмануэля Р. Пиоре» (PDF) . ИИЭЭ . Архивировано из оригинала (PDF) 24 ноября 2010 года . Проверено 20 марта 2021 г.
  2. ^ ab "Кеннет Томпсон". www.nasonline.org . Архивировано из оригинала 21 октября 2021 года . Проверено 9 июня 2019 г.
  3. ^ Зейбель 2009, с. 450.
  4. ^ "Диссертанты". Домашняя страница Элвина Берлекэмпа . Калифорнийский университет, математический факультет Беркли. Архивировано из оригинала 21 октября 2021 года.
  5. ^ «Кен Томпсон: разработал UNIX в Bell Labs» . Проверено 31 октября 2016 г.
  6. ^ Томпсон, КЛ (1969). «Руководство пользователя Бон» (PDF) . Проект истории Multics . Документы Multics: Лаборатория компьютерных наук и искусственного интеллекта Массачусетского технологического института. п. 1. Архивировано из оригинала (PDF) 14 февраля 2021 г. Проверено 18 марта 2021 г.
  7. ^ Ричи, Деннис. «Развитие языка Си». Лаборатории Белла . Проверено 31 октября 2016 г.
  8. ^ Дж. Стэнли Уорфорд (2009). Компьютерные системы. Издательство Джонс и Бартлетт. п. 460. ИСБН 978-1-4496-6043-7.
  9. ^ Ричи, Деннис М. (2001). «Космические путешествия: исследование Солнечной системы и PDP-7». Лаборатории Белла . Архивировано из оригинала 26 декабря 2015 года . Проверено 4 февраля 2016 г.
  10. ^ Ричи, Деннис М. «Эволюция системы разделения времени Unix». Архивировано из оригинала 21 октября 2021 года . Проверено 31 октября 2016 г.
  11. ^ Деннис М. Ричи. «Развитие языка Си». Bell Labs/Lucent Technologies . Проверено 31 октября 2016 г.
  12. ^ Кокс, Расс. «Сопоставление регулярных выражений может быть простым и быстрым». Архивировано из оригинала 21 октября 2021 года . Проверено 30 октября 2016 г.
  13. ^ Макилрой, доктор медицины (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (Технический отчет). CSTR. Лаборатории Белла. 139. Архивировано из оригинала (PDF) 4 мая 2014 года.
  14. ^ abc «Доктор Добб: Интервью с Кеном Томпсоном». 18 мая 2011 г. Архивировано из оригинала 21 октября 2021 г. Проверено 10 ноября 2014 г.
  15. ^ Салус, Питер Х. (2005). «Глава 7. BSD и CSRG». Демон, Гну и Пингвин . Гроклав .
  16. ^ «Настройка Unix – седьмое издание» (PDF) . Проверено 3 января 2024 г.
  17. ^ "BYTE.com" . www.landley.net . Проверено 3 января 2024 г.
  18. ^ «Вычисления из темных веков: Моя пятидесятилетняя одиссея». Индико . 25 апреля 2019 года . Проверено 3 января 2024 г.
  19. ^ abc Деннис Ритчи (июнь 2001 г.). «Кен, Unix и игры». Журнал ICGA . 24 (2). Архивировано из оригинала 21 октября 2021 года . Проверено 5 марта 2020 г.
  20. ^ "Джо Кондон (некролог)" . Физика сегодня . 2013. дои : 10.1063/PT.4.1752.
  21. ^ Томпсон, Кен (1984). «Размышления о доверии». Коммуникации АКМ . 27 (8): 761–763. дои : 10.1145/358198.358210 .
  22. Кокс, Расс (25 октября 2023 г.). «Запуск компилятора «Размышления о доверии»».
  23. ^ Зейбель 2009, с. 475.
  24. Пайк, Роб (30 апреля 2003 г.). «История UTF-8». Архивировано из оригинала 21 октября 2021 года.
  25. ^ «Статистика использования и рыночная доля UTF-8 для веб-сайтов, июнь 2019 г.» . w3techs.com . Архивировано из оригинала 21 октября 2021 года . Проверено 9 июня 2019 г.
  26. ^ Хамличи, М.эл. «Кен Томпсон, отец UNIX-систем». Юниксмены. Архивировано из оригинала 21 октября 2021 года . Проверено 31 октября 2016 г.
  27. ^ Платт, Чарльз. «Музыка по запросу». Проводной . ISSN  1059-1028 . Проверено 3 января 2024 г.
  28. ^ Кен Томпсон - Заключительный доклад - SCaLE 20x , получено 3 января 2024 г.
  29. ^ https://en.chessbase.com/post/reconstructing-turing-s-paper-machine
  30. ^ Школа, Стэнфордский юридический факультет. «Биографии Амичи Курии в Oracle America, Inc., против Google, Inc». Стэнфордская юридическая школа . Проверено 27 июля 2023 г.
  31. ^ Зейбель 2009, с. 479.
  32. Доказано, Лиам (17 марта 2023 г.). «Соавтор UNIX Кен Томпсон… какой сейчас пользователь?». Регистр . Проверено 19 марта 2023 г.
  33. ^ "Доктор Кен Томпсон". Национальная инженерная академия. Архивировано из оригинала 21 октября 2021 года.
  34. ^ Томпсон, Кен (1984). «Размышления о доверии». Коммуникации АКМ . 27 (8): 761–763. дои : 10.1145/358198.358210 .
  35. ^ «Обладатели медали Ричарда В. Хэмминга IEEE» (PDF) . ИИЭЭ . Архивировано из оригинала (PDF) 26 июля 2011 года . Проверено 29 мая 2011 г.
  36. ^ "Кен Томпсон". Музей истории компьютеров. Архивировано из оригинала 21 октября 2021 года . Проверено 29 октября 2016 г.
  37. ^ «Люминары Bell Labs Деннис Ричи и Кен Томпсон получат Национальную медаль технологий» . ScienceDaily. 8 декабря 1998 г. Архивировано из оригинала 21 октября 2021 г.
  38. ^ «Кен Томпсон получает премию Канаи за влияние системы UNIX» . Лаборатории Белла. 25 марта 1999 г. Архивировано из оригинала 26 марта 2013 г.
  39. Евангелиста, Бенни (25 января 2011 г.). «Кен Томпсон и Деннис Ритчи получили премию Японии». Хроники Сан-Франциско .
  40. ^ «Кен Томпсон: Краткое введение». Информационный проект Linux . 24 августа 2007 года . Проверено 5 марта 2020 г.

Источники

Внешние ссылки

Послушайте эту статью ( 4 минуты )
Разговорная иконка Википедии
Этот аудиофайл был создан на основе редакции этой статьи от 17 июня 2006 г. и не отражает последующие изменения. (2006-06-17)