Кен Томпсон родился в Новом Орлеане 4 февраля 1943 года. Отец его был военным моряком и часто менял место своей службы. До двухлетнего возраста Кен жил в Сан-Диего, Сиэтле, Сан-Франциско, Индианаполисе и Кингсвилле.
Кингсвилл был центром нефтяной промышленности. Там не было телефонов, только коротковолновые радиопередатчики для легковых автомобилей, на которых рабочие добирались до нефтяных вышек. Радиопередатчики и радиоприемники были любимым занятием Кена, а шахматы — его любимой игрой (в 70-х годах он создает компьютерную шахматную программу, которая трижды становилась чемпионом Америки).
Поступив в 1960 году в университет Беркли, Калифорния, Томпсон специализировался на электронике. Во время учебы он работал в компьютерном центре программистом, а по окончании университета, в 1965 году, получил степень магистра по электротехнике. На работу в Bell Laboratories он поступил в 1966 году и принял участие в проекте Multics.
Итак, в 1969 году после выхода Bell Laboratories из названного проекта Кен Томпсон и Деннис Ричи решили разработать собственную операционную систему.
Используя опыт, накопленный в рамках проекта Multics, Томпсон создает версию ОС для бесхозной устаревшей модели компьютера PDP-7, пылившейся на складе. Для того чтобы написать все основные компоненты системы, Томпсону понадобился всего лишь один месяц. "По одной неделе ушло на проектирование ядра, файловой системы, редактора и компилятора, — пишет Салус со слов Томпсона. — К концу месяца у нас уже была вполне работоспособная операционная система".
Считается, что название UNIX предложил Брайан Керниган, который позже, в 70-х годах, вместе с Ричи принимал участие в разработке языка С, причем первоначально система была названа Unics (Uniplexed Information and Computing Service), чтобы подчеркнуть ее родство с Multics. В 1970 году система UNIX по предложению Джо Осана была перенесена на более мощный компьютер PDP 11/20.
Надо сказать, что языком, на котором Томпсон начал писать ОС UNIX был FORTRAN. Но затем сложилась ситуация, о которой Томпсон говорит следующее: "Когда при написании системных программ выяснилось, что FORTRAN накладывает различные ограничения, я нисколько не ослаблял их, и в конце концов стало очевидным, что это уже не FORTRAN. Я назвал его языком В (Би). Это был по сути интерпретатор".
Вскоре после этого (1972 год) Деннис Ричи, используя промежуточный язык данного интерпретатора, создал машинный язык, а затем — компилятор для компьютера PDP 11/20. Добавив средства структурного программирования и переписав его, система получила название языка С (Си). (Теперь становится немного логичным странное название языка — вслед за "В" идет буква "С"; первую букву латинского языка, как утверждают некоторые программисты, еще ранее использовал К. Айверсон для своего языка APL — A Programming Language.) "С этого момента главным разработчиком языка стал Деннис Ричи", — говорит Кен Томпсон.

Деннис Ричи (стоит) и Кеннет Томпсон за компьютером PDP-11/20 (70-е годы)
В 1973 году ядро операционной системы UNIX вместе с программами-утилитами было переписано на С. Поскольку С относился к классу языков высокого уровня, опубликование его спецификаций значительно упростило процесс переноса UNIX на другие аппаратные платформы.
Версию операционной системы UNIX, написанную на С, Ричи и Томпсон представили в 1973 году на Symposium on Operating Systems Principles. В зале, где проходил доклад, присутствовало около 200 человек. Как пишет Питер Салус: "Это была одна из первых разработок, которую специалисты приняли на "ура". Эта версия UNIX действительно обладала очень широкими функциональными возможностями и при этом еще и работала".
Интерес со стороны пользователей вырос еще больше после публикации в 1974 году Ричи и Томпсоном статьи в "Communications of the ACM". Только за первый год заявки на приобретение UNIX подали свыше 40 организаций.
В последующие несколько лет целый ряд компаний предложили пользователям собственные версии UNIX.
В 1979 году, после того как АТ & Т Bell Laboratories — законный владелец UNIX, объявила о том, что она намеревается продать эту операционную систему, в университете Беркли (Калифорния) был разработан свой вариант UNIX — BSD.
Именно на основе BSD агентство DARPA начало разработку программ для Internet, а многочисленные разработчики программного обеспечения использовали его как основу для будущих коммерческих ОС (фирма Sun на основе BSD разработала SunOS, а затем и Solaris; DEC — Ultrix и т. д.). А позже появились первые некоммерческие реализации UNIX–LINUX и FreeBSD, которые можно получить бесплатно со всеми исходными текстами.
Читать дальше