Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ос_ЛЕКЦИИ_для _методички_.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
821.76 Кб
Скачать

Микроядерная архитектура.

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

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

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

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

1. Переносимость: весь машинно-зависимый код сосредоточен в микроядре. Для переноса требуется переделать микроядро.

2. Расширяемость: добавление или удаление функций ОС может быть осуществлено добавлением или удалением серверов ядра.

3. Надежность: каждый сервер выполняется в своей области памяти и защищен от воздействия других серверов (если один из серверов отказал, перезагружать ОС не требуется, можно перезагрузить сервер).

4. Серверы не имеют доступа к аппаратуре, то есть не могут нарушить работоспособность системы в целом.

5. Микроядро – небольшой модуль (группа модулей), который можно постараться написать без ошибок.

Недостатки:

ОС на основе микроядра менее производительна: ввода-вывода больше.

Принципы поддержки нескольких операционных сред.

Задача:

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

Реализация:

1. Приложение в своей среде через собственный API обращается к транслятору, который преобразует API данной среды в API базовой ОС и далее выполняется с использованием данной аппаратной платформы.

API (OC2)

транслятор

пользовательский

привилегированный

2 . Базовая ОС содержит трансляторы, которые находятся в ядре. API каждой операционной среды обрабатывается соответствующим транслятором и выполняется на данной платформе.

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

OC4

Третий вариант более надежный, но более медленный.

Вспомогательные модули ОС.

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

Вспомогательные модули, как правило, разделяются на:

1. Утилиты – программы поддержки функционирования вычислительной системы (инструментарии оценки эффективности, инструментарии восстановления после сбоев, инструментарии архивирования и т.п.).

2. Системные обрабатывающие программы – редакторы, сетевые средства, системы программирования.

3. Обеспечение безопасности.

Как и обычные приложения, вспомогательные модули ядра выполняются посредствам запросов.

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