![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Все дескрипторы, кроме дескрипторов прерываний (дескрипторы сегментов, задач, шлюзов сегментов или задач), хранятся в оперативной памяти в специальных таблицах GDT (глобальная таблица дескрипторов) и LDT (локальная таблица дескрипторов).
В глобальной таблице дескрипторов хранятся все сегменты операционной системы.
Локальные таблицы дескрипторов формируются на каждую задачу (программу, находящуюся в стадии исполнения, возможно, с разделением по времени). Но в каждый момент времени активны только две таблицы: GDT и одна из LDT. Обращение к таблицам производится по селектору сегмента.
Селектор сегмента определяет дескриптор используемого кодового сегмента, т.е. целевой сегмент. Селектор сегмента содержит следующие поля:
· индекс (13 бит) – используется как адрес в таблице целевого дескриптора (указателя "целевой" строки таблицы дескрипторов),
· бит типа "целевой" таблицы дескрипторов; при нулевом значении G/L – выбирается GDT, иначе LDT,
· поле уровня привилегии запроса (в рассматриваемой конструкции не используется).
Бит G/Lселектора допускает обращение к дескрипторам задач как задачам операционной системы, так и пользовательским. Но это выборочный доступ только к определенным "сервисным процедурам", предоставление которых пользовательским задачам является одной из главных функций ОС. Контроль корректности использования сервисных процедур задачами пользователей осуществляется механизмом проверок обращений по уровням привилегий.
Дата публикования: 2014-11-03; Прочитано: 548 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!