Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Преимущества и недостатки микроядерной архитектуры




 

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

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

Особенности архитектуры микроядерных ОС обеспечивают их высокую степень расширяемости по сравнению с другими ОС. В классических системах, даже если и реализуется многослойная архитектура, бывает очень трудно, порой невозможно, поменять один слой на другой по причине множественности и размытости межслойных интерфейсов. Изменение существующих и добавление новых функций, а следовательно, изменение межслойных интерфейсов, требует не только глубокого знания ОС, но и больших временных затрат. Наряду с этим ограниченный набор четко определенных интерфейсов микроядра позволяет системе упорядоченно расти и эволюционировать. Добавление очередной подсистемы требует только лишь разработки нового приложения и никоим образом не затрагивает целостность микроядра. Микроядерная структура позволяет не только увеличивать, но и сокращать число компонентов ОС, что также бывает необходимо. Например, не всем пользователям нужны средства безопасности или поддержки распределенных приложений, а удаление их из традиционного ядра зачастую просто невыполнимая задача. Обычно традиционные ОС позволяют динамически добавлять в ядро или удалять из ядра только драйверы внешних устройств. Ввиду частых изменений в конфигурации подключенных к компьютеру внешних устройств подсистема ввода-вывода ядра допускает загрузку и выгрузку драйверов “на ходу”, но для этого она разрабатывается особым образом (например, среда STREAMS в UNIX или менеджер ввода-вывода в Windows NT). При микроядерном подходе конфигурируемость не вызывает никаких проблем и не требует особых мер, достаточно изменить файл с настройками начальной конфигурации системы или же остановить ненужные больше серверы в ходе работы обычными для остановки приложений средствами.

Использование микроядерной модели повышает надежность ОС. Каждый сервер выполняется в виде отдельного процесса в своей собственной области памяти и таким образом защищен от других серверов ОС, чего не наблюдается в традиционной ОС, где все модули ядра влияют друг на друга. И если отдельный сервер терпит крах, то он может быть перезапущен без останова или повреждения остальных серверов ОС. Более того, поскольку серверы выполняются в пользовательском режиме, они не имеют непосредственного доступа к аппаратуре и не могут модифицировать память, в которой хранится и работает микроядро. Другим потенциальным источником повышения надежности ОС является уменьшенный объем кода микроядра по сравнению с классическим ядром – это снижает вероятность появления ошибок программирования.

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

Все рассмотренные ранее свойства ОС с микроядерной архитектурой свидетельствовали о предпочтительности ее использования разработчиками. Однако, как уже говорилось, все эти качества приобретаются за счет снижения производительности ОС. Что же является этому причиной? Дело в том, что при классической организации ОС (рис. 7а) выполнение системного вызова сопровождается двумя переключениями режимов, а при микроядерной организации (рис. 7б) – четырьмя.

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

Серьезность этого недостатка хорошо иллюстрирует история развития ОС Windows NT. В версиях 3.1 и 3.5 диспетчер окон, графическая библиотека и высокоуровневые драйверы графических устройств входили в состав сервера пользовательского режима и вызов функций этих модулей осуществлялся в соответствии с микроядерной схемой. Но очень скоро разработчики Windows NT поняли, что такой механизм обращений к часто используемым функциям графического интерфейса существенно замедляет работу приложений и делает данную ОС уязвимой в условиях острой конкуренции. В результате в версию Windows NT 4.0 были внесены существенные изменения – все перечисленные выше модули были перенесены в ядро, что отдалило эту ОС от идеальной микроядерной архитектуры, но зато резко повысило ее производительность.

Данный пример иллюстрирует главную проблему, с которой сталкиваются разработчики ОС, решившие применить микроядерный подход,  что включить в микроядро, а что вынести в пользовательское пространство. В идеальном случае микроядро может состоять только из средств передачи сообщений и средств взаимодействия с аппаратурой, в том числе средств доступа к механизмам привилегированной защиты. Однако многие разработчики не всегда жестко придерживаются принципа минимизации функций ядра, часто жертвуя этим ради повышения производительности. В результате реализации ОС образуют некоторый спектр, на одном краю которого находятся системы с минимально возможным микроядром, а на другом – системы, в которых микроядро выполняет достаточно большой объем функций. Конфигурация микроядра конкретной ОС определяется в соответствии с критериями эффективности, применимыми к данной системе.





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 1014 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент может не знать в двух случаях: не знал, или забыл. © Неизвестно
==> читать все изречения...

2780 - | 2342 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.024 с.