Память


E.4.1. Четырехуровневая система привилегий в микропроцессорах с архитектурой x86.


Процессоры x86 поддерживают четыре уровня привилегий для сегментов программ и данных. Уровень 0 самый привилегированный, уровень 3 наименее привилегированный. Корпорация Intel рекомендует процессам занимать следующие уровни привилегий:

0 - ядро операционной системы;

1 - операционная система;

2 - системы программирования и базы данных;

3 - прикладные (пользовательские) программы.

На каждом уровне привилегий проверяется:

  1. Может ли программа выполнить указанную подпрограмму?
  2. К данным каких программ может обратиться та или иная программа?
  3. Имеет ли программа право передавать управлению внешнему процессу и какому именно?

Рассмотрим накладываемые ограничения:

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

2. Программам не разрешается считывать/записывать элементы данных, которые имеют более высокий уровень привилегий. Однако программы могут использовать данные на своем и более низком уровне привилегий.

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

Содержание раздела