Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС М1 2011.docx
Скачиваний:
9
Добавлен:
12.11.2019
Размер:
162.32 Кб
Скачать

1.9.2 Системы с микроядром

Микроядро –это небольшая часть функций ядра, которая реализуется в привелегированном режиме и осуществляет связь между компонентами системы и выполняет базовое распределение ресурсов.

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

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

Чтобы выполнить системный вызов, процесс (пользовательская программа) обращается к микроядру. Микроядро посылает серверу запрос, сервер выполняет работу и пересылает ответ назад, а микроядро переправляет его клиенту (рис. 1.2). Клиентами могут быть не только процессы пользователя, а и другие модули ОС.

Рис.1.2-Системный вызов в архитектуре с микроядром

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

  • небольшие размеры микроядра, которое упрощает его разработку и отладку;

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

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

Примером применения архитектуры с микроядром является Windows NT версий 3.1 и 3.5, а также ОС реального времени QNX.

1.10 Операционная система и ее окружение

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

1.10.1 Взаимодействие ос и аппаратного обеспечения

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

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

Средства аппаратной поддержки операционных систем

Современные аппаратные архитектуры компьютеров реализуют базовые средства поддержки операционных систем. К ним принадлежат:

-система прерываний,

-привилегированный режим процессора,

-средства переключения задач,

-поддержка управления памятью (механизмы трансляции адресов, защита памяти),

-системный таймер,

-защита устройств ввода-вывода,

-базовая система ввода-вывода (BIOS).

Рассмотрим эти средства подробнее.

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

Аппаратное прерывание - это специальный сигнал (запрос прерывания, IRQ), который передается процессору от аппаратного устройства.

К аппаратным прерываниям принадлежат:

-прерывание введения-вывода, которые поступают от контролера периферийного устройства; например, такое прерывание генерирует контролер клавиатуры при нажатии на клавишу;

-прерывание, связанные с аппаратными или программными ошибками (такие прерывания возникают, например, в случае сбоя контролера диска, доступа к запрещенной области памяти или деление на нуль).

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

Если прерывания состоялось, то процессор немедленно передает управление специальной процедуре - обработчику прерывания. После выхода из обработчика процессор продолжает выполнение инструкций прерванной программы. Различают два типа прерываний в зависимости от того, какая инструкция будет выполнена после выхода из обработчика:

-для отказов повторяется инструкция, которая вызвала прерывание,

-для ловушек - выполняется следующая инструкция.

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

Если ОС не занятая выполнениям какой-нибудь задачи, она ожидает прерывание, которое и привлекает ее к работе. Поэтому можно считать, что современные ОС управляются прерываниями.

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

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

Механизм трансляции адресов обеспечивает преобразование адресов памяти, с которыми работает программа, у адреса физической памяти компьютера. Аппаратное обеспечение генерирует физический адрес, используя специальные таблицы трансляции.

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

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

Защита устройств ввода-вывода основывается на том, что все инструкции ввода-вывода определены как привилегированные. Прикладные программы осуществляют ввод-вывод не прямо, а при посредничестве ОС.

Базовая система ввода-вывода (BIOS) - служебный программный код, который сохраняется в постоянном запоминающем устройстве и предназначен для изоляции ОС от конкретного аппаратного обеспечения. Укажем, что средства BIOS не всегда дают возможность использовать все возможности архитектуры: например, процедуры BIOS для архитектуры IА-32 не работают в защищенном режиме. Поэтому современные ОС используют их только для начальной загрузки системы.