Архивы: по дате | по разделам | по авторам

Откуда пошли Linux и Mac OS X

Архив
автор : Олег Изюменко   19.10.2001

1969 год стал отправной точкой для развития доброго десятка ОС, так что этот исторический экскурс может быть интересен не только почитателям "all things Apple" и фанатам Linux, но и всем, кто хоть раз работал под одной из операционных систем семейства Unix и по достоинству оценил ее возможности.

Часть первая: Корешки

1969 год стал отправной точкой для развития доброго десятка ОС, так что этот исторический экскурс может быть интересен не только почитателям «all things Apple» и фанатам Linux, но и всем, кто хоть раз работал под одной из операционных систем семейства Unix и по достоинству оценил ее возможности.

Итак, в 1969 году, вошедшим в «некомпьютерную» историю пиком активности хиппи под названием «Лето Любви», в лабораториях тогда еще не расчлененной по решению суда на отдельные компании AT&T некий хакер по имени Кен Томпсон скучал по привычному окружению ОС Multics, в разработке которой он принимал самое непосредственное участие. После того, как Bell Labs прекратила работу над этой системой, Томпсон решил в одиночку создать что-то подобное Multics на платформе DEC PDP-7, щедро сдобрив систему собственными оригинальными идеями. Приятель Кена, Деннис Ричи, написал для зародыша новой ОС компилятор придуманного им языка C. К 1971 Томпсон и Ричи решили, что можно пойти наперекор традициям и написать систему не на ассемблере (как делали все системные программисты), а на языке высокого уровня (благо, что лучшего кандидата, чем C, в то время, да и сейчас, найти было практически невозможно). К тому же это решение открывало широчайшие перспективы для переноса системы на другие платформы: перекомпиляция исходников на новой машине была на порядок проще, чем написание «двойника» ОС на ассемблере (различном для каждого семейства компьютеров). Когда в 1974-м система доросла до шестой (седьмой, по мнению некоторых) версии, получившей условное обозначение V6, Томпсон уговорил руководство AT&T лицензировать ОС университетам. После этого разработка пошла ударными темпами (в процессе была изменена система нумерации версий: от System III к System V и так далее) и к 1983 году был готов тот релиз Unix (SVR4 - System V, Release 4), который впоследствии стали называть «основой для зрелой Unix».

В университетах операционной системе Unix был оказан самый радушный прием; студенты просто с ума по ней сходили. В 1978-м в калифорнийском Беркли решили отпочковать собственную веточку на древе эволюции Unix и, заплатив AT&T за исходники, начали улучшать систему по своему разумению. Версия, разработанная в Беркли, стала известна как Berkeley System Distribution (BSD), а основными вехами ее развития стали версии 1BSD, 2BSD и 4.2BSD. Одним из значительных нововведений калифорнийских умельцев стал коммуникационный протокол TCP/IP (все предыдущие версии системы имели встроенный протокол UUCP, который никогда не отличался надежностью, зато породил такие глобальные явления, как USENET и электронная почта).

Эти не сильно различающиеся версии - SVR4 и 4.2BSD - породили «квазирелигиозные» войны между поклонниками обеих систем (с тех пор флейм на тему «какая ОС лучше» не обошел стороной практически ни одного более или менее продвинутого пользователя DOS, Windows, Mac OS, Linux и прочих систем).

А в 1982-м четыре студента из Стэнфорда и Беркли открыли новую страницу в истории не только Unix, но и всей компьютерной индустрии. Билл Джой, работавший над версией BSD и превосходно знающий внутренности системы, и Энди Бектолсхейм, придумавший новый класс компьютеров - workstation, с приятелями Винодом Хослой и Скоттом Мак-Нили учредили Sun Microsystems. В этом же году мир стал свидетелем рождения рабочей станции под Unix, а использованная в ней 4.2BSD послужила основой для того, что впоследствии назвали SunOS.

В том же 1982-м энтузиасты движения за «освобождение» программ Free Software Foundation с Ричардом Столмэном во главе поставили себе целью создать бесплатный клон Unix под названием GNU (Gnu’s Not Unix).

Идеологические антиподы Столмэна из AT&T в то же самое время гадали, как бы побольше заработать на популярности их детища. Ничего путного воротилам бизнеса на ум не пришло, и в результате вокруг лицензированной System V выросли целые империи по производству Unix-станций: SGI разработала Irix, IBM - AIX, Hewlett-Packard - HP/UX. До пришествия X Window все они имели собственные графические подсистемы и оконные менеджеры. Sun тоже сменила основу для своей SunOS и на основе ядра System V создала Solaris. DEC сделала то же самое со своей BSD-совместимой Ultrix, получив в результате DEC Unix (десять лет спустя превратившийся в True64). AT&T, не сумев выстоять в конкурентной борьбе рабочих станций, в конце концов продала свои разработки, связанные с Unix, холдингу USL (Unix System Laboratories).

Повальный переход на System V объяснялся тем, что эта версия вобрала в себя многие открытые популярные стандарты того времени, что позволяло продавцам проприетарных версий поддерживать (до некоторой степени) подобие совместимости между ними. В горячей конкурентной борьбе постепенно приживались такие общие технологии, как X Window и Network File System (NFS, разработанная Sun). Со временем включение вендорами самых перспективных (и самых распространенных) стандартов в состав системы стало чем-то вроде доброй традиции и способствовало неуклонному развитию ОС на протяжении целого десятилетия.

1990 год стал свидетелем разброда и шатания, как среди производителей коммерческих дистрибутивов, так и среди «вольных» программистов. Первые были недовольны дефицитом программного обеспечения для Unix (надежды Томпсона и Ричи на реальную кросс-платформность были похоронены под грудой не слишком совместимых друг с другом проприетарных *nix’ов, стоящих к тому же не одну тысячу долларов, что не очень-то вдохновляло разработчиков ПО), а вторые никак не могли довести до ума ядро системы под названием HURD (хотя другие компоненты GNU к тому времени были вполне работоспособны).

