Оглавление Об учебном пособии
Использованные источники1 Использованные источники2 Использованные источники3 Использованные источники4 Использованные источники5 Использованные источники6

Глава 3. Уровни привилегий.


3.1. Концепция уровней привилегий.

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

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


Рис. 5. Уровни привилегий и кольца защиты.

Механизм защиты МП х86 поддерживает до четырех уровней привилегий. Количество реализованных уровней привилегий определяется используемой операционной системой. Операционная система необязательно должна поддерживать все четыре уровня привилегий.

Простую незащищенную систему можно целиком реализовать в одном уровне привилегий. Традиционные системы супервизор/пользователь работают с двумя уровнями: супервизору (т.е. операционной системе) назначается уровень 0, а пользователям - уровень 3; примером такой системы может служить операционная система UNIX. Операционная система OS/2 поддерживает три уровня: код операционной системы работает на уровне 0, прикладные программы выполняются на уровне 3 и специальные процедуры для обращения к устройствам ввода-вывода действуют на уровне 2.

Четыре уровня привилегий МП iх86 обозначаются номерами: 0, 1, 2 и 3. Чем меньше номер уровня, тем меньше его логический уровень управления, но тем более он привилегирован и имеет большую степень защиты. Уровень 0 является наиболее, а уровень 3 - наименее привилегированными.

На рис. 5 нулевой уровень привилегий присвоен ядру операционной системы. Первый уровень предназначен для драйверов устройств и утилит. Второй уровень - для программ разработчиков комплексных систем. Третий уровень - для программ пользователей.

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

  • выполнения некоторых (привилегированных) команд;
  • обращения к данным других программ;
  • передачи управления внешнему (по отношению к самой программе) коду командами передачи управления типа FAR.

Строго говоря, в МП iх86 реализованы две системы защиты по уровням привилегий. Вторая (дополнительная) система реализована в рамках механизма трансляции страниц и рассматривается в разд. 4.2.3.

Вопросы для самопроверки:

  1. Сколько уровней привилегий предусмотрено в МП iх86.
  2. По какому критерию распределяются программы по уровням привилегий.
  3. Какой уровень привилегий по номеру соответствует наибольшему уровню по защищенности.
  4. Корректность каких трех действий программы контролируется по уровням привилегий.
<< Предыдущая страница Следущая страница >>