7.4.2.3.2. Таблицы локальных
дескрипторов
Операционные системы часто конструируют так, чтобы каждая
задача имела отдельную
таблицу локальных дескрипторов LDT. Таблицы LDT обеспечивают способ изоляции сегментов
программы и данных конкретной задачи от всего остального в операционной системе и содержат
дескрипторы общих для всех задач сегментов. Таблица LDT связана с конкретной задачей и
может содержать только дескрипторы программы, данных, стека, вентиля задачи и вентиля вызова.
Сегмент не может быть доступен задаче, если ее дескриптор
сегмента не существует
ни в текущей таблице LDT, ни в таблице GDT. Это и изолирует, и защищает сегменты конкретной
задачи, позволяя все-таки иметь глобальные данные, разделяемые между задачами.
Регистры GDT и LDT содержат 16-разрядную границу и 32-разрядный адрес
(16 плюс 32 дает 48
бит или 6 байт). В отличие от 6-байтовых регистров GDT и ЮТ, которые содержат и базовый
адрес, и границу, в программно доступной части регистра LDT имеется только 16-разрядный
селектор. Этот селектор ссылается на дескриптор таблицы LDT в таблице GDT.