Реферат: Обзор архитектур современных ос




Обзор архитектур современных ОС
MVS, OS/390, z/OS
Семейство Unix
| - Распространение UNIX
| - Микроядро
| - Minix
| - GNU Not Unix
| - Open Software Foundation
| - Х/Ореп
| - UNIX System V Release 4
| - Linux
Семейство СР/М
| - Примечание
Win16
OS/2 1.x
IBM OS/2
Windows NT/2000/XP
| - Windows 95/98/ME
| - Windows СЕ

    Не помнящие прошлого обречены повторять его.
Дж. Сантаяна


В данном приложении приводится краткое изложение истории семейств     современных ОС и обзор архитектур наиболее важных представителей каждого из семейств. В отличие от остальной книги, при выборе тем для обсуждения автор руководствовался не интересностью или поучительностью конкретных архитектурных концепций, а распространенностью и практической важностью входящих в то или иное семейство программных продуктов.
^ MVS, OS/390, z/OS
Первые две ОС этого семейства вышли в 1966 г., вскоре после анонса     аппаратной архитектуры System/360. Это были РСР (Primary Control program первичная управляющая программа) и DOS/360 (Disk Operating System). Архитектура обеих систем была типична для вычислительных систем второго поколения это были пакетные мониторы, рассчитанные на работу одной прикладной программы без защиты памяти (первые компьютеры серии System/360 не имели диспетчеров памяти).

В 1967 г. были выпущены версии РСР: MVT (Multiprogramming with a Variable     number of Tasks многопрограммная [система] с переменным числом задач) и MFT (Multiprogramming with a Fixed number of Tasks то же, но с фиксированным числом задач). Обе системы реализовывали вытесняющую многозадачность в едином адресном пространстве MFT использовала разделы памяти, a MVT относительную загрузку с базовым регистром. Позднее, к MVT была добавлена подсистема работы с несколькими терминалами в режиме разделения времени TSO (Timesharing Option

возможность разделения времени), ASP (Asymmetric Multiprocessing System     асимметричная многопроцессорность) и ряд других прикладных подсистем.

В 1972 г., после появления машин System/370 с диспетчером памяти, была     выпущена переходная система OS/SVS (Single Virtual Storage единая виртуальная память), которая позволяла использовать страничную подкачку, но не защиту заданий друг от друга. Наконец, в 1974 г. была выпущена MVS (Multiple Virtual Storage множественная виртуальная память), которая предоставляла каждой задаче собственное виртуальное адресное пространство объемом до 2 Гбайт (в System/360 и первых моделях System/370 адрес был 24-разрядным). Большая часть дополнительных подсистем MVT была включена в стандартную поставку MVS.

MVS предоставляла:

раздельные адресные пространства;

пакетный и интерактивный (разделение времени) запуск задач;

вытесняющую многозадачность;

выполнение нитей в общем адресном пространстве (нити в этой системе называются единицей обслуживания (service unit));

многопоточное ядро;

примитивы взаимоисключения замки (lock);

симметричную многопроцессорность;

динамическое подключение и отключение процессоров (как центральных, так и канальных) и их горячую замену;

библиотеки аналог вложенных каталогов;

последовательные, блочные и индексно-последовательные файлы;

отображение файлов, в том числе и индексно-последовательных, адресное пространство (VSAM);

систему безопасности на основе ACL;

развитые средства системного мониторинга;

сетевые средства поддержку стека протоколов SNA (Standard Network Architecture).

MVS воплотила все наиболее прогрессивные функции и архитектурные     концепции своего времени. MVS была основным продуктом IBM вплоть до середины 90-х, когда вышла новая версия системы OS/390.

В OS/390 основные архитектурные принципы MVS не подверглись пересмотру     [redbooks.ibm.com sg245597]. Новшества заключались в добавлении следующих возможностей: Р поддержка многомашинных кластеров (Parallel Sysplex);

развитие сетевых средств равноправного (peer-to-peer) взаимодействия;

поддержка сетевых протоколов семейства TCP/IP (ранее взаимодействие с сетями TCP/IP и NETBIOS осуществлялось посредством включения в состав вычислительного комплекса модуля с процессором х86 под управлением OS/2);

совместимость с системами семейства Unix [redbooks.ibm.com sg245992] (в 1998 r.OS/390 прошла набор тестов Unix 95 консорциума Х/Open и получила право называться UNIX [www.opengroup.org xu007]).

