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

2.1.1. Контрольные поля дескрипторов сегментов.

Механизм защиты использует два поля дескрипторов сегментов: два-дцатиразрядное поле предела и двенадцатиразрядное поле атрибутов (рис. 2).


Рис. 2. Структура дескрипторов сегментов.

Поле предела (limit) определяет размер сегмента и используется для контроля выхода за границы сегментов. В поле предела можно задать размер сегмента в байтах - до 1 Мб или в страницах - до 4Гб при размере страниц в 4Kб.

Поле атрибутов содержит байт прав доступа AR и четыре дополнительных разряда, из которых используются два. Механизм защиты использует только один из них - бит гранулярности G (Granularity). Этот бит определяет меру задания предела сегмента. При G = 0 сегмент задается в байтах, а при G = 1 - в страницах.

Байт прав доступа (рис. 2) содержит следующие поля:

  • P (Present) - бит присутствия сегмента в оперативной памяти. Используется механизмом виртуальной памяти для организации подкачки (свопинга) нужного сегмента с диска в оперативную память. Механизмом защиты используется в проверках при загрузке стекового сегмента.

  • DPL (Descriptor Privilege Level) - двухразрядное поле, определяющее уровень привилегий сегмента. Механизмом защиты используется в проверках корректности использования сегмента.

  • S - тип дескриптора сегмента. При S = 0 - дескриптор определяет сегменты кодов или данных (включая стеки). При S = 1 - дескриптор системный.

  • TIPE - четырехразрядное поле, интерпретируемое по-разному в зависимости от типа дескриптора.

В системных дескрипторах (S = 1) разряды поля TIPE кодируют подтипы системных дескрипторов.

В дескрипторах сегментов данных и кодов (S = 0) поле TIPE (рис. 3) содержит дополнительные признаки сегментов.


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

  1. Как задается и как используется механизмом защиты поле длины сегмента.
  2. Как используется бит присутствия сегмента в оперативной памяти.
  3. Где задается, что означает и как используется поле DPL.
  4. Какие дескрипторы относятся к системным.
  5. Что определяет бит Е ( исполняемость).
  6. Какие права доступа определяет бит доступности.
<< Предыдущая страница Следущая страница >>