Ядро и вспомогательные модули




Архитектура операционной системы

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

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

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

Уровни привилегий

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

Поэтому были введены два основных режима работы процессора: режим пользователя и режим супервизора (привилегированный). Большинство современных процессоров поддерживают по крайней мере два этих режима. Так, в режиме супервизора программа может выполнять все действия и иметь доступ по любым адресам, тогда как в пользовательском режиме должны быть ограничения, с тем чтобы обнаруживать и пресекать запрещенные действия, перехватывая их и передавая управление супервизору операционной системы. Часто в пользовательском режиме запрещается выполнение команд ввода-вывода и некоторых других, чтобы гарантировать выполнение этих операций только операционной системой.

В схеме защиты процессоров Intel (386 и выше) предусмотрены четыре кольца защиты, но большинство ОС используют только два (реже три) из них. Внутреннее кольцо имеет номер 0, в нем работает ОС (режим супервизора). Внешнее кольцо – номер 3 – в нем работают приложения (режим пользователя).

Процессор всегда знает, в каком кольце исполняется код, благодаря специальным регистрам, расположенным в процессоре. Механизм колец строго ограничивает пути, с помощью которых управление можно передать от одного кольца к другому, а также предписывает ограничения на операции доступа к памяти, которые могут быть произведены внутри кольца. Обычно существует некоторая инструкция («ворота»), которая передаёт контроль из менее защищённого в более защищённое (с меньшим номером) кольцо; это известно как запрос супервизора во многих операционных системах, использующих кольцевую архитектуру. Этот механизм разработан для того, чтобы ограничить возможности случайного или намеренного нарушения безопасности.

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

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

Ядро и вспомогательные модули

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

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

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

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

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

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

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

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

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

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

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

Ядро

Работает в привилегированном режиме, защищено от приложений пользователя

· Распределяет основные ресурсы системы

· Выполняет роль арбитра в споре приложений за ресурсы

· Аппаратура компьютера должна поддерживать как минимум два режима работы:

· Режим пользователя

· Режим супервизора

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

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

 
 

Многослойная структура ОС



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: