Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Дескрипторы сегментов



Дескрипторы - это объекты, находящиеся в соответствующих таблицах, на которые указывают селекторы сегмента. Они представляют собой 8-байтовые блоки, содержащие атрибуты области линейных адресов, то есть сегмента. Эти атрибуты включают 32-разрядный линейный базовый адрес сегмента, 20-разрядную длину и дробность сегмента, уровень защиты, привилегии по чтению, записи и выполнению, размер операндов по умолчанию (16-или 32-разрядные) и тип сегмента. Вся информация об атрибутах дескриптора содержится в 12 битах дескриптора сегмента. Сегменты в целом имеют три поля атрибутов: бит Р присутствия, биты DPL уровня привилегий дескриптора и бит S дескриптора сегмента.

S - бит системного сегмента – определяет, является ли сегмент системным (S=0), или же сегментом программы или данных (S=1).

Дескрипторы сегментов хранятся либо в таблице GDT либо в таблице LDT, которые процессор адресует с помощью регистров GDTR или LDTR соответственно.

Дескриптор сегмента обеспечивает процессор информацией, которая нужна ему для отображения логического адреса в линейный адрес. Эти дескрипторы создаются не прикладными программами, а компиляторами, редакторами связей, загрузчиками или операционной системой. На рис. 1.7 показан общий формат дескриптора сегмента, размер его – 8 байтов.

Дескриптор сегмента имеет следующие поля: база определяет место сегмента внутри линейного 4Г байт адресного пространства. Процессор объединяет три фрагмента базового адреса для формирования одного 32-разрядного значения; граница определяет размер сегмента.

Процессор связывает две части поля границы для формирования 20-разрядного результата. Затем он интерпретирует поле границы одним из двух способов в зависимости от состояния бита дробности:

1) в единицах байтов для определения границы до 1М байт;

2) в единицах страниц по 4К байт для определения границы до 4Г байт.

При загрузке поле границы сдвигается влево на 12 бит и в младшие биты вставляются единицы.

Бит дробности (G-гранулярность) – старший бит поля атрибутов. Если установлен, граница интерпретируется в единицах по 4К байт, если сброшен – в байтах.

31 0

База сегмента 0-15 Граница сегмента 15-0    
База сегмента 24-31 Атри-буты Граница сегмента 19-16 Атрибуты База сегмента 16-23
         

Рис. 1.7. Общий формат дескриптора сегмента





Дата публикования: 2015-10-09; Прочитано: 429 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...