В 1999 г., в связи с началом выпуска 64-разрядного семейства компьютеров     z900, вышла 64-разрядная версия системы z/OS [www.ibm.com zOS].

Системы под управлением OS/390 и z/OS применяются главным образом в     качестве серверов транзакций и СУБД масштаба предприятия и составляют становой хребет вычислительных систем большинства крупных компаний.
^ Семейство Unix
    В 80-е годы мэйнстримные пользователи предпочитали юниксу VAX/VMS. Сейчас они предпочитают юниксу Windows NT. Какая часть этого сообщения вам непонятна? Реплика из конференции USENET alt.сотр.os.windows.advocacy


Обширное и бурно развивающееся семейство Unix оказало огромное идейное     влияние на развитие операционных систем в 80-е и 90-е годы XX столетия. Генеалогия систем семейства опубликована на сайте [perso.wanadoo.fr] и слишком обширна для того, чтобы ее можно было полностью привести в книге.

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

Родоначальником семейства следует, по-видимому, считать не первую версию     Unix, a Multics, совместно разрабатывавшуюся в 19651969 гг. General Electric и Bell Laboratories. За это время General Electric выделило подразделение, занимавшееся работами над Multics и аппаратной платформой для нее (GE-645), в отдельную компанию Honeywell.

Multics была первой из промышленных систем, предоставлявших: создание процессов системным вызовом fork; страничную виртуальную память;

отображение файлов в адресное пространство ОЗУ;

вложенные каталоги;

неструктурированные последовательные файлы;

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

управление доступом на основе ограниченных ACL (колец доступа).

Multics оказала огромное влияние не только на разработчиков Unix     значительные следы идейного влияния этой системы прослеживаются так же в RSX-11 и VAX/VMS фирмы DEC. Последние Multics-системы были доступны в Internet в 1997 г.

В 1969 г. Bell Laboratories отказалась от работ над Multics и начала     разработку собственной ОС для внутренних нужд. По-видимому, основной причиной этого шага было осознание несоответствия между амбициозными целями проекта Multics (ОС была весьма требовательна к ресурсам и могла работать только на больших компьютерах Honeywell), в то время как материнской компании Bell Labs American Telephone & Telegraph требовалась единая операционная среда, способная работать на различных миникомпьютерах, используемых в подразделениях телефонной сети США.

В Bell Laboratories был объявлен внутренний конкурс на разработку переносимой ОС, способной работать на миникомпьютерах различных поставщиков. К проекту были предъявлены следующие основные требования:

многоплатформенность;

вытесняющая многозадачность;

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

развитые телекоммуникационные средства.

Один из участников работ над Multics, К. Томпсон, разработал крайне     упрощенное ядро ОС, названное UNIX, для миникомпьютера PDP-7. К 1972 г К. Томпсон и Д. Ритчи переписали ядро системы в основном на языке С и продемонстрировали возможность переноса ОС на миникомпьютеры PDP-11. Это обеспечило выполнение всех требований конкурса, и UNIX была признана основной платформой для вычислительных систем, эксплуатируемых в AT&T.

Легенды доносят до нас более колоритные детали ранних этапов истории     новой системы. Так, одна из очень популярных легенд, излагаемая в TOй или иной форме несколькими источниками, утверждает, что история UNIX началась с разработанной для Multics игровой программы под названием Star Wars (звездные войны сама эта программа и даже правила игры до нас не дошли). Уволенный из группы разработчиков Multics за разгильдяйство (мы приводим здесь наиболее радикальный вариант легенды, не заботясь о его согласовании с историческими фактами), Томпсон занялся "оживлением" неиспользуемой PDP-7, стоявшей в углу машинного зала Оживление заключалось в написании ядра ОС, реализующего подмножество функциональности Multics, достаточное, для того чтобы перенести и запустить его любимые Star Wars [Бах 1986].

Первые версии UNIX были рассчитаны на машины без диспетчера памяти.     Процессы загружались в единое адресное пространство. Ядро системы размещалось в нижних адресах ОЗУ, начиная с адреса 0, и называлось сегментом реентерабельных процедур. Реентерабельность обеспечивалась переустановкой стека в момент системного вызова и запретом переключения задач на все время исполнения модулей ядра. На машинах с базовой адресацией выполнялось перемещение образов процессов по памяти и сброс образа процесса на диск (задачный своппинг).

