ЭВУ 2 семестр / Презентации ЭВУ в пдф / Дескрипторы новые 2
.pdfLection №9
Дескрипторы и таблицы(продолжение).
•Физический факультет, ЭВУ и системы, 7 семестр,2011 Доцент Моховиков А..Ю. Physics Faculty, Electronic Devices & Systems, 7th semester,2011 Dr. Mokhovikov
В предыдущей серии: Основные положения защищенного режима
•Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich
Дескрипторы
•Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich
Дескрипторные таблицы
Дескрипторные таблицы — служебные структуры данных, содержащие дескрипторы сегментов
Дескрипторные таблицы
глобальная таблица |
|
локальная таблица |
|
таблица дескрипторов |
дескрипторов |
|
дескрипторов |
|
прерываний |
|
|
|
|
|
Существует три типа дескрипторных таблиц – глобальная таблица дескрипторов (одна в системе); локальная таблица дескрипторов (своя для каждой задачи); таблица дескрипторов прерываний
Каждый дескриптор (элемент) таблицы описывает свой сегмент памяти.
Сегменты памяти не пересекаются!
Адрес начала каждой из таблиц (указатель на начало таблицы) хранится в специальных (программно доступных) регистрах процессора.
Указатели на таблицу глобальных дескрипторов (GDTR) и таблицу прерываний (IDTR) имеют размер 48 байт, 32 из которых указывают линейный адрес начала таблицы, а остальные 16 – ее размер (предел).
•Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2011 Dr.Mokhovikov Alexander Yurievich
Дескрипторы
Основные дескрипторы подразделяются на следующие категории:
* - ограниченно совместим.
•Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2012 Dr.Mokhovikov Alexander Yurievich
Дескрипторные таблицы
Команды загрузки регистров-указателей таблиц (GDTR, LDTR, IDTR) являются привилегированными (выполняются только на нулевом кольце привилегий
Глобальная таблица (GDT) содержит дескрипторы, доступные все задачам. Может содержать дескрипторы любых типов, кроме дескрипторов прерываний и ловушек
Нулевой элемент этой таблицы процессором не используется.
Локальная таблица (LDT) может быть собственной для каждой задачи и может содержать только дескрипторы сегментов, шлюзов задачи и вызовов. Сегмент недоступен задаче, если его дескриптора нет ни в LDT, ни в GDT. Дескрипторные таблицы создаются и поддерживаются операционной системой.
•Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2012 Dr.Mokhovikov Alexander Yurievich
Дескрипторы
Адрес сегмента – физический адрес начала сегмента (если нет страничного преобразования);
Размер - размер сегмента (Размер сегмента – 1);
Байт доступа – содержит информацию о защите сегмента;
D - бит разрядности выполняемых команд (для кодового сегмента):
0– 16-разрядные;
1– 32-разрядные
G - признак единицы измерения сегмента: 0 – в байтах;
1 – в страницах (по 4 Кб), при использовании страничной адресации памяти;
AVL - сегмент доступен для использования системным программным обеспечением (используются только ОС);
•Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2012 Dr.Mokhovikov Alexander Yurievich
Дескрипторы
Системные сегменты предназначены для хранения локальных таблиц дескрипторов LDT и состояния задач
TSS (Task State Segment)
Их дескрипторы определяют базовый адрес, лимит сегмента (1- 64 Кбайт), права доступа (чтение, чтение/запись, только исполнение кода или исполнение/чтение) и присутствие сегмента в физической памяти.
В байте управления доступом у этих дескрипторов бит Р определяет действительность (Р=1) или недействительность (Р=0) содержимого сегмента.
Поле уровня привилегий DPL используется только в дескрипторах сегментов состояния задач (TSS). Поскольку обращение к дескрипторам LDT возможно только по привилегированным командам, поле DPL для дескрипторов локальных таблиц не исполь-зуется
. Поле ТYPE (1-3, 9-В) определяет тип сегмента.
•Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2012 Dr.Mokhovikov Alexander Yurievich
Дескрипторы
Общие поля-характеристики для обеих групп дескрипторов:
1.Наличие в ОЗУ [P - бит присутствия]
2.Уровень привилегий [DPL - 2 бита уровня доступа]
3.Расширенный тип* [ETYPE - 5 бит расширенного типа]
Расширенный тип введен для приведения всех типов дескрипторов разных групп к общему типу.
•Он учитывает значение поля S - системный бит.
•Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2012 Dr.Mokhovikov Alexander Yurievich
Дескрипторы
Выделим общие поля-характеристики дескрипторов 1 группы:
1.Разрядность[D - бит разрядности, 16 бит/32 бита]
2.Гранулярность [G - бит дробности, 1 байт/4Кб]
3.Сегмент/системный объект [S - бит типа сегмент/объект]
4.Собственные нужды ОС[AVL - бит нужд ОС]
5.Базовый адрес [BASE - 32 бита базового адреса]
6. Предел сегмента |
[LIMIT - 20 бит размера сегмента] |
•Physics Faculty, Electronic Computing Devices & Systems, 7th semester,2012 Dr.Mokhovikov Alexander Yurievich