Истоки UNIX

Начать все же стоит не с описания системы, а с истории - с зарождения UNIX. Дело было в конце 60-х, когда вся патриотическая общественность Соединенных Штатов была решительно настроена догнать и перегнать СССР в области вычислительной техники. С этой целью государственные и военные структуры США вкладывали немалые деньги в наукоемкие проекты: разработку новых вычислительных систем, средств хранения и передачи данных. Операционная система - считалась тогда неотъемлемой частью именно этого компьютера и разрабатывалось по той же схеме, что и, допустим, корпус для размещения всех его узлов. Группа разработчиков получала в руки "железо" с описанием его архитектуры и задание: сделать так, чтобы можно было решать определенные задачи. Если программистам что-то не нравилось, в стенд вносились аппаратные изменения, и работа начиналась заново. Задач было много, и совокупность их решений называлась “operation system”, то есть система правил работы с машиной.

Разработкой такой системы занималась тогда исследовательская лаборатория Bell Labs, подразделение американской телефонной корпорации AT&T. Средства "холодной войны" позволили привлекать к этому делу людей весьма сведущих, в том числе из такого солидного научного центра, как Массачусетский технологический институт (MIT). Полным ходом шли исследования и эксперименты над составными частями некой универсальной системы с разделением времени, взаимодействием между компьютерами, секретностью доступа к данным и т. п (она называлась Multics). Эта система дожила до создания работающего стенда и потихоньку скончалась, т.к. оказалась слишком дорогим удовольствием для заказчиков.

Небольшая группа исследователей, главным образом Кен Томпсон (Ken Thompson) и Деннис Ричи (Dennis Ritchie), продолжала искать новые пути. Изредка они составляли проекты исследований, которые в Bell Labs поддерживали, за исключением того, что вычислительную машину на эти проекты не выделяли. Машинное время на ЭВМ из-под Multics стоило очень дорого, к тому же Кен Томпсон хотел отлаживать написанную им компьютерную игру Star Trek и играть в нее, только вот подходящей ЭВМ для этого не было. Довольно быстро где-то в подвалах AT&T отыскалась слабо загруженная работой машина PDP-7, на которую первым делом была перенесена игра.

Для хорошей работы этой игры на данной платформе (PDP-7) пришлось разработать модель псевдопараллелизма (чтобы играть в графическом режиме с помощью мыши, да еще и редактировать и отлаживать программу в текстовом режиме), алгоритмы разделения памяти, эффективную систему хранения данных на жестком диске (т.е. файловую систему), текстовый редактор, командный интерпретатор и многое другое. Активно участвующий в работе группы Брайан Керниган (Brian Kernigan) придумал системе имя - UNIX.