WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

Дескриптор сегмента (в архитектуре x86) — служебная структура в памяти, которая определяет сегмент. Длина дескриптора равна 8 байт .

Структура сегментного дескриптора

Байт прав доступа (AR, англ. Access Rights, биты 8-15 на рисунке):

Типы системных сегментов
Биты ARОписание
3210
00000Запрещенное значение
10001Свободный 16-битный TSS
20010LDT
30011Занятый 16-битный TSS
4010016-битный шлюз вызова
50101Шлюз задачи
6011016-битный шлюз прерывания
7011116-битный шлюз ловушки
81000Запрещенное значение
91001Свободный 32-битный TSS
A1010Зарезервировано
B1011Занятый 32-битный TSS
C110032-битный шлюз вызова
D1101Зарезервировано
E111032-битный шлюз прерывания
F111132-битный шлюз ловушки
Типы пользовательских сегментов
Биты ARОписание
321
0000Сегмент данных только для чтения
2001Сегмент данных для чтения/записи
4010Сегмент данных только для чтения, растёт вниз
6011Сегмент данных для чтения/записи, растёт вниз
8100Сегмент кода только для выполнения
A101Сегмент кода для выполнения/чтения
C110Подчинённый сегмент кода только для выполнения
E111Подчинённый сегмент кода для выполнения/чтения

Младший бит байта AR пользовательских сегментов (A, англ. Accessed, бит 8 на рисунке) можно использовать для сбора статистики о сегменте. При первом же обращении к сегменту (чтение, запись, выполнение) он устанавливается процессором в 1.

  • Флаг гранулярности G определяет лимит сегмента: при G=0 лимит равен значению соответствующего поля в дескрипторе, а при G=1 лимит равен полю дескриптора, умноженному на (212 = 4096). Таким образом при G=0 максимальный размер сегмента 1 МБайт, а при G=1 4 ГБайт.
  • Флаг разрядности DB (бит 22 на рисунке) актуален для пользовательских сегментов кода и стека. Определяет разрядность в 16 бит при нулевом и 32 бит при единичном значении.
  • Зарезервированный флаг (серое поле) должен всегда равняться нулю в 32 битных дескрипторах и режиме совместимости, одному для 64 битного режима.
  • Пользовательский флаг AVL (A, бит 20 на рисунке) отдан операционной системе. Его состояние никак не влияет на работу с сегментом.

См. также

Примечания

  1. Разорванность полей дескриптора объясняется эволюционированием процессоров.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

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

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии