Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы ОТВЕТЫ.doc
Скачиваний:
215
Добавлен:
02.04.2015
Размер:
965.63 Кб
Скачать

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

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

Польз. режим Польз. режим Польз. р.

Приложение сервер ресурса прилож.

режим ядра режим ядра

t1t2t3t4

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

  1. Планирование и диспетчеризация процессов. Дескрипторы задач.

Планирование процессов (задач)– это определение очередности получения ресурсов вычислительной системы для процессов при их активизации. Планирование процесса связано с его переводом из состояния бездействия в состояние готовности. Такой перевод осуществляется однократно на интервале существования процесса.

Диспетчеризация процессов (задач) – это определение очерёдности получения процессора для процессов (задач), находящихся в состоянии готовности, с целью их выполнения. Диспетчеризация процесса связана с его переводом из состояния готовности в состояние выполнения (счёта). Диспетчеризация, для конкретного процесса, может выполняться многократно, т. е. процесс может несколько раз переходить из состояния готовности в состояние выполнения и обратно на интервале своего существования. Так как в каждый такт процессорного времени могут выполняться команды только одной задачи, диспетчеризация предполагает создание и модификацию очереди готовых к выполнению задач (процессов). Элементами такой очереди (как и других очередей в вычислительной системе) на “физическом уровне” являютсядескрипторы задач.

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

  • информация по идентификации задачи (имя задачи, тип задачи);

  • информация о ресурсах, которые необходимы задаче для её выполнения и о ресурсах, которые используются в настоящее время (идентификаторы необходимых внешних устройств);

  • информация о текущем состоянии задачи (содержимое некоторых регистров процессора);

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

  • информация, необходимая для целей планирования и диспетчеризации (адресные ссылки на соседние дескрипторы, находящиеся в той же очереди, приоритет задачи, ссылки на объекты синхронизации).

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