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

3.2. Задание уровней привилегий.

Основными объектами механизма защиты по привилегиям являются сегменты кодов и данных, включая стековые, и шлюзы. Именно им назначаются уровни привилегий. Уровень привилегий сегмента или шлюза определяет поле DPL (Descriptor Privilege Level) уровня привилегий, который находится в байте AR прав доступа соответствующего дескриптора. Это относится как к данным, так и к командам.

Эквивалентом понятия уровня привилегий процессора в МП iх86 является понятие текущего уровня привилегий CPL (Current Privilege Level или Code Privilege Level).

Текущей уровень привилегий определяется полем DPL дескриптора кодового сегмента. После загрузки кодового сегмента и передачи на него управления значение DPL копируется в поле CPL регистра кодового сегмента CS. После этого уровень привилегий кодового сегмента DPL становится текущим уровнем привилегий СPL. Таким образом, текущий уровень привилегий является уровнем привилегий исполняемого кодового сегмента.

Кроме уровней привилегий DPL и СPL, механизм защиты использует понятие уровня привилегий запроса (RPL). Это уровень привилегий, заданный селектором команды загрузки регистров сегментов данных, межсегментных передач управления, шлюзов.

Уровень привилегий запроса (RPL) селекторов сегментов данных сохраняется в соответствующих сегментных регистрах SS, DS, ES, FS, GS. После загрузки селекторов в сегментные регистры, хранящийся в них RPL механизмом защиты уже не используется. При межсегментных передачах управления селектор целевых сегментов кодов загружается в сегментный регистр CS, но вместо поля RPL заносится CPL = DPL дескриптора кодового сегмента.

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


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

  1. Каким объектам назначаются уровни привилегий.
  2. Какое поле определяет уровень привилегий объекта. Где оно расположено.
  3. Что определяет и где расположено поле текущего уровня привилегий.
  4. Что определяет и где расположено поле уровня привилегий ввода - вывода.
  5. Как формируется текущий уровень привилегий.
  6. Как задается уровень привилегий запроса.
<< Предыдущая страница Следущая страница >>