ТОП 10:

Привилегированный режим и режим пользователя



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

Рассмотрим особенности этого режима.

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

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

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

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

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

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

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

 

Реализация архитектуры операционных систем

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

 

Монолитные системы

ОС, в которых все базовые функции сконцентрированы в ядре, называют монолитными системами.

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

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

Достоинства: Недостатки:

-простота разработки; -большой объем оперативной памяти занимаемый ОС;

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

Примеры: ОС с ядром UNIX такие как: LINUX, BSD

 

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

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

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

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

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

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

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

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

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

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

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

 

 







Последнее изменение этой страницы: 2017-02-06; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.228.10.17 (0.008 с.)