Перспективные ОС, поддерживающие среду ОС UNIX
Микроядро - это минимальная
стержневая часть операционной
системы, служащая основой
модульных и переносимых
расширений. По-видимому,
большинство операционных систем
следующего поколения будут
обладать микроядрами. Однако
имеется масса разных мнений по
поводу того, как следует
организовывать службы
операционной системы по отношению
к микроядру: как проектировать
драйверы устройств, чтобы добиться
наибольшей эффективности, но
сохранить функции драйверов
максимально независимыми от
аппаратуры; следует ли выполнять
операции, не относящиеся к ядру, в
пространстве ядра или в
пространстве пользователя; стоит
ли сохранять программы имеющихся
подсистем (например, UNIX) или лучше
отбросить все и начать с нуля.
В широкий обиход понятие
микроядра ввела компания Next, в
операционной системе которой
использовалось микроядро Mach.
Небольшое привилегированное ядро
этой ОС, вокруг которого
располагались подсистемы,
выполняемые в режиме пользователя,
теоретически должно было
обеспечить небывалую гибкость и
модульность системы. Но на практике
это преимущество было несколько
обесценено наличием монолитного
сервера, реализующего операционную
систему UNIX BSD 4.3, которую компания Next
выбрала в качестве оболочки
микроядра Mach. Однако опора на Mach
дала возможность включить в
систему средства передачи
сообщений и ряд
объектно-ориентированных
сервисных функций, на основе
которых удалось создать элегантный
интерфейс конечного пользователя с
графическими средствами
конфигурирования сети, системного
администрирования и разработки
программного обеспечения.
Следующей микроядерной
операционной системой была Windows NT
компании Microsoft, в которой ключевым
преимуществом использования
микроядра должна была стать не
только модульность, но и
переносимость. (Заметим, что
отсутствует единодушное мнение по
поводу того, следует ли на самом
деле относить NT к микроядерным ОС.)
ОС NT была построена таким образом,
чтобы ее можно было применять в
одно- и мультипроцессорных
системах, основанных на
процессорах Intel, Mips и Alpha (и тех,
которые придут вслед за ними).
Поскольку в среде NT должны были
выполняться программы, написанные
для DOS, Windows, OS/2 и систем, совместимых
со стандартами Posix, компания Microsoft
использовала присущую
микроядерному подходу модульность
для создания общей структуры NT, не
повторяющей ни одну из
существующих операционных систем.
Каждая операционная система
эмулируется в виде отдельного
модуля или подсистемы.
Позднее микроядерные архитектуры
операционных систем были объявлены
компаниями Novell/USL, Open Software Foundation (OSF),
IBM, Apple и другими. Одним из основных
конкурентов NT в области
микроядерных ОС является Mach 3.0,
система, созданная в университете
Карнеги-Меллон, которую как IBM, так и
OSF взялись довести до коммерческого
вида. (Компания Next в качестве основы
для NextStep пока использует Mach 2.5, но
тоже внимательно присматривается к
Mach 3.0.) Другим конкурентом является
микроядро Chorus 3.0 компании Chorus Systems,
выбранное USL в качестве основы
новых реализаций ОС UNIX. Некоторое
микроядро будет использоваться в
SpringOS фирмы Sun,
объектно-ориентированном
преемнике ОС Solaris (если, конечно, Sun
доведет работу над SpringOS до конца).
Очевидна тенденция к переходу от
монолитных к микроядерным системам
(хотя, как мы отмечали в предыдущем
разделе, этот процесс не является
прямолинейным: компания IBM сделала
шаг назад и отказалась от перехода
к микроядерной технологии). Кстати,
это совсем не новость для компаний
QNX Software Systems и Unisys, которые уже в
течение нескольких лет выпускают
пользующиеся успехом микроядерные
операционные системы. ОС QNX
пользуется спросом на рынке систем
реального времени, а CTOS фирмы Unisys
популярна в области банковского
дела. В обеих системах успешно
использована модульность, присущая
микроядерным ОС.
Предыдущая
глава | Оглавление
| Следующая глава
|