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-2026
WikiSort.ru - проект по пересортировке и дополнению контента Википедии