Глобальная таблица дескрипторов или GDT - это структура данных, используемая процессорами семейства Intel x86.

Начиная с 80286для определения характеристик различных областей памяти, используемых во время выполнения программы, включая базовый адрес, размер и права доступа, такие как исполняемость и возможность записи. Эти области памяти в терминологии Intel называются сегментами.

GDT может содержать и другие вещи, кроме дескрипторов сегментов. Каждая 8-байтовая запись в GDT является дескриптором, но это могут быть дескрипторы сегмента состояния задачи (или TSS), дескрипторы локальной таблицы дескрипторов (LDT) или дескрипторы шлюза вызова. Последние, шлюзы вызова, особенно важны для передачи управления между уровнями привилегий x86, хотя этот механизм не используется в большинстве современных операционных систем.

Загрузка селектора в сегментный регистр автоматически считывает GDT или LDT и сохраняет свойства сегмента внутри самого процессора. Последующие модификации GDT или LDT не будут эффективными, если регистр сегмента не будет перезагружен.

введите описание изображения здесь

GDT в 64-битной версии

GDT все еще присутствует в 64-битном режиме; GDT должен быть определен, но обычно никогда не изменяется и не используется для сегментации. Размер регистра увеличен с 48 до 80 бит, а 64-битные селекторы всегда "плоские".