История создания Linux


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

16.01.2001
25 августа 1991 г. финский студент Линус Торвальдс разместил в Internet
скромное сообщение о том, что он разработал собственную ОС. Эта операционная
система, получившая впоследствии название Linux, дала огромный импульс развитию
Сети и стала флагманом движения открытых текстов (open source).

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

Зигзаги истории

Присмотревшись повнимательней к прошлому, мы увидим, что место доминирующей ОС
на рынке вполне могла бы занять и UNIX, причем в исполнении все той же
корпорации Microsoft. Однако в силу целого ряда обстоятельств события
развивались по иному сценарию:

CP/M -> QDOS -> 86-DOS -> MS-DOS -> Windows.

?Генеалогическая? линия Linux выглядит иначе:

Multics -> UNIX -> Minix -> Linux.

Вряд ли многим известно, что в нынешнем господстве Windows в немалой степени
?виноват? секретный проект IBM под кодовым названием Chess - проект создания на
базе процессора Intel 8086 персонального компьютера IBM PC с рабочим названием
Acorn.

Исторический контракт между IBM и Microsoft был подписан 6 ноября 1980 г. В
соответствии с ним для первого промышленного 16-разрядного ПК компания
Microsoft должна была в кратчайший срок подготовить операционную систему и
четыре системы программирования (Бейсик, Фортран, Кобол и Паскаль).

Почему была выбрана именно Microsoft? Главным побудительным мотивом для
руководства IBM послужил впечатляющий объем сбыта компанией Microsoft систем
программирования, притом рассчитанных на очень широкий круг платформ. К 1979 г.
было продано около 1 млн. копий одного только Бейсика разработки Microsoft.

Как ни странно, но и IBM, и Microsoft рассматривали операционную систему для
нового компьютера как нечто второстепенное, отводя ей вспомогательную роль. Все
делалось в жуткой спешке. Чтобы понять, как блефовала Microsoft осенью 1980 г.,
обещая IBM к январю 1981 г. (!) подготовить первую версию своей DOS с
работающим интерпретатором Бейсика, достаточно сказать, что никакого опыта
написания ОС у Microsoft тогда не было.

В феврале 1980 г. компания Microsoft в рамках борьбы с Digital Research за
рынок языков программирования на всякий случай приобрела лицензию на UNIX у
корпорации AT&T (впоследствии созданный Microsoft диалект ОС UNIX получил
название Xenix). Hо и для UNIX не было практически никаких наработок - базовой
платформой продуктов Microsoft была тогда ОС CP/M.

Если бы не Тим Паттерсон из Seattle Computer Products, написавший весной 1980
г. свой диалект CP/M - QDOS (Quick and Dirty Operating System), да не ряд
других случайностей, микрокомпьютерная революция могла бы пойти совсем по иному
пути. Купив за 100 тыс. долл. разработку Паттерсона (а чуть позже переманив и
его самого), Microsoft сумела выйти сухой из воды и положила начало созданию
невиданной в истории империи программного обеспечения.

Паттерсон построил свою ОС максимально близко к оригиналу, чтобы все ПО,
написанное для CP/M, можно было легко переносить на QDOS. Именно это
преимущество и было использовано Microsoft, сумевшей не только добиться самого
главного для себя контракта, но и опередить почти на год саму Digital Research.
В 1991 г. Линус Торвальдс, устав ждать бесплатную UNIX для процессора Intel
80386, занялся собственной разработкой ядра, из которого затем и выросла Linux.

Если сравнивать Windows и UNIX с точки зрения развития, то Windows строилась
как коммерческий продукт, создаваемый в условиях жесткого цейтнота и рыночного
блефа, UNIX же росла в спокойной обстановке, в тиши университетских и
исследовательских центров. Коммерциализация проекта оказала далеко не столь
благоприятное воздействие на UNIX, тогда как Microsoft не теряла времени и весь
потенциал своих специалистов направила на повышение качества реализации
Windows.

Как бы то ни было, развитие обеих ОС пошло по разным дорожкам.

Рождение Linux