В Multics и современных системах Unix fork реализуется посредством     копирования страниц при модификации. Ранние версии UNIX физически копировали образ процесса. Большая часть (по некоторым оценкам, до 90%) fork немедленно продолжается исполнением системного вызова exec, поэтому одной из первых оптимизаций, придуманных в университетских версиях системы, было введение системного вызова vfork. Порожденный этим вызовом процесс исполнялся на самом образе родителя, а не на его копии. Создание нового образа процесса происходило только при исполнении exec. Для того чтобы избежать возможных проблем взаимоисключения (например, при вызове нереентерабельных функций стандартной библиотеки), исполнение родителя приостанавливалось до тех пор, пока потомок не выполнит exec или не завершится.

Выделяют [Баурн 1986] следующие отличительные особенности системы.

Порождение процессов системным вызовом fork, который создает копию адресного пространства в пользовательской области процесса.

Результат завершения процесса хранится в его дескрипторе и может быть считан только родителем. В списке процессов такой дескриптор выглядит как процесс в специальном состоянии, называемом зомби (zombie).

Процессы-сироты (продолжающие исполнение после завершения родителя) усыновляются процессом с идентификатором, равным 1.

Процесс с идентификатором 1 запускается при загрузке системы (по умолчанию это /bin/init) и запускает все остальные обязательные задачи в системе. Наличие такого процесса иногда объявляют необходимым и достаточным критерием для причисления той или иной системы к семейству Unix.

Древовидная структура пространства имен файловой системы: дополнительные ФС монтируются в те или иные точки корневой ФС и идентифицируются затем точкой монтирования, а не именем устройства, на котором расположены.

файлы рассматриваются ОС как неструктурированные потоки байтов и не типизованы на уровне ОС (в частности, на уровне ОС нет деления файлов на записи).

Файловая система поддерживает множественные имена файлов в виде жестких и, у более поздних версий, символических связей.

Отложенное удаление файлов: если процесс открыл файл, а другой процесс его удалил, то первый процесс может продолжать работу с файлом, и физическое удаление происходит только после того, как первый процесс его закроет.

Лозунг "все файл", который, впрочем, последовательно реализован только в экспериментальной системе Plan 9 в реальных Unix системах практически всегда присутствуют объекты, к которым не применимы файловые операции: переменные среды, структуры данных ядра в ранних версиях (позднее они были оформлены в виде псевдофайловой системы /ргос), объекты SysV IPC и примитивы взаимоисключения POSIX Thread Library в современных системах.

Своеобразный командный язык, основанный на широком применении переназначения ввода-вывода и конвейеров (последовательностей задач, соединенных трубами).

Некоторые из перечисленных особенностей были позаимствованы другими ОС.     Так, переназначение ввода-вывода и конвейеры реализуются командными процессорами ОС семейства СР/М, начиная с MS DOS 3.30. cmd.exe командный процессор OS/2 и Windows NT/2000/XP даже правильно понимает конструкцию cmdline I more 2>&i. Стандартные командные процессоры UNIX портированы практически на все современные ОС. Функциональный аналог Korn Shell включен в стандартную поставку Windows 2000.

Жесткие связи файлов (однако, без отложенного удаления) поддерживаются     FCS2 (файловой системой VAX/VMS), NTFS и jfs при использовании под OS/2. Точки монтирования (подключение дополнительных ФС в дерево каталогов существующей ФС) реализованы в Windows 2000 и Toronto Virtual File System для OS/2.

Системный вызов createprocess Windows NT/2000/XP может имитировать     семантику fork: для этого достаточно передать в качестве имени программы для нового процесса пустой указатель.

Библиотека ЕМХ для OS/2 реализует fork при помощи собственного     обработчика страничного отказа.
^ Распространение UNIX
AT    &T в 70-е годы была "естественной" монополией в области телекоммуникаций. Этот статус гарантировался законодательным запретом деятельности других телекоммуникационных компаний на территории США. б обмен на этот статус AT&T вынуждена была подчиняться ряду регуляторных мер, в частности ей было запрещено выходить на другие, кроме те!яекоммуни-кационного, рынки, в том числе на рынок программного обеспечения. Однако разработчики UNIX чувствовали, что их системе суждено гораздо более привлекательное будущее, чем внутренний стандарт крупной компании.

