Дескриптор сегмента (в архитектуре x86) — служебная структура в памяти, которая определяет сегмент. Длина дескриптора равна 8 байт .
Байт прав доступа (AR, англ. Access Rights, биты 8-15 на рисунке):
№ | Биты AR | Описание | |||
---|---|---|---|---|---|
3 | 2 | 1 | 0 | ||
0 | 0 | 0 | 0 | 0 | Зарезервировано |
1 | 0 | 0 | 0 | 1 | Свободный 16-битный TSS |
2 | 0 | 0 | 1 | 0 | LDT |
3 | 0 | 0 | 1 | 1 | Занятый 16-битный TSS |
4 | 0 | 1 | 0 | 0 | 16-битный шлюз вызова |
5 | 0 | 1 | 0 | 1 | Шлюз задачи |
6 | 0 | 1 | 1 | 0 | 16-битный шлюз прерывания |
7 | 0 | 1 | 1 | 1 | 16-битный шлюз ловушки |
8 | 1 | 0 | 0 | 0 | Зарезервировано |
9 | 1 | 0 | 0 | 1 | Свободный 32-битный TSS |
A | 1 | 0 | 1 | 0 | Зарезервировано |
B | 1 | 0 | 1 | 1 | Занятый 32-битный TSS |
C | 1 | 1 | 0 | 0 | 32-битный шлюз вызова |
D | 1 | 1 | 0 | 1 | Зарезервировано |
E | 1 | 1 | 1 | 0 | 32-битный шлюз прерывания |
F | 1 | 1 | 1 | 1 | 32-битный шлюз ловушки |
№ | Биты AR | Описание | ||
---|---|---|---|---|
3 | 2 | 1 | ||
0 | 0 | 0 | 0 | Сегмент данных только для чтения |
2 | 0 | 0 | 1 | Сегмент данных для чтения/записи |
4 | 0 | 1 | 0 | Сегмент данных только для чтения, растёт вниз |
6 | 0 | 1 | 1 | Сегмент данных для чтения/записи, растёт вниз |
8 | 1 | 0 | 0 | Сегмент кода только для выполнения |
A | 1 | 0 | 1 | Сегмент кода для выполнения/чтения |
C | 1 | 1 | 0 | Подчинённый сегмент кода только для выполнения |
E | 1 | 1 | 1 | Подчинённый сегмент кода для выполнения/чтения |
Младший бит байта AR пользовательских сегментов (A, англ. Accessed, бит 8 на рисунке) можно использовать для сбора статистики о сегменте. При первом же обращении к сегменту (чтение, запись, выполнение) он устанавливается процессором в 1.
Дескриптор сегмента.