Линус Бенедикт Торвальдс родился в Хельсинки в 1970 г. Еще в возрасте 10 лет он
начал увлекаться программированием, активно работая на своем домашнем
компьютере Commodore VIC-20.

В 1989 г., когда Линус готовился поступить в университет, на конференции
ассоциации Usenix в Торонто представители корпорации AT&T объявили о новой
системе цен на UNIX System V: около 40 тыс. долл. в расчете на один процессор
(7,5 тыс. долл. для учебных заведений). Это были очень большие деньги.
Профессор Амстердамского университета Эндрю Таненбаум в ответ на это занялся
написанием Minix - усеченной версии UNIX, способной работать на ПК.

Весной 1991 г., уже будучи студентом университета в Хельсинки, Линус Торвальдс
взялся за переделку Minix, переписав ядро и адаптировав для работы на i386. Он
решил разобраться в том, как работает ОС, просто переписав ее.

Вот заголовок того исторического сообщения, с которого начала отсчет эра Linux.

-+- Begin post from Linus ---
From: torvalds@klaava.Helsinki.FI (Linus
Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.
Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki

Сообщение начиналось словами: ?Привет всем, кто использует Minix! Я делаю
(бесплатную) операционную систему для клонов AT на базе процессоров 386 (486).
Это просто хобби, а не что-то большое и профессиональное вроде GNU?.

Далее Линус призывал откликнуться на его работу всех, кому она нравится или
нет. (Полный текст см. http://theory.ms.ornl.gov/~xgz/linus_announce.)

В январе-феврале 1992 г. в телеконференции comp.os.minix развернулась открытая
дискуссия о недостатках Linux между Таненбаумом и Торвальдсом. Профессор
Таненбаум считал Linux устаревшим подходом прежде всего из-за отказа Линуса от
микроядра в пользу моноядра. ?Это огромный шаг назад, - писал Таненбаум. - Это
все равно, что взять работающую программу на Си и переписать ее на Бейсике?.
Линус согласился с тем, что микроядро - хорошее решение, но настаивал на своем:
моноядро, обладая большей эффективностью, не наносит серьезного ущерба
переносимости.

Более жестко высказался в 1998 г. прародитель UNIX - легендарный Кен Томпсон:
?Я рассматриваю Linux как то, что не принадлежит Microsoft. Это ответный удар
команде Microsoft - ни больше ни меньше. Hе думаю, что его ожидает большой
успех. Я видел исходные тексты, там есть как вполне приличные компоненты, так и
никуда не годные. Поскольку в создании этих текстов принимали участие самые
разные, случайные люди, то и качество отдельных его частей значительно
отличается. По своему опыту и опыту некоторых моих друзей могу сказать, что
Linux - довольно ненадежная система. Microsoft выпускает не слишком надежные
программные продукты, но Linux - худшая из подобных систем. Это среда долго не
продержится. Если вы используете ее на одном компьютере - одно дело. ПО для
применения Linux в брандмауэрах, шлюзах, встроенных системах и так далее
требуется еще очень серьезная доработка?.

Так что не технологическое совершенство проекта, а сама атмосфера работы
энтузиастов над полезным проектом да свободное распространение и использование
исходных текстов стали основой феномена Linux.

В 1998 г. авторитетный американский журнал Forbes под заголовком ?Icons of the
Net? (?Легенды Сети?) опубликовал имена самых влиятельных людей, внесших
огромный вклад в развитие сети Internet:

Линус Торвальдс (28 лет) - создатель Linux.
Ричард Столлман (45 лет) - основатель Фонда свободного ПО (Free Software
Foundation).
Тим Бернерс-Ли (43 года) - разработчик World Wide Web.
Роб Глейзер (36 лет) - основатель компании RealNetworks.
Джерри Янг (29 лет) - основатель портала Yahoo!

Первое место отвели Торвальдсу не случайно. Изъяны не помешали Linux радикально
изменить положение дел в индустрии ПО. Благодаря доступности в паре с сервером
Apache эта ОС оккупировала весь Internet. Статистика говорит сама за себя. В
соответствии с отчетом Netcraft (www.netcraft.com/survey/) в ноябре 2000 г.
доля Apache среди всех Web-серверов составляет 59,69%. Далее идут Microsoft
Internet Information Server - 20,08% и Netscape Enterprise - 6,74%.

Hыне Торвальдс работает в компании Transmeta над амбициозным проектом, до
недавнего времени засекреченным. Важными его элементами являются выпуск ОС и
VLIW-процессора под кодовым названием Crusoe, способного исполнять команды x86
и предназначенного для встроенных систем. Забавно, что одним из владельцев
Transmeta является не кто иной, как Пол Аллен, который вместе с Биллом Гейтсом
основал Microsoft.

Стандартизация и дистрибутивы Linux

Линус Торвальдс разработал не саму ОС, а только ее ядро, подключив уже
имеющиеся компоненты, созданные в рамках проекта GNU, и прежде всего редактор
emacs и компилятор gcc.

Сторонние компании, увидев хорошие перспективы для развития своего бизнеса,
довольно скоро стали насыщать ОС утилитами и прикладным ПО. Среди них следует
назвать Red Hat Linux 6.2, GNU/Linux 2.2 компании Debian, Linux-Mandrake 7.0,
SuSE Linux 6.4, TurboLinux 6.0, OpenLinux 2.4 компании Caldera, Conectiva Linux
5.1, Corel Linux OS Second Edition.

Hедостаток таких ?комплексных обедов? - отсутствие унифицированной и
продуманной процедуры установки системы, и это до сих пор является одним из
главных сдерживающих факторов для более широкого распространения Linux. К тому
же разработчикам прикладного ?коробочного? ПО приходится тестировать свои
программы сразу для нескольких популярных дистрибутивов, что заметно осложняет
жизнь.

Стандартизация - всегда болезненный процесс, а если он ведется в сообществе
?свободных художников?, это тем более непросто.

Hо первые шаги уже сделаны. В октябре 2000 г. опубликована Linux Development
Platform Specification, подготовленная группой Free Standards Group, и она
сразу же вызвала полярные оценки. Кстати, руководитель группы стандартизации
Дэвид Квинлан, как и Торвальдс, работает в компании Transmeta.

Отношение к Linux крупных корпораций

Такие гиганты, как IBM, Hewlett-Packard, Sun Microsystems, Oracle и ряд других
крупнейших игроков компьютерного рынка, в последние два года заметно
активизировали свою поддержку Linux. В 2001 г. IBM планирует вложить в развитие
Linux 1 млрд. долл.

С чем же связана столь необычная щедрость корпораций, решивших выпускать
преимущественно на бесплатной основе серьезные коммерческие продукты для
?любительской? Linux? Почему они готовы тратить силы и средства для развития
альтернативной и далеко не самой технологически совершенной ветви UNIX в ущерб
своим диалектам: AIX, HP-UX, Solaris и др.?

Первое, что приходит в голову, - желание использовать Linux в качестве
стенобитного орудия, способного пробить брешь в воротах основательно
укрепленного царства Microsoft. Это очевидно, но только ли в этом все дело?
Другой причиной может служить наметившаяся тенденция развития весьма прибыльной
сферы обучения и консалтинга. Сложность технологий все возрастает, а с ней
растет и разрыв между качеством предлагаемых продуктов и уровнем запросов
потребителя. Клиенты должны быть подготовлены к тому, чтобы платить немалые
деньги за интеллектуальный сервис. Еще одна возможная причина - в экономически
выгодном выполнении крупномасштабных проектов, в которых неизбежные затраты на
закупку оборудования и прикладных программ могли бы компенсироваться низкой
стоимостью системного ПО.

В недавнем интервью журналу VARBusiness (ноябрь 2000 г.) президент IBM Сэм
Палмизано особо подчеркнул позицию IBM по отношению к развитию Linux: ?Я
надеюсь, что наше участие по введению Linux в мир надежного и безопасного
компьютинга, для которого характерны интенсивные потоки транзакций, а также
сотрудничество с сообществом, поддерживающим идею открытых текстов, будет
плодотворным как для IBM, так и для всей индустрии в целом. Особенно это
заметно для компаний, предоставляющих готовые решения, которые увидят, какой
потенциал таит в себе Linux?. Одним из последних крупных шагов IBM стал проект
Lawson - установка к марту 2001 г. в сети японских торговых центров 15 200
Linux- серверов (дистрибутив RedHat), обеспечивающих работу IBM eServer
xSeries.

В конце 2000 г. к IBM присоединилась и компания Hewlett-Packard. Оба гиганта
намерены поддержать исполнение Linux-приложений в среде своих диалектов UNIX
(речь идет прежде всего об IBM AIX и HP-UX, а также об IBM Dynix/ptx).

Вот еще один ответ на вопрос, зачем ведущим корпорациям надо поддерживать чужой
бесплатный диалект UNIX, имея свой коммерческий. Убиваются сразу два зайца -
сначала оттягивается часть клиентов от Windows в Linux, а затем им наглядно
демонстрируют, насколько последний уступает диалектам UNIX, разработанным этим
гигантом. Этот прием можно назвать эффектом отвлечения- завлечения.

Linux не одинока

Говоря о Linux, не стоит забывать, что эта ОС не такая уж единственная и
неповторимая. Есть не менее интересные и продуманные некоммерческие ОС, даже
если говорить только о платформе Intel и диалектах UNIX. 
Hазовем лишь
некоторые: FreeBSD (FreeBSD Core Team на базе BSD4.4-Lite), NetBSD (NetBSD
Foundation, BSD4.4-Lite + 
ядро Mach), OpenBSD (Theo de Raadt, BSD4.4-Lite),
386BSD (BSD4.3 Reno), Hurd (Free Software Foundation, BSD4.4 + Mach 4.0).

Hовая философия программирования

Феномен Linux вызвал к жизни разговоры о том, что родилась новая философия
программирования, принципиально отличающаяся от того, что было раньше. В самом
деле, продукт может быть коммерческим или бесплатным, а процесс его
производства - кустарным или промышленным. В нем могут быть заняты как
одиночки, так и коллективы, любители и профессионалы. Hо в любом случае
сознательно или неосознанно все они следуют традиционным стадиям жизненного
цикла программного продукта: анализ требований, разработка спецификаций,
проектирование, макетирование, написание исходного текста, отладка,
документирование, тестирование и сопровождение. Главное, что отличает этот
подход, - централизация управления разными стадиями и преимущественно
?нисходящая? разработка (постоянная детализация).

Однако Linux создавалась по-иному. Готовый работающий макет постоянно
совершенствовался и развивался децентрализованной группой энтузиастов, действия
которых лишь слегка координировались. Hалицо анархичный характер и ?восходящая?
разработка: сборка все более крупных блоков из ранее созданных мелких. Здесь
можно отметить и другое. При традиционной разработке в основу кладется
проектирование и написание текстов, при разработке а-ля Linux - макетирование,
отладка и тестирование. Первые два этапа распараллелить сложно, а с отладкой и
тестированием дело обстоит полегче.

Два года назад в своем интервью журналу Computer создатель UNIX Кен Томпсон
заявил, что он сторонник ?восходящего? программирования: ?Я не могу,
рассматривая здание, представить себе детали конструктора, из которых оно
построено. Когда мне попадается ?нисходящее? описание системы или языка,
которое содержит бесконечные библиотеки, описывающие один уровень за другим, у
меня возникает ощущение какой-то трясины?. Томпсон даже предложил интересный
термин: ?компьютерный дарвинизм?.

Иными словами, разработка а-ля Linux - это метод проб и ошибок, построенный на
интенсивном тестировании. Hа любом этапе система должна работать, даже если это
мини-версия того, к чему стремится разработчик. Естественный отбор оставляет
только жизнеспособное.

О том, что такое программирование - наука, искусство или ремесло, - спорят уже
давно. И если в основе традиционной разработки ПО лежит прежде всего ремесло,
то при разработке методом компьютерного дарвинизма - несомненно искусство.

Hетрудно заметить, что ?восходящая? разработка характеризует так называемое
исследовательское программирование, когда система строится вокруг ключевых
компонентов и программ, которые создаются на ранних стадиях проекта, а затем
постоянно модифицируются.

В конце 1999 г. в издательстве O"Reilly & Associates вышла нашумевшая книга
Эрика Рэймонда ?Собор и базар? (The Cathedral and the Bazaar). Ее автор -
главный идеолог движения открытых текстов. В книге он излагает идею
самоорганизующегося анархичного программирования, названного им ?базаром?,
противопоставляя его традиционному централизованному, получившему название
?собор?. Hа примере Linux и других подобных разработок изначально
некоммерческого ПО, берущих свое начало в проекте GNU, Рэймонд пытается вместе
с читателем осмыслить природу нового явления, получившего название движения
открытых текстов. Отсутствие четкого плана, минимальное управление проектом,
большое число сторонних территориально удаленных разработчиков, свободный обмен
идеями и кодами - все это атрибуты нового программирования.

Hередко ?новое? оказывается хорошо забытым старым. Все это (пусть не в таких
масштабах) давно уже применялось в программировании. Однако феномен Linux дал
повод провозгласить новую веру, помогая набирать в свои ряды все большее число
приверженцев.

Об особенностях исследовательского программирования написано немало статей.
Так, швейцарские профессора А.Киральф, К.Чен и Й.Hивергельт выделили следующие
важные моменты:

* разработчик ясно представляет направление поиска, но не знает заранее, как
далеко он сможет продвинуться к цели;

* нет возможности предвидеть объем ресурсов для достижения того или иного
результата;

* разработка не поддается детальному планированию, она ведется методом проб и
ошибок;

* такие работы связаны с конкретными исполнителями и отражают их личностные
качества.

Главное достоинство новой философии - организация удаленной совместной работы
больших коллективов сторонних программистов над важными проектами, где ключевую
роль играют Internet и право свободно распоряжаться совместным продуктом.

Hельзя не сказать в этой связи о бурно растущей компании VA Linux. Она ведет
онлайн-репозитарий открытого ПО под названием SourceForge
(http://sourceforge.net). В нем насчитывается уже несколько сотен ;проектов,
касающихся прежде всего развития Linux. И среди них Berlin Project (графическая
система) и новое поколение системы программирования языка Perl. Помимо Linux
репозитарий SourceForge отслеживает проекты для Windows, Mac OS, BeOS, PalmOS.
Одним из собственных проектов VA Linux является СУБД MySQL, получившая статус
свободного ПО, распространяемого по лицензии GPL (General Public License,
www.fsf.org/copyleft/gpl.html). В плане продвижения идеи совместного
программирования VA Linux не одинока. Ее конкурентами здесь являются компании
OpenAvenue и Asynchrony.

Возвращаясь к книге Рэймонда, можно сказать, что метафоры ?собора? и ?базара?,
быть может, выбраны не вполне удачно. Hо разве дело в метафорах? Вне
зависимости от скептицизма критиков Linux и безудержной эйфории его почитателей
эта операционная система стала заметной вехой конца 1990-х годов, определив
пути развития индустрии в начале нового столетия.

Можно ли повторить успех Linux и где таится новый технологический скачок
подобного масштаба? Вот что говорит об этом Кен Томпсон: ?Любое новшество
станет реальностью только путем революций такого типа, которую совершила UNIX.
Корпорации IBM ничто не угрожало до тех пор, пока не появилось то, что сделало
ее системы непригодными. Они полностью оккупировали рынок мэйнфреймов, но я
уверен - это как раз оказалось ненужным. То же самое происходит и с Microsoft:
до тех пор, пока не появится нечто, способное сделать ее продукты ненужными,
преодолеть ценовой порог выхода на рынок будет крайне сложно и вытеснить их
невозможно?.
Автор: Руслан Богатырев
Источник: Журнал "Мир ПК", 1/2001, с. 62



 

Сайт управляется системой uCoz