Как узнать оценку за курс?
|
Основные семейства операционных систем
2.2. Генеалогия семейства операционных систем и некоторые известные версии UNIX
Продолжим рассмотрение истории UNIX, описывая, как появлялись различные варианты системы. Следует отметить, что среди них нет "эталона", который можно объявить "чистым" или наибольшим образом впитавшим ее достоинства. Но все они имеют много общего: среду программирования, архитектуру и интерфейс пользователя. Объясняется это достаточно просто – все эти операционные системы "из одного племени". Одни системы впитывали свойства других, как бы являясь их "дочерними" версиями. То общее, что есть у них – это заложенные в ядре возможности и методы их реализации.
Приведенные схемы имеют один вид соединения отдельных версий (элементов схем). Но это не означает, что все такие связи равнозначны. Некоторые версии просто изучались разработчиками на уровне исходных текстов, а другие включили в себя, возможно, без изменений, большие фрагменты исходных текстов программ. Многие из приведенных ниже схем взяты из книги [19].
Для понимания приведенного далее материала важно знать, как получали свои названия версии UNIX на первом этапе. Как было отмечено выше, выпускаемые в АТ&Т до 1979 года системы сопровождались созданием документации соответствующего номера. Они назывались "редакции", а на первой схеме, взятой из упомянутой в предыдущем абзаце книги, называются VERSION 1, …, VERSION 6. Последняя явилась предшественницей трех дочерних: 2.0, BSD и ХЕNIX.
ЗАМЕЧАНИЕ. Многие источники вводят в рассмотрение еще одну версию – VERSION 7, считая, что от нее надо вести историю разделения на три упомянутых или некоторых из них.
AT&T 2.0 развивается и появляющиеся со временем новые версии получили названия System III, System V, а далее SVR2, SVR3, SVR4 (видимо S – System, V – 5, R – Release). Заметим, что версия System IV не была выпущена.
Как отмечалось ранее, название BSD связанно с Berkeley Software Distribution (дистрибутив программного обеспечения Беркли). Сокращенные имена версий этого ключевого направления имеют такой вид V.RBSD (видимо V – Version, R – Release).
Фирма Microsoft, купив лицензию UNIX, создает ХЕNIX. Попытка перенести UNIX VERSION 6 AT&T на персональный компьютер была предпринята в 1980 году, т.е. раньше выхода MS DOS [19]. В дальнейшем она была продана фирме SCO (Santa Cruz Operation).
Следующая схема подтверждает тот факт, что многие варианты UNIX связаны между собой. Разрабатываемые в разных организациях версии объединяются, впитывая все лучшее не только от своих предшественников, но и от систем, разработанных параллельно другими производителями. Купив права на VERSION 6 (по некоторым источникам – VERSION 7), фирма Microsoft создала вариант операционной системы для аппаратной платформы Intel. Параллельно она разрабатывала MS DOS, которая коммерчески оказалась более успешной. Видимо, из-за этого Xenix была продана SCO. К этому времени в Bell Labs продолжалось совершенствование своих версий. Две фирмы (АТ&Т Bell Labs и SCO), объединившись, выпустили версию, названную SVR3.2 (рис. 2.2).
Фирма IBM часто удивляет принимаемыми решениями. В свое время она отказалась от участия в проекте, предшествовавшем UNIX. Но со временем сама создает собственный вариант операционной системы AIX. Как видно из схемы, последняя объединяет достигнутое в SVR3 и 4.3BSD (рис. 2.3).
Представленная далее схема (рис. 2.4) демонстрирует истоки появления операционной системы SVR4, ставшей одним из стандартов UNIX.
На последней схеме отмечено, что после прекращения развития UNIX в университете Беркли ее последняя версия распадается на две ветви: ". . .университет практически объявил о прекращении разработки версии BSD. На сегодняшний день развиваются две фракции – Mach (основа NeXT) и V1" [19]. Также подчеркнем факт появления так называемой микроядероной архитектуры (Mach).
Прежде чем продолжить изложение материала, еще раз заметим, что история UNIX пересказана многократно. При этом некоторые факты в разных источниках противоречат друг другу. Например, в разных источниках по-разному сообщается, на основании какой версии были реализованы варианты BSD и Xenix или в каком году фирма АТ&Т потеряла права на UNIX. Есть и другие примеры противоречий. Но нам кажется, что все они не могут "смазать" общего представления об интересной и богатой событиями истории UNIX.
Следующая схема (рис. 2.5) демонстрирует этапы появления основных правопреемников исходных текстов программ АТ&Т UNIX.
Стоявший у истоков создания версий BSD Билл Джой стал соучредителем фирмы Sun, выпускающей UNIX сначала с именем Sun OS, а теперь Solaris (рис. 2.6). В отличие от других фирм Sun гордится, среди прочего, еще и тем, что она одна из немногих крупнейших фирм компьютерной индустрии разрабатывает свою операционную систему для собственной аппаратной платформы (Solaris для процессоров SPARC).
Изучая MINIX, Линус Торвальдс пришел к разработке собственной системы, названной Linux (рис. 2.7). Во время разработки последней ее автор активно использовал Интернет для обсуждения возникающих проблем, принимаемых решений и перспектив развития.
На начальных этапах фирма Apple, основанная Стивом Джобсом (Steve Jobs), применяла операционную систему с общим именем System. Эта же фирма выпустила UNIX-подобную ОС AUX для процессоров Motorolla. Покинув фирму, Джобс создавал операционную систему NeXTSTEP, а вернувшись в Apple – собственную ОС, названную Mac OS X. Она использовала исходные коды 4.4BSD UNIX. В новой системе применены идеи макроядра Mach 3.0. Естественно, Mac OS X создавалась с учетом опыта предыдущих разработок, в которых принимал участие Джобс (рис. 2.8).
Пожалуй, каждая из упомянутых здесь версий имеет не одного непосредственного "предка", а впитала в себя все лучшее из многих разработок, созданных к моменту ее появления. Например, генеалогическое дерево версии UNIX в статье [29] содержит около 60 элементов со множеством соединений. Отметим, что в этой схеме Xenix ведет свое начало от VERSION 7. А вот первая версия 1BSD происходит от VERSION 6, а 3BSD имеет такую "наследственность": сначала VERSION 7 и потом 32V. Видимо, это вносит путаницу в то, какая система является прямым наследником систем с именем BSD.
Приведем часть генеалогического дерева UNIX (рис. 2.9) с другого интернет-ресурса [30]. Отметим, что, на наш взгляд, название 4-го столбца (AT&T/USL) следует изменить, как минимум, на AT&T/USL/Novell.
Но самым полным генеалогическим, видимо, является дерево, опубликованное по адресу http://www.levenez.com/unix/. Оно располагается более чем на 20 страницах формата А4, каждый из которых объединяет несколько десятков элементов.
В этом разделе приведем краткую информацию о нескольких известных версиях рассматриваемой операционной системы, продолжая попытку дать более полный ответ на вопрос: "Что представляет собой UNIX?". Решить, какие конкретные системы подпадают под "самые известные", трудно, а перечислить все – невозможно. Далее приводим те из них, которые чаще упоминаются в приведенном в конце пособия списке литературы.
На странице Википедии [31] приводятся такие варианты UNIX-подобных операционных систем:
AUX | AIX | BSD | Dynix FreeBSD |
GNU | GNU/Linux | HP-UX | IRIX |
Mac OS X | Minix | NetBSD | NeXTSTEP |
OpenBSD | PC-BSD | Plan 9 Plan B | QNX |
SCO OpenServer | Solaris System V | Tru64 | Xenix |
AT&T – самая первая версия операционных систем семейства UNIX. Сначала она создавалась в Bell Labs, а затем в других организациях, образованных AT&T. В этой версии по мере развития опробованы и реализованы многие идеи, используемые в разных программных комплексах и сегодня. Удивляет, как уже с первых шагов в UNIX были выбраны решения, применяемые сегодня во многих операционных системах, и не только этого семейства. UNIX AT&T является преемницей MULTICS. Как сказано в материале С. Кузнецова [32], MULTICS стал "… неудачей с положительными последствиями".
Десять версий этого направления операционных систем создавались около 20 лет. Переданные в разные организации исходные тексты системы положили начало всем другим направлениям и версиям UNIX. Хотя работы над ней начались в Bell Labs AT&T, сейчас эта фирма не имеет к системе прямого отношения, продав права на нее.
Сделаем небольшое отступление о наиболее важных открытиях, сделанных в этой лаборатории. Представленный ниже материал взят из Википедии – свободной энциклопедии [33]. Bell Laboratories (известна также как Bell Labs, прежние названия – AT&T Bell Laboratories, Bell Telephone Laboratories) – бывшая американская корпорация, крупный исследовательский центр в области телекоммуникаций, электронных и компьютерных систем. Основана в 1925 году как исследовательский центр компании AT&T. В настоящее время является исследовательским центром корпорации Alcatel-Lucent. Штаб квартира Bell Labs расположена в Мюррей Хилле (Нью-Джерси, США).
Ниже перечислены наиболее известные разработки этой корпорации.
- В 1933 году Карл Янский обнаружил радиоволны, идущие из центра галактики, – открытие радиоастрономии.
- В 1947 году изобретен транзистор. Джон Бардин, Вильям Брэдфорд Шокли и Уолтер Хаузер Брэттен были удостоены за это изобретение нобелевской премии по физике за 1956 год.
- В 1948 году Клод Шеннон опубликовал статью "A Mathematical Theory of Communication", одну из основополагающих работ в теории информации.
- В Bell Labs изобретены фотоэлементы.
- В 1970-х Брайан Керниган, Деннис Риччи и Кен Томпсон разрабатывали первые версии операционной системы UNIX и язык С.
- В 1980 году разработан первый в мире 32-разрядный микропроцессор.
- В 1980-х Бьярне Строуструп разрабатывал язык C++.
- С конца 1980-х – начала 1990-х разрабатывается перспективная экспериментальная операционная система Plan 9.
- Разработка языка программирования AM PL.