кальная таблица дескрипторов).
В глобальной таблице дескрипторов хранятся все сегменты операционной системы.
Локальные таблицы дескрипторов формируются на каждую задачу (программу, находящуюся в стадии исполнения, возможно, с разделением по времени). Но в каждый момент времени активны только две таблицы: GDT и одна из LDT. Обращение к таблицам производится по селектору сегмента.
Селектор сегмента определяет дескриптор используемого кодового сегмента, т. е. целевой сегмент. Селектор сегмента содержит следующие поля:
индекс (13 бит) – используется как адрес в таблице целевого дескриптора (указателя "целевой" строки таблицы дескрипторов),
бит типа "целевой" таблицы дескрипторов; при нулевом значении G/L – выбирается GDT, иначе LDT,
поле уровня привилегии запроса (в рассматриваемой конструкции не используется).
Бит G/L селектора допускает возможность использования по обращению к дескрипторам задач как задачам операционной системы, так и пользовательским. Но это выборочный доступ только к определенным "сервисным процедурам", предоставление которых пользовательским задачам является одной из главных функций ОС. Контроль корректности использования сервисных процедур задачами пользователей осуществляется механизмом проверок обращений по уровням привилегий.
Смещение в сегменте (offset)
Смещение в сегменте в программных сегментах определяет точку входа в сегмент. (По селектору дескриптора шлюза определяется целевой кодовый сегмент, а по смещению в сегменте – адрес первой команды).
Атрибуты сегмента
Атрибуты сегмента определяют тип сегмента, права использования, доступность программной процедуры по уровням привилегий, а также задают размер передаваемых параметров в процедуру через стек.
Процедура
Страницы: << < 17 | 18 | 19 | 20 | 21 > >>