Операционные системы. Курс лекций

       

Архитектура ОС


Наиболее общим подходом к структуризации ОС является разделение всех ее модулей на 2 группы:

1.    ядро, содержащее модули, которые выполняют основные функции ОС.

2.    модули, выполняющие вспомогательные функции ОС.

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

Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду.

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

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

К вспомогательным модулям ОС относятся программы архивирования, программы дефрагментации диска и т.д.

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

1.    утилиты (архивирование, дефрагментация…)

2.    системные обрабатывающие программы (компиляторы, компоновщики, отладчики, текстовые и графические редакторы)

3.    программы предоставления пользователю дополнительных услуг (калькулятор, игры)

4.    библиотеки процедур, упрощающие разработку приложений.

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

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

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


Поскольку все основные функции ОС выполняет ядро, то именно ядро работает в привилегированном режиме.

Приложение ставится в подчиненное положение за счет запрета выполнения в пользовательском режиме некоторых критичных команд, связанных с переключением процессора с задачи на задачу, управлением устройств ввода/вывода, доступом к механизмам распределения и защиты памяти.

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

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

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

На базе 4х уровней, обеспечиваемых процессором компании Intel, ОС OS/2 строит 3х уровневую систему привилегий, а ОС Windows NT и UNIX имеют 2х уровневую систему защиты.

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

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




Содержание раздела