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) содержит дополнительные признаки сегментов.
Вопросы для самопроверки:
- Как задается и как используется механизмом защиты поле длины
сегмента.
- Как используется бит присутствия сегмента в оперативной памяти.
- Где задается, что означает и как используется поле DPL.
- Какие дескрипторы относятся к системным.
- Что определяет бит Е ( исполняемость).
- Какие права доступа определяет бит доступности.
|
|