В 1973 г. одна из дочерних компаний AT    &T, Western Electric, дала разрешение на использование UNIX в некоммерческих целях. Началось распространение системы в университетах США. Наибольший вклад в распространение и развитие университетской версии системы внес университет Беркли, в котором было создано специальное подразделение BSD (Berkeley Software Distribution).

В BSD UNIX было включено множество ценных нововведений, таких, как:

сегментная (на старших моделях PDP-11) и страничная (на VAX-11/780) виртуальная память

раздельные адресные пространства процессов и выделенное адресное пространство ядра

абсолютные загрузочные модули формата a.out

примитивная форма разделяемых библиотек

усовершенствования механизма обработки сигналов

управление сессиями и заданиями в пределах сессии

Самое важное нововведение было сделано в начале 80-х, когда в рамках     работ по проекту DARPA сетевое программное обеспечение ARPANet было перенесено с TOPS/20 на BSD Unix. Вскоре сетевой стек BSD стал референтной реализацией (реализация, на совместимость с которой тестируют все остальные) того, что ныне известно как семейство протоколов TCP/IP.

В 1980 г. было решено начать коммерческое распространение системы на     несколько необычных принципах: AT&T предоставляла сторонним коммерческим фирмам (естественно, за плату) лицензии на использование исходных текстов ядра и основных системных утилит текущей версии UNIX, а уже эта сторонняя коммерческая фирма (дистрибьютор) строила на основе полученных и самостоятельно разработанных компонентов законченную систему с инсталляционной программой, системой управления пакетами и т. д. и занималась ее продажей конечным пользователям и сопровождением. Таким образом была создана специфическая бизнес-модель распространения ОС семейства UNIX, хорошо знакомая пользователям Linux.

Первым из коммерческих распространителей стала фирма Microsoft,     продававшая ядро UNIX v7 в составе ОС Microsoft Xenix. Xenix поставлялся почти для всех популярных в то время 16-разрядных миникомпьютеров и микропроцессорных систем [Дейтел 1987]. Как и BSD Unix, Xenix использовал виртуальную память и имел отдельное адресное пространство для ядра. В 1983 г. торговая марка Xenix и весь дистрибьюторский бизнес был передан фирме SCO в обмен на долю акций последней.

К середине 80-х, воспитанное на университетских версиях UNIX поколение     студентов пришло в промышленность. Началось бурное развитие рабочих станций (workstation) мощных 32-разрядных персональных компьютеров, как правило, оснащенных страничными или сегментными диспетчерами памяти. Лицензия BSD допускала построение на основе кода BSD коммерческих систем без каких-либо ограничений, в том числе и без денежных выплат разработчикам ядра. Благодаря этому, а также благодаря техническому совершенству ядра BSD Unix, последнее оказалось гораздо более привлекательным, чем ядро AT&T, поэтому основная масса поставщиков рабочих станций строили свои ОС на основе BSD Unix. Это привело к быстрому и неконтролируемому размножению систем, называвших себя Unix, и при этом имевших значительное количество несовместимостей дополнительных или, наоборот, нереализованных системных вызовов, ошибок, "документированных особенностей" и т. д.

В 1984 г. AT    &T заключила с федеральным антимонопольным комитетом США соглашение, в соответствии с которым компания должна была выделить локальные телефонные сети в отдельные компании, и согласовала планы создания конкурентной среды на рынке междугородней связи и выделения в отдельные компании подразделений, не имеющих отношения к телекоммуникациям. Долгосрочные результаты этого соглашения до сих пор являются предметом горячих дебатов среди юристов и экономистов, но важным с нашей точки зрения является то, что AT&T смогла напрямую заняться продажами и поддержкой программного обеспечения. На рынок вышло ядро Unix System V первая поддерживаемая версия ядра АТ&T UNIX.

В 1987 г. вышла версия UNIX System V Release 3, включавшая в себя     асинхронные драйверы последовательных устройств (STREAMS), универсальные API для доступа к сетевым протоколам (ТЫ), средства межпроцессного взаимодействия (семафоры, очереди сообщений и сегменты разделяемой памяти), ныне известные как SysV IPC, BSD-совместимые сокеты и ряд других В8Оизмов [Робачевский 1999]. SVR3 в то время воспринималась как этапная ОС, однако дальнейшее развитие системы вынуждает нас отнести её скорее к переходным версиям.

