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


Механизм защиты распознает четыре уровня привилегированности, нумеруемые от 0 до 3. Чем больше номер, тем ниже уровень привилегированности. Уровни привилегированности могут использоваться для повышения надежности операционной системы. Прикладным программам присваивается самый низкий уровень привилегированности. На Рисунке показано, как эти уровни привилегированности могут быть интерпретированы в качестве колец защиты.

Центральное кольцо защиты содержит сегменты, в которых находится наиболее важное программное оеспечение, обычно ядро операционной системы. Прочие кольца используются для менее важного программного обеспечения.
Уровни привилегированности хранятся в следующих структурах данных:
— Два младших бита сегментного регистра CS содержат текущий уровень привилегированности (CPL). Это уровень привилегированности выполняемой в текущий момент программы. Младшие два бита регистра SS также содержат копию CPL. Обычно CPL равен уровню привилегированности кодового сегмента, из которого происходит выборка команд программы. CPL изменяется при передаче управления кодовуму сегменту с другим уровнем привилегированности. — Дескрипторы сегмента содержат поле, которое называется уровнем привилегированности дескриптора (DPL). DPL представляет собой уровень привилегированности применительно к сегменту. — Селекторы сегмента содержат поле, которое называется запрошенным уровнем привилегированности (RPL) RPL представляет собой уровень привилегированности процедуры, создавшей данный селектор. Если RPL имеет меньший уровень привилегированности, чем CPL, то он замещает CPL. Когда более привилегированная программа принимает селектор сегмента из менее привилегированной программы, RPL вызывает доступ к памяти с меньшим уровнем привилегированности.
Уровни привилегированности проверяются, когда селектор дескриптора загружается в сегментный регистр. Проверки, используемые для доступа к данным, отличаются от проверок при передаче выполнения между выполняемыми сегментами; следовательно, существует два типа доступа, рассматриваемые в следующих разделах в отдельности.

Загрузка...