top of page

Кен Томпсон – разработчик операционной системы UNIX и языка C

Кен Томпсон с детства был очарован логикой. Как он отмечал впоследствии, даже в начальной школе он решал бы арифметические задачи в двоичной системе. Эта любовь привела его в компьютерный мир, где достижения его были несравненны и всегда оригинальны. 

Кен Томпсон: учеба

Кен родился в 1943 году в Новом Орлеане (штат Луизиана). В юности Кен Томпсон учился в Калифорнийском университете Беркли. В 1965–1966 годах получил вначале степень бакалавра и магистра наук по электронным устройствам и информационным системам. Его научным руководителем был Элвин Берлемкемп.

Работа в Bell Labs

В 1966 году проявляющий большие способности ученый Кен Томпсон был принят в мощную корпорацию Bell Labs, известную как крупнейший и славнейший исследовательский центр, который занимается электроникой и вычислительной техникой. Ее штаб-квартира расположена в Мюррей Хилл. До прихода молодых разработчиков Bell Labs проектировал MAC. В его рамках была создана ОС CTSS. Потом лаборатория начала работать над Multix. Здесь Кен встретился с Деннисом Ритчи. Они стали единомышленниками и начали работать вместе с другими учеными лаборатории. Кен Томпсон и Деннис Ритчи увидели будущее за настольными маленькими персональными компьютерами. Они поняли, что таким компьютерам нужен механизм, управляющий аппаратными средствами компьютера, осуществляющий работу с файлами, выполнение прикладных программ, операции ввода и вывода. Так появилась мысль о создании новой операционной системы. Все 70-е годы Томпсон и Ритчи работали над UNIX. Ее первые версии были созданы Томпсоном практически в одиночку, а Ритчи подключился позднее. 

Одновременно Кен Томпсон изобрел язык Bon, а затем – язык B, на основе которого был позже создан язык C, и начал разрабатывать игру «Космические путешествия». В игре моделировалась Солнечная система с ее телами. Космический корабль требовалось посадить на планеты или спутники. Лаборатория отказалась от проекта Multix. 

В 1969 Томпсон и Ритчи разработали ОС UNICS, которая позже получила современное название UNIX. Томпсон создал редактор Qed для CTSS, который включал регулярные выражения для манипуляций над строками в тексте. Этот проект сделал регулярные выражения популярными в программировании, а не только в логике. Их стали постоянно использовать в UNIX в программах обработки текстов. В наше время большинство программ, работающих с регулярными выражениями, используют нотацию Томпсона. Кен также изобрел алгоритм, получивший его имя, для преобразования регулярных выражений в недетерминированный конечный автомат. 

1520241.jpg

Работа над шахматными программами

С XVIII века люди пытались создать шахматные автоматы. Попытка удалась в 1983 году, когда Томпсон и Кондон создали Belle, первый компьютер, достигший уровня шахматного мастера. Томпсон написал программу полного перечисления эндшпилей для 4–6 фигур. 

1520247.jpg

Позже с помощью шахматного эксперта Джона Ройкрофта он записал их на CD-ROM. Новый усовершенствованный шахматный компьютер в 1994 году обыграл Гарри Каспарова. 

Дальнейшая деятельность

В середине 80-х годов Томпсон в Bell Labs начал проектировать новую ОС, которая должна была стать заменой UNIX. Она называлась «план 9». Также в это время он осуществлял тестирование ранних версий языка C++, но выразил к нему негативное отношение, не одобряя идеи, легшие в основу языка. В 1992 году совместно с Робом Пайком им была разработана кодировка UTF-8, которая стала основной для World Wide Web. В 90-е годы совместно с Ритчи и другими исследователями из Bell Labs он начал процесс формирования операционной системы Inferno. В 2000 году Томпсон покинул Bell Labs. До 2006 года работал в Entrisphere, затем перешел в Google, где трудится и сейчас над языком Go. Этот одаренный ученый в будущем может раскрыть весь свой творческий потенциал. 

bottom of page