В этом же году AT    &T и Sun Microsystems заключили стратегическое соглашение о разработке перспективного ядра UNIX System VI, которое должно

было обеспечить совместимость с System V, BSD Unix и Xenix и, тем самым,     консолидировать возникший зоопарк Unix систем.

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

Среди этих инициатив необходимо назвать следующие. Микроядро BSD Mach Minix А. Танненбаума

Проект Р. Столлмэна GNU (GNU Not Unix рекурсивная аббревиатура) [www.gnu.org].

Консорциум OSF (Open Software Foundation фонд открытого программного обеспечения).
Микроядро
Концепция микроядра с технической точки зрения подробно рассматривается в     разд. 8:3. С коммерческой (если уместно говорить о коммерческих целях разработки свободно распространяемого ПО) точки зрения BSD Mach был попыткой убить одновременно двух зайцев совместить переписывание ядра BSD Unix для достижения лицензионной чистоты с изменением архитектуры этого ядра.

Микроядерная архитектура позволила бы избежать самой одиозной черты     традиционных Unix систем однопоточного (или, точнее, кооперативно многозадачного) ядра и сделала бы систему пригодной для использования в задачах реального времени. Проект Mach не имел успеха полноценного ядра Unix на его основе построить не удалось ни самим участникам проекта, ни Столлмэну в рамках проекта GNU HURD.

Однако идея микроядра и сам термин получили широкое распространение.     Микроядерную архитектуру имеет UNIX System V Release 4. Кроме того, на самостоятельно разработанном микроядре основана своеобразная ОС реального времени, часто относимая к семейству Unix QNX.

Основные работы над ядром BSD UNIX пошли в другом направлении:     подсистемы, которые AT&T считал основанием для требования лицензионных выплат, переписывались с нуля, но архитектура системы в целом пересмотру не подвергалась. Этот процесс был в основном завершен к 1994 г., и современные ветви BSD по-прежнему имеют монолитную архитектуру.
Minix
Minix был разработан А. Танненбаумом, преподавателем университета Врийе     (Vrije University) в Амстердаме [www.cs.vu.nl minix]. Это компактная система, созданная для учебных целей, способна работать на 16- и 32-разрядных микропроцессорах, причем не только самостоятельно, но и будучи скомпилирована и запущена в качестве задачи под "нормальной" ОС Unix. Первая версия системы имела очень консервативную (чтобы не сказать архаичную) архитектуру, очень близкую к архитектуре ранних версий UNIX. Minix 2.0, выпущенный в 1996 г., основан на микроядре и поддерживает страничную виртуальную память на процессорах х86.

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

Наиболее известен прямой потомок Minix, Linux. Первая версия Linux     разрабатывалась путем переписывания ядра Minix модуль за модулем, что значительно упростило Л. Торвальдсу отладку системы. Воспоминаниями об этих временах в современном Linux является поддержка файловой системы mink, название основной ФС ext2fs (Second Extended File System расширенная [по сравнению с minix] файловая система, вторая версия) и реликты миниксового кода в некоторых модулях.
^ GNU Not Unix
Проект GNU был начат преподавателем Массачусетского технологического     института Р. Столлмэном и имел целью разработку полностью свободной операционной системы. "Полная свобода" гарантировалась своеобразным лицензионным соглашением, так называемым copyleft текст современной версии этого соглашения, GPL (General Public License общая публичная лицензия), размещается в заголовке каждого файла исходного текста программных продуктов, распространяемых в соответствии с этой лицензией [www.fsf.org].

Вопросы о необходимости, целесообразности и допустимости этой схемы     распространения ПО, а также о моральных, юридических, экономических, социальных и других последствиях ее применения до сих пор являются предметом жарких дебатов [www.tuxedo.org homesteading]. Тем не менее, в рамках деятельности FSF (Free Software Foundation-- фонд свободного программного обеспечения) было разработано немало высококачественного и полезного. ПО, прежде всего компилятор GNU C/C++, текстовый редактор (и по совместительству интегрированная среда разработки) GNU

Emacs, функциональные эквиваленты стандартных утилит UNIX и ряд других     программ и утилит. Основной целью проекта объявлялась разработка GNU HURD, весьма амбициозной микроядерной ОС.