Однако все это отнюдь не уменьшило числа надеющихся нажиться за счет выпуска и продажи собственных дистрибутивов самой прогрессивной ОС нашего времени. В 1991-м Университет Калифорнии и группа Berkeley Software Design представили порт BSD 4.3 (4.3BSD согласно традиционному обозначению) на платформу i386. Это событие не ускользнуло от бдительного ока USL, заявившей о нарушении копирайта на значительную часть кода системы, унаследованного от System V. Начавшееся судебное разбирательство заставило BSDI вернуть дистрибутив на доработку, дабы избавиться от контрафактного кода. В результате к 1994 году еще один продукт (BSD 4.4) был похоронен BSDI, не желавшей больше подвергаться обвинениям в «воровстве», зато увидел свет другой продукт (BSD 4.4-Lite), ставший впоследствии основой для свободно распространяемой версии Unix.

Потуги BSDI выпустить Intel-совместимую ОС были обусловлены быстрым ростом производительности персоналок в начале 90-х. PC и Маки поставлялись с 32-разрядными процессорами, что наводило производителей на мысли о возможности выпуска Unix-систем на относительно дешевом железе (для сравнения: рабочие станции на Unix от Sun и IBM в то время стоили около 50 тысяч долларов). Так что в 1993-м еще один деятель, по имени Билл Джолитц, попытался портировать BSD Unix на i386. Позже он был вынужден покинуть проект, и его дело продолжили Джордан Хаббард, Нэйт Уильямс и Род Граймс. Но противодействие со стороны USL (которое уже испытала на себе BSDI) вынудило и их переключиться на BSD 4.4-Lite. Дэвид Гринмэн, еще один участник проекта, придумал название FreeBSD, и с помощью компании Walnut Creek, занимавшейся тиражированием CD, в сентябре 1994-го на свет появилась FreeBSD 2.0 - первая публично распространяемая версия Unix.

Часть вторая: Вершки

Но к этому времени трудившийся уже около трех лет над собственной вариацией на тему Unix никому тогда не известный финский студент предложил Free Software Foundation свой вариант системного ядра. Взамен долгостроя HURD хакеры получили надежный и добротно исполненный фундамент операционной системы, на котором они тут же принялись достраивать то, что стало не столько технологическим, сколько социальным феноменом, - ОС Linux.

Стив Джобс - другой провидец мира компьютеров, в то время отлученный от им же созданной компании, продвигал ОС NextStep, основанную на BSD 4.3. Когда терпящая бедствие Apple обратила отчаянный взор к своему родителю, Джобс в качестве спасательного круга принес во «фруктовую компанию» не только свой маркетинговый гений, но и переименованную к тому времени в OpenStep операционную систему, которая должна была стать новым лицом Макинтоша. Несмотря на довольно активное участие в разработке Mac OS X команды Linux-разработчиков под руководством Бретта Хэйли, в конечном продукте количественно преобладал код BSD и OpenStep.

Со времен NeXT, однако, в мире Unix произошло еще кое-что… В Университете Юты велась разработка real-time-версии ядра Mach. От FreeBSD отпочковались OpenBSD (с акцентом на безопасность) и NetBSD (с упором на поддержку максимально широкого ряда аппаратного обеспечения). Так что Apple, поддерживающей партнерские отношения со всеми группами разработчиков этих проектов, оставалось лишь выбирать самое лучшее. Так, расширенный инженерами NeXT порт FreeBSD на платформу PowerPC стал тем, чему Apple дала название Darwin 1.0. Важную роль в разработке «яблочной Unix» сыграл вернувшийся вместе с Джобсом Эвадис Теваньян. В свое время Теваньян несколько лет работал в Университете Карнеги-Меллона, где, среди прочего, занимался «микроядерной» технологией Mach (одна из причин того, что Mach 3.0 легла в основу Darwin 1). Это обстоятельство дало Торвальдсу повод для критики всей ОС. Опровергая устоявшееся мнение о флегматичности финнов, Линус охарактеризовал Mach как «самое настоящее дерьмо». Хотя вполне возможно, что нападки на Mac OS X со стороны ортодоксальных линуксоидов вызваны обычной фрустрацией: «X» принесла пользователям мощь Unix’а, соединенную с изящным и интуитивным графическим интерфейсом пользователя, - то, что создатели Linux обещали годами. Взявшаяся было сделать Linux «ближе к народу», компания Easel обанкротилась уже через год после своего основания, а ее детище Nautilus «пошло по рукам» свободных разработчиков.

Часть третья: Мечты

В заключение позволю себе поделиться идеальным видением компьютерного будущего образца 2006 года. Mac OS X - Unix, обрученная с Java и OpenGL - является мечтой любого сисадмина и хакера и занимает половину рынка ОС (причем поставляется она только на Маках, хотя отдельные радикалы уже давно портировали Darwin на i386 и работают с ней в режиме командной строки). На другой половине, на разношерстном, в отличие от Макинтоша, но зато оставляющем больший простор для экспериментов железе, царит Linux, не менее успешно впитавший самые перспективные открытые стандарты (те же Java, OpenGL, BlueTooth и Unicode…). Хакерская богема, стремящаяся обособиться от мэйнстрима, пишет новые ОС. Windows… а что это такое?

[i41721]


1 (обратно к тексту) - Источники Darwin открыты, однако надстройки в виде GUI Aqua, оконного менеджера Quartz и сред Classic, Carbon и Cocoa являются собственными разработками Apple, открывать коды которых компания пока не торопится.
© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.