7.4.2.3.2. Таблицы локальных дескрипторов

 

Операционные системы часто конструируют так, чтобы каждая задача имела отдельную таблицу локальных дескрипторов LDT. Таблицы LDT обеспечивают способ изоляции сегментов программы и данных конкретной задачи от всего остального в операционной системе и содержат дескрипторы общих для всех задач сегментов. Таблица LDT связана с конкретной задачей и может содержать только дескрипторы программы, данных, стека, вентиля задачи и вентиля вызова.

Сегмент не может быть доступен задаче, если ее дескриптор сегмента не существует ни в текущей таблице LDT, ни в таблице GDT. Это и изолирует, и защищает сегменты конкретной задачи, позволяя все-таки иметь глобальные данные, разделяемые между задачами.

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

 

 

HotLog

Заказчику web дизайна и программирования - каталог сайтов, обзор дизайн студий