В 1996 г. публике была представлена крайне сырая альфа-версия системы. К     тому времени Linux уже шествовал по планете победным шагом и отвлек на себя всех специалистов, способных участвовать в разработке ядра и согласных распространять результаты своей деятельности на условиях GPL. Наверное, из-за этого HURD не привлек внимания ни разработчиков, ни бета-тестеров. С тех пор до момента публикации этой книги не поступало ни новых версий, ни объявления о прекращении работ. По-видимому, следует признать, что проект HURD завершился провалом.
^ Open Software Foundation
Консорциум OSF, в который вошли DEC, IBM, Hewlett-Packard и ряд менее     известных поставщиков рабочих станций и серверов, был создан в 1988 г. Его деятельность началась с принятия и публикации стандарта POSIX.1 (Portable OS Interface based on uniX переносимый интерфейс ОС, основанный на Unix).

В рамках OSF начались работы по разработке ядра Unix-совместимой ОС, по     архитектуре в целом аналогичной UNIX SVR3 (монолитное ядро с поддержкой STREAMS и некоторыми особенностями BSD). К моменту завершения разработки уже был выпущен UNIX System V Release 4.2 (Destiny), достигший всех целей, заявлявшихся в проекте UNIX System VI, и консорциум фактически распался. DEC Unix (известный также как OSF/1) оказался чрезмерно тяжеловесным, не имел коммерческого успеха и, возможно, сыграл немалую роль в судьбе компании DEC. Значительно более счастливой оказалась судьба IBM AIX, лишь частично основанной на коде OSF.

В 1996 г. то, что осталось от OSF, слилось с консорциумом Х/Ореп,     деятельность которого по стандартизации Unix-систем имела гораздо больший успех.
Х/Ореп
Консорциум Х/Ореп [www.opengroup.org] был основан в 1990 г. и имел     гораздо более широкий состав, чем OSF, включая в себя практически всех производителей и поставщиков Unix-систем и ряд образовательных учреждений. Вместо разработки новой версии системы консорциум занялся разработкой стандартов, которым система любого поставщика должна была удовлетворять, чтобы иметь право называться Unix.

Одним из главных достижений в деятельности этого консорциума следует     считать разработку и публикацию спецификаций X Window протокола

распределенной графической оконной системы, который стал основой     графического интерфейса практически всех Unix-систем.

В 1993 г. фирма Novell, которая к тому времени приобрела авторские права     и команду разработчиков AT&T, передала консорциуму торговую марку UNIX. С тех пор консорциум выдавал право носить название UNIX(TM) системам, которые проходили тесты на совместимость с текущей версией спецификаций. Было также, наконец-то, решено, что торговой маркой является только UNIX (все буквы заглавные), но не Unix. Стандартизация оказала крайне благотворное влияние на рынок Unix-систем и приложений для них, практически устранив различия, существенные для разработки прикладного ПО, между наиболее распространенными системами семейства.

Поскольку сертификация была платной, некоммерческие версии системы,     такие, как ветви BSD и Linux, ее не проходили. Неожиданным результатом сертификационной политики консорциума стало право OS/390 называться UNIX(TM) после прохождения тестов в 1998 г. [www.opengroup.org хи007].
^ UNIX System V Release 4
Обещанная в 1987 г. UNIX System VI вышла на рынок в 1989 г. под названием     UNIX SVR4. Микроядерная система обеспечивала полную бинарную совместимость с SVR3, бинарную же совместимость с 16- и 32-разрядными Xenix на процессоре х86, и совместимость на уровне исходных текстов с BSD Unix v4.3 [Хевиленд/Грей/Салама 2000]. Заявленная цель консолидации всех основных ветвей Unix в единой системе была полностью достигнута. Sun Microsystems приступила к переводу своих пользователей на Sun OS 5.x (ныне известна как Solaris), основанную на ядре SVR4.

Версия SVR4 была этапной она включала в себя следующие компоненты. Многопоточное микроядро

Класс планирования реального времени (процессы с этим классом пла нирования имеют приоритет выше, чем нити ядра)

Новый формат загрузочного модуля ELF (Executable and Linking Format), обеспечивавший удобную работу с разделяемыми и динамическими библиотеками

Динамическое подключение и отключение областей своппинга Динамическую загрузку и выгрузку модулей ядра Многопоточность в пределах одного процесса (так называемые LWP (Light Weight Processes легкие процессы))

