Большинство современных ОС представляет собой хорошо структурированные модульные системы способные к развитию, расширения и переносу на новую платформу.
Ядро и вспомогательные модули ОС.
Наиболее общим подходом к структуризации ОС является разделение всех ее модулей на 2 группы:
1) ядро- модули выполнения основной функции ОС.
2) Модули выполнения вспомогательной функции ОС.
Модули ядра выполняют такие базовые функции ОС как управление процессами памятью, ввода-вывода и др.
Функции ядра служат также для поддержки приложений, создания для них интерфейс прикладной программ- API (Application Programming Interface).
Для обеспечения высокой скорости работы ОС большая часть модулей ядра постоянно находится в ОП- т.е. являются резедентными. некоторые компоненты ОС оформлены как обычные приложения, поэтому часто бывает сложно провести четкую грань между ОС и приложением.
Решение о том является ли программа частью ОС или нет, принимает производитель ОС.
Например: web браузер (microsoft)
|
|
Рис. 4.1 Нечеткость границы между ОС и приложениями.
-вспомог. мод.ОС
-прилож-я польз-ля
Вспомогательные модуля ОС- делятся на:
1) Утилиты-
2) Система обработки программы- текстовые и графические редакторы, компеляторы, отладчики и т.д.
3)Программы предоставляют пользователю дополнительные услуги- специальные варианты пользовательского интерфейса.
4) Библиотеки процедур- различные назначения упрощенной разработки приложения, как и обычные приложения или выполнение своих задач 1,2 и 4 обращения к функциям ядра по средним системным вызовов.
Рис. 4.2 Взаимодействие между ядром и
вспомогательным модулем ОС.
Модули ОС оформлены в виде утилит, системной обработки программ и библиотек загруженных в ОП только на время выполнения своих функций т.е. являются транзитными.
Важным свойством архитектуры ОС, основанной на ядре, является возможность защиты кодов и данных ОС за счет выполнения функций ядра в привилегированном режиме.
Ядро в привилегированном режиме.
Для надежного управления кодом выполнения приложения ОС должна иметь по отношению к приложению определенные привилегии. Иначе некорректное рабочее приложение сможет вмешаться в работу ОС и разрушить часть ее кодов.
Обеспечение привилегий ОС невозможно без специальных средств аппаратной поддержки.
Аппарат. ПК должна поддерживать как минимум 2 режима работы:
1) Пользовательский режим (User mode)
2) Привилегированный режим (режим ядра) (Kernel mode)
3) Режим супервизора (supervisor mode)
Т.к. ядро выполняет все основные функции ОС, то именно оно и работает в привилегированном режиме.
|
|
Именно это свойство- работа в привилегированном режиме служит основным определением понятия ядра.
Рис. 4.3 Архитектура ОС с ядром в
привилегированном режиме.
|
|
|
пользовательский режим
привилегированный режим
Приложения ставятся в подчинение положения за счет запрета выполнения в пользовательском режиме некоторых критичных команд (связанных с переключением процессора) с доступом к механизмам распределения и защиты памяти.
Условия разрешения выполнения критичных инструментарий находятся под полным контролем ОС. Этот контроль обеспечивает за счет набора инструментарий, безусловно запрещенных для пользовательского режима.
Полный контроль ОС над доступом к памяти достигается за счет того что инструментарии конфигурирования механизма защиты памяти разрешается выполнение только в привилегированном режиме.
Механизмы защиты памяти используется ОС не только для защиты области памяти выделенных ОС какому-нибудь приложению от остальных приложений.
Это свойство позволяет локализировать некорректные рабочие приложения в собственной области памяти так что его ошибки не оказывают влияние на остальные приложения и ОС.
Между количеством уровней привилегий реализуемых аппаратно и количествам уровней привилегий поддерживаемых ОС нет прямого соответствия.
Например: на базе 4-х уровней обеспечивается процессорами Intel, ОC OS/2 строит 3-х уровневой системы привилегий, а Windows NT, Unix ограничиваются 2-х уровневой системой.
Повышение устойчивости ОС обеспечение переходом ядра в привилегированном режиме и достигается за счет некоторого замедления выполнения системных вызовов.
Системный вызов привилегированного ядра интегрирует переключение процессора из пользовательского режима в привилегированный режим, а при возвращении к приложению- через переключение из привилегированного режима в пользовательский.
Рис. Смена режима при выполнении системного
вызова к привилегированному ядру.
Раб.прилож. Сист.вызов Раб.прилож. Польз.режим
Привилиг. режим
Работа ядра
Вр.переключ. режимов
Архитектура ОС основанная на привилегированном ядре и приложении пользовательского режима классической ее использ. Unix, OS/2, VAZVHS, IBM, OS/360,..
В некотором случае разработка ОС, отступающая от арх. организации работу ядра и приложения в одном и том же режиме, например NetWare компании Novell. Использование привилегированного режима процессоров Pentium как для работы ядра так и для работы своих приложений.
Рис. Архитектура ОС NetWare.
пользоват.режим
привилигир.режим
NLM
NLM
| |||||
При таком построении ОС обращение приложения к ядру, выполняется быстрее т.к. нет переключения режимов, однако при этом отсутствует надежная аппаратная защита памяти занимаемая модулем ОС от некорректной работы приложения.