Журнал LinuxFormat - перейти на главную

LXF145:Вопросы праистории

Материал из Linuxformat
Версия от 18:01, 8 июля 2014; 2sash-kan (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Linux: Вопросы праистории

В год юбилея уместно еще раз вспомнить историю Linux и людей, к ней причастных, считает Алексей Федорчук.

Данный цикл заметок сочиняется в преддверии знаменательной даты — двадцатилетия с того дня, когда программа эмуляции терминала, разработанная двадцатилетним студентом, неожиданно превратилась в ядро новой операционной системы, получившей имя Linux.

Правда, какой это был день, мнения расходятся. Одни историки вопроса считают датой рождения Linux’а 25 августа 1991 года, когда Линус Торвальдс отправил в список рассылки разработчиков ОС MINIX свое ставшее знаменитым письмо о том, что он разрабатывает новую бесплатную ОС, которая скоро будет готова. Другие стоят за 17 сентября 1991 года – день, когда Линус разместил исходный текст своей разработки на общедоступном ftp-сервере, о чем оповестил заинтересованных лиц, в первую очередь пользователей MINIX. И предложил присоединяться к проекту.

Мы с Кириллом Степановым посоветовались и пришли к единогласному, хотя и волевому, решению: вторая точка зрения более обоснованна. Во-первых, именно в этот день Linux получил свое имя – по имени каталога, где лежали исходники ОС на ftp-сервере. А во-вторых, с этой даты начинается внедрение в софтверную индустрию того метода, который позднее Эрик Реймонд назовет «базарным», но который по справедливости следовало бы наречь именем его изобретателя – Тома Сойера: Линус лишь подхватил, расширил, укрепил и закалил в боях его идею.

В-третьих же, мы надеемся, что к 17 сентября 2011 года номер LXF со статьей, посвященной рождению Linux’а, его предпосылкам и последствиям, выйдет из типографии. И даже имеет шанс попасть в руки некоторых читателей. Оставшееся же до славной даты время мы посвятим вопросам праистории и предыстории любимой ОС.

Истоки и составные части

Было бы заманчиво свести происхождение Linux’а к трем истокам и трем составным частям, по завету дедушки Ленина. Однако реальная история чего бы то ни было гораздо сложнее (и интересней), чем нам внушали классики марксизма и их переложители: с какой стороны ни смотри, а истоков и составных частей Linux’а оказывается куда больше трех. Да и не всегда однозначно скажешь, где кончаются первые и начинаются вторые. Можно, впрочем, внять мнению резонных одесситов и признать, что составные части начинаются именно там, где кончаются истоки – рассмотрим их одним списком, а уж читатель сам решит, где одно перетекает в другое. Единственная вольность – я немного упорядочил этот список согласно своим представлениям о хронологии событий.

Итак, приступаем к подсчету:

  1. Академическая и университетская Computer Science эпохи «больших машин» – в частности, работы по искусственному интеллекту.
  2. Сеть ARPANET и все сопряженные с ней явления, из которых вырос в итоге современный массовый Интернет. Ибо только нынешние «одноглазнеги» полагают, что Интернет затевался для того, чтобы они могли сидеть «ффконтакте».
  3. Корпоративный Unix и организации по упорядочиванию его стилей, т. е. стандартизации.
  4. Берклиада – история, полная драматизма, в которой, как и в поэме Гомера, впервые переплелись перечисленные выше пряди. Но о ней будет подробно говориться в следующей заметке.
  5. Общественные движения – Open Source Software и Free Software. Здесь я немного отступаю от хронологии: второе формально предшествовало первому. Но de facto первое явление существует как минимум со времен Ньютона и Лейбница.
  6. Эволюция аппаратных платформ – от первых интерактивных рабочих станций до «народных» x86-совместимых компьютеров.

Как видите, получается вдвое больше сакральной троицы, которую так любят Бог и большевики. И я даже не уверен, вспомнил ли я все истоки и все составные части... ну, не страшно: нам удастся осветить далеко не все и из перечисленного.

О некоторых же истоках я умолчал сознательно, ибо нет у меня права о них говорить – например, об эпохе Eniac’а и БЭСМ’ов. Надеюсь, что

Кто-нибудь услышит,
Снимет и напишет,
Кто-нибудь помянет...

тех ребят. Они заслуживают этого не меньше, чем создатели первого реактора... Да и чем многие другие, которых тоже еще не помянули.

А пока займемся нашими истоками и составными частями.

Computer Science и ARPANET

История академической Computer Science уходит в начало 60-х, время появления первых компьютеров, способных к интерактивной работе. Хотя они далеко еще не были персоналками – но ведь ранее машины, как помнят читатели «Понедельника», почему-то начинавшегося тогда «в субботу», работали исключительно в режиме пакетных заданий. И повлиять на это было не по силам не только магам вроде Кристобаля Хозевича и Федора Симеоновича, но даже всесильным научным администраторам, товарищам Модесту Матвеевичу и Лавру Федотычу.

Место же зарождения этой науки условно определим как крупнейшие американские университеты – Массачусетский технологический институт (MIT), Йель, Университет Карнеги-Меллона, Стэнфорд, Калифорнийский университет Беркли. Историческим центром этого движения долгое время была лаборатория искусственного интеллекта MIT (MIT AI – Artificial Intelligence). В недрах MIT AI родился, судя по многим свидетельствам, и термин «хакер» – так называли друг друга те, кто способен был «врубиться» в компьютерные науки. Но эта тема столь жевана и пережевана, что на ней мы останавливаться не будем.

Работы же по созданию отказоустойчивой правительственной связи США, как нетрудно догадаться, начались по инициативе Министерства обороны этой страны. Ибо имели целью создание надежной системы передачи информации на случай советского ядерного удара. Финансирование осуществлялась через ARPA – Агентство передовых исследовательских проектов (Advanced Research Projects Agency), которое позднее, без лишнего лицемерия, было переименовано в DARPA, с добавлением слова Defense (в данном контексте – Оборонных проектов). Запомним последнюю аббревиатуру – позднее эта организация сыграет немалую роль в нашей предыстории.

Непосредственная реализация системы связи была возложена на ряд американских университетов – Калифорнийский, Университет штата Юта, Стэнфорд: оказалось, что кроме университетских хакеров из сферы Computer Science разрабатывать и поддерживать ее было попросту некому. А эти «ребята, за ту же зарплату», не только выковали электронный щит своей Родины в виде сети ARPANET (по имени организации-кормильца), но, будучи истинными учеными, воспользовались случаем в интересах науки. А именно – наладили бесперебойные каналы обмена информацией между своими Alma mater, создав таким образом сообщество ARPANET – прообраз грядущего Интернет-сообщества.

Первый сеанс связи в рамках проекта ARPANET состоялся 29 октября 1969 года в 21 час по местному времени и оказался не вполне удачным: передались только три символа, после чего сеть рухнула. Однако уже через два часа работоспособность ее была восстановлена (учитесь, нынешние провайдеры), и передача завершилась успешно. Интересно, что контроль передачи осуществлялся почти тем же методом, который изображен в фильме «Волга-Волга» – не с помощью рупора, конечно (от Лос-Анджелеса до Пало-Альто докричаться проблематично), но по телефону.

Сеть ARPANET очень быстро охватила не только университеты, вовлеченные в ее разработку, но и многие другие учебно-научные заведения Америки, а потом и сопредельных стран, став международной коммуникационной магистралью для обмена научной информацией. Правда, скоро эту роль перехватила сеть Национального научного фонда США (NSF – National Science Foundation) – NSFNet, с большей пропускной способностью. Именно на ее базе и был создан современный Интернет.

Рождение Unix

(thumbnail)
Первый в мире UNIX-хост DEC PDP-7. Обратите внимание — на переднем плане слева первый в мире /dev/tty0.

Зарождение Unix также связано с появлением компьютеров, способных на интерактивный режим, что создало предпосылки к разработке систем разделения времени, допускающих как бы одновременное исполнение нескольких задач [time sharing] – они пришли на смену машинам, работавшим исключительно в пакетном режиме. Одной из первых таких систем была CTSS [Compatible Time Sharing System].

Без академической составляющей, представленной в данном случае MIT, не обошлось и здесь. В развитие CTSS в 1965 году фирмами AT & T и General Electric вместе с MIT был начат проект по созданию истинно многозадачной и многопользовательской системы, получившей имя Multics. По замыслу она была столь прогрессивна, что в те времена оказалась неосуществимой, и в 1969 году проект закрыли, оставив его участникам тоску по интерактивной работе и идею разделения времени, вскоре вылившуюся в Unix.

Хотя сама ОС Unix вышла из корпоративных недр компании AT & T, сотрудниками которой являлись бывшие участники проекта Multics, это ни в коей мере не была корпоративная разработка: Кен Томпсон [Ken Thompson] и Деннис Ричи [Dennis M. Ritchie] разрабатывали ее для собственных нужд. Это был первый в истории IT пример создания «системы для себя», в противоположность, например, системе VAX/VMS от фирмы DEC, претендовавшей на звание «системы для всех».

Правда, понятие «все» в случае c VAX/VMS охватывало весьма узкий круг – даже не столько лиц, сколько организаций. Тот факт, что система VAX/VMS разрабатывалась не для личного пользования, наложил отпечаток не только на нее: это предопределило судьбу ее прямого потомка – Windows NT/etc. Unix же разрабатывался на голом энтузиазме, без особой поддержки дорогих руководителей, причем на аппаратном обеспечении, подлежащем списанию в утиль.

Впрочем, усилия разработчиков были оценены должным образом, и достаточно быстро: в 1983 году Томпсону и Ричи присудили премию Тьюринга – это самая престижная награда в информационной сфере, по значимости сравнимая с премией, учрежденной некогда Альфредом Нобелем «за выдающиеся научные исследования, революционные изобретения или крупный вклад в культуру или развитие общества». Что поделать – Нобель не мог и предполагать, что информационные технологии окажут на развитие общества не меньшее влияние, чем изобретенный им динамит. А в 1999 году Томпсон и Ричи удостоились одной из высших наград государства, гражданами которого они являются: Национальной медали в области технологий (National Medal of Technology, ныне – National Medal of Technology and Innovation).

На дальнейшую судьбу Unix огромное влияние оказали юридические коллизии тогдашнего текущего момента. Незадолго до создания этой системы корпорация AT & T подверглась антимонопольному преследованию, в результате чего претерпела поражение в правах – на деятельность ее был наложен ряд ограничений. В частности, она не имела права торговать программными продуктами, в число коих попадала и новорожденная Unix.

Разумеется, материнская корпорация постаралась пристроить к делу детище своих сотрудников – так, Unix с его инструментарием использовался в AT & T для подготовки технической и патентной документации. А это, кстати, типичная пользовательская задача; вот и говорите теперь, что Unix не пригоден для применения конечными пользователями.

Однако, как уже было сказано, в силу юридических ограничений AT & T не могла сделать из Unix коммерческий продукт. И потому исходники этой системы, начиная с 1974 года, стали распространяться в университетах – в образовательных, как это тогда задумчиво называлось, целях. На условиях по тем временам достаточно либеральных, в том числе и просто явочным порядком, лично Брайаном Керниганом [Brian Kernighan] – люди с психологией сталинских наркомов, которые имели мужество сказать «под мою ответственность», встречались не только в Советском Союзе...

Передача Unix в университетские структуры не была свободным распространением в том смысле, который вкладывается ныне в понятие FOSS. Хотя система – точнее, тогда еще не более чем ее прототип – и передавалась в исходных текстах с правом их изучения, модификации, доработки и прочего потрошения.

Однако, во-первых, все эти действия требовали обладания лицензией на исходный код Unix, которая передавалась AT & T вместе с ней самой и ее исходниками, но – за деньги, хотя и не очень большие по масштабам американских организаций середины 70-х годов прошлого века. В личное же пользование лицензии на Unix тогда еще не приобретали.

А во-вторых, и это главное, условия лицензии не допускали дальнейшего свободного распространения ни системы целиком, ни отдельных ее компонентов, содержащих исходный код Unix. Что, собственно, и создало сюжет дальнейшей детективно-технологической интриги.

Однако до развертывания грядущего технологического детектива было еще далеко. А пока университеты радостно приобщались к новой операционной системе, в которой были реализованы все передовые идеи того времени, к тому же в принципе способной функционировать практически на всем спектре тогдашнего оборудования. Напомню, что речь идет о середине 70-х годов прошлого века: Стив Джобс еще не помышлял о продаже калькулятора и использовал родительский гараж по прямому назначению, а Билл Гейтс не освободил мир своим MS DOS’ом от засилья CP/M.

Выйдя за стены Bell Labs, Unix зажил самостоятельной жизнью, прочно окопавшись в той же университетско-академической среде Computer Science. Одним из ее центров в данном случае оказался Калифорнийский университет Беркли – учреждение, известное всем, интересовавшимся историей как точных наук, так и их влиянием на нашу жизнь.

Получив, благодаря профессору Бобу Фабри [Bob Fabry], в 1974 году ОС Unix вместе с ее исходниками и лицензией на их использование, университет Беркли поддержал и развил традицию «систем для себя», свойственную первозданному Unix. Но об этом – в следующей заметке.

Персональные инструменты
купить
подписаться
Яндекс.Метрика