Псевдофайловую систему /ргос, обеспечивающую контролируемый доступ к адресным пространствам других процессов и структурам данных ядра

Оптимизирующий компилятор ANSI С, по качеству кода не уступающий GNU С.

В 1991 г. подразделение AT    &T, занимающееся развитием и поддержкой UNIX, было выделено в отдельное предприятие, USL (UNIX System Laboratories). Дальнейшая история этой организации представляет неплохой сюжет для романа: в 1992 г. USL была приобретена фирмой Novell тогдашний CEO (Chief Executive Officer главный администратор) компании Р. Нурда пытался сформировать линию продуктов, способную конкурировать со всеми предложениями Microsoft. В 1993 г. права на торговую марку UNIX были переданы консорциуму Х/Open. В 1995 г. акционеры Novell, испуганные перспективой конфронтации с Microsoft, сняли Нурду с поста СЕО и стали распродавать его приобретения. В частности, USL и лицензионные соглашения с распространителями UNIX SVR4 (Sun, Silicon Graphics, Microport и др.) были проданы фирме SCO. Нурда основал компанию Caldera, основным бизнесом которой стало распространение и поддержка Linux. 7 мая 2000 г. в тексте этой истории была поставлена ну, скорее всего, не точка, но весьма важный знак препинания: Caldera приобрела компанию SCO вместе со всеми правами на SVR4 [www.sco.com].

Эти перипетии не мешали развитию системы, или, во всяком случае, мешали     не так сильно, как можно было бы ожидать: вышедшая в 1992 г. версия UNIX System V Release 4.2 включала графический пользовательский интерфейс Motif. Построенная на этом ядре UnixWare имела сравнительно неплохой эмулятор DOS/Windows 3.x, журнальную файловую систему Veritas, средства доступа к серверам файлов и печати Novell Netware. Из более свежих новшеств необходимо упомянуть UnixWare NonStop Clusters (многомашинные кластеры из компьютеров х86) и Tarantella средство удаленного доступа к рабочим станциям Windows NT/2000/XP через протокол Microsoft RDP [www.tarantella.com].

В 1997 г. было заключено стратегическое соглашение с Hewlett Packard о     разработке единой 64-разрядной версии ядра UNIX (SVR4 с успехом переносилась на 64-разрядные процессоры MIPS и SPARCv9 фирмами SGI и Sun соответственно, но это были независимые продукты). В 1998 г. была выпущена UnixWare/Merced, первая стабильная среда разработки для нового 64-разрядного поколения процессоров Intel.

Sun Solaris v8, версия SVR4, поставляемая фирмой Sun Microsystems, при     работе на серверах семейства Sun Fire поддерживает динамическое подключение, исключение и горячую замену процессорных модулей и модулей ОЗУ, а также одновременную работу двух копий Solaris на разных процессорах одного вычислительного комплекса с динамическим перераспределением ресурсов (процессоров, ОЗУ, дисков) между виртуальными системами.

На всем протяжении 90-х, архитектура ядра не подверглась существенным     изменениям. Как и MVS полутора десятилетиями раньше, UNIX достиг совершенства в своем роде и нуждается не в новой архитектуре, а только в оптимизации существующего кода (ядро SVR4 несколько тяжеловато по сравнению с монолитными ядрами BSD и Linux) и развитии отдельных подсистем.
Linux
В 1991 г. Л. Торвальдс, в тот момент студент университета Хельсинки,     приступил к разработке того, что ныне известно как Linux полноценной операционной системы, основанной на исходных кодах Minix и распространяемой на условиях GPL [www.linux.org].

В 1992 г. была выпущена первая публичная версия системы. К тому времени     сообщество пользователей и разработчиков freeware уже успело устать от задержек выпуска GNU HURD и обещаний Столлмэна, и приняло новый проект с огромным энтузиазмом. Ряд компаний (RedHat, Caldera, SuSe и множество других) начал распространение коммерчески поддерживаемых дистрибутивов ОС на основе ядра Linux, воспроизводя таким образом бизнес-модель распространения AT&T UNIX в начале 80-х.

Вышедшее в 1997 г. ядро Linux 2.0 имело вполне приемлемую по стандартам коммерческих ОС надежность и почти все наиболее прогрессивные черты других Unix-систем.

Загрузочные модули и разделяемые библиотеки формата ELF

Псевдофайловую систему /ргос

