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

Привилегированный режим.

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

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

Режим ядра

t1t2

Потеря производительности связана с тем, что на переход из пользовательского режима в привилегированный и обратно тратится определённое время ( интервалы t1 иt2). Чем больше в пользовательской программе системных вызовов, тем больше таких переходов.

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

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

  1. Средства аппаратной поддержки ОС.

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

2. Машиннозависимые компоненты ОС.

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

3. Базовые механизмы ядра.

Модули этого слоя выполняют простые (примитивные) операции ( переключение процессов, перемещение станиц в оперативной памяти, диспетчеризация прерываний).

4. Менеджеры ресурсов.

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

5. Интерфейс системных вызовов.

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