Динамическое подключение и отключение своп-файлов

Длинные файлы (64-разрядные длина файла и смещение в нем)

Многопоточность в пределах одного процесса (POSIX thread library)

Поддержку симметричной многопроцессорности

Динамическую загрузку и выгрузку модулей ядра

Стек TCP/IP, совместимый с BSD 4.4, с поддержкой IPSec, фильтрации пакетов и др.

Бинарную совместимость с UNIX System V на процессорах х86 (iBCS -Intel Binary Compatibility Standard) и, позднее, на SPARC и MIPS

Поддержку задач реального времени (класс планирования реального времени в монолитном Linux невозможен; такие задачи загружаются как модули ядра).

Linux перенесен практически на все 32- и 64-разрядные машины, имеющие     диспетчер памяти, начиная от Amiga и Atari и заканчивая IBM System/390 i IBM z/90. Бинарные эмуляторы Linux включены в состав Solaris/SPARC i FreeBSD.

Ядро Linux быстро развивается и еще не достигло той степени "зрелости" i     стабильности, которая характерна для SVR4 и ветвей BSD. В частности, по этому среднее количество опасных ошибок, обнаруживаемых в системе за фиксированный интервал времени, существенно выше, чем в двух указанных

ОС; производительность отдельных подсистем также оставляет желать     лучшего. Однако положение довольно быстро улучшается и, по-видимому, в обозримом будущем Linux может стать одним из технологических лидеров отрасли.
^ Семейство СР/М
Родоначальником семейства является дисковая операционная система СР/М     (Control Program/Monitor) фирмы Digital Research. Первая версия системы была разработана в 1974 г. для использования в инструментальных микропроцессорных системах на основе микропроцессоров 18080 и 18085.

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

СР/М была первой ОС для машин такого рода, обеспечившей возможность     использования гибких дисков, поэтому она быстро приобрела огромную популярность и стала стандартом де-факто для микрокомпьютеров [Дейтел 1987]. Система была перенесена практически на все 8- и 16-разрядные и многие 32-разрядные микропроцессоры манчестерской архитектуры. Появившиеся в конце 70-х персональные компьютеры обычно также были ориентированы на использование СР/М. В начале 80-х были реализованы многозадачная и сетевая версии СР/М. Появилось также немало клонов системы, программно совместимых с ней и в целом аналогичных по архитектуре.

С архитектурной точки зрения, СР/М представляет собой довольно типичную     однозадачную ДОС, предназначенную для работы на процессоре без диспетчера памяти и средств базовой адресации. К отличительным особенностям СР/М можно отнести следующие.

Своеобразный командный язык, представляющий собой подмножество DCL (DEC Command Language) командного языка систем RT-11, RSX-11, VAX/VMS . Так, в DCL команды являются полными словами английского языка, но разрешено их сокращение: DIRECTORY, например, может быть сокращена до DIR или даже до DI в СР/М же команда называется DIR.

Устройства последовательного ввода-вывода обозначаются трехбуквенными аббревиатурами, например TTY: обозначает телетайп, a LPT: строчный принтер. Некоторые устройства, например, CON: (консоль), LST: (устройство вывода листинга) могут динамически переназначаться.

Диски обозначаются буквами латинского алфавита.

СР/М имеет модульную архитектуру и состоит из трех основных подсистем:     командного процессора ССР (Console Command Processor), базовой дисковой операционной системы BDOS (Basic Disc Operating System) и базовой системы ввода-вывода BIOS (Basic Input/Output System). ССР и BDOS представляют собой неизменные компоненты системы, BIOS содержит драйверы физических устройств и подлежит перекомпоновке при каждой перегенерации системы для новой конфигурации аппаратуры. Память, не занятая компонентами системы и таблицей векторов прерываний, называется ТРА (Transient Program Area область пользовательских [дословно преходящих] программ).

В 1981 г. фирма IBM анонсировала персональный компьютер IBM PC на основе     16-разрядного процессора 18088. Первоначально предполагалось, что в качестве ОС для этого компьютера будет использоваться СР/М, однако представителям IBM не удалось достичь приемлемых условий соглашения с Digital Research. Ни история, ни легенды не сообщают нам о том, что именно послужило причиной разногласий.

Легенды, однако, сохранили для нас немало подробностей (к сожалению, не     очень достоверных) дальнейшего развития
еще рефераты
Еще работы по разное