December 17 2017 17:30:51
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
СЕГМЕНТАЦИЯ ПАМЯТИ В ЗАЩИЩЕННОМ РЕЖИМЕ
ФОРМАТЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ И ВЫПОЛНЕНИЕ ОПЕРАЦИЙ

При работе процессора в защищенном режиме каждый из сегментов команд, данных, стека характеризуется соответствующими параметрами, которые определяют локализацию данного сегмента в общем пространстве адресуемой памяти и правила обращения к нему. Параметры сегмента представляются в виде 8-байтной структуры данных, называемой дескриптором. При адресации памяти процессор использует дескриптор для того, чтобы определить разрешено ли обращение к данному сегменту, вычислить адрес ячейки памяти и проверить, находится ли этот адрес в пределах выбранного сегмента.

Дескрипторы сегментов хранятся в памяти в виде массивов данных, которые сформированы в виде таблиц. Таблицы могут иметь размеры от 8 байт до 64 Кбайт, т. е. содержать до 8192 дескрипторов. Имеется три типа таблиц дескрипторов:

GDT - глобальная таблица дескрипторов;

LDT - локальная таблица дескрипторов;

IDТ - таблица дескрипторов прерываний.

Таблица GDT содержит дескрипторы, которые могут использоваться системой при выполнении различных задач. Таблицы LDT содержат дескрипторы сегментов, используемых при решении данной задачи. Количество создаваемых таблиц LDT определяется операционной системой и зависит от числа выполняемых задач. Общее количество таблиц LDT может достигать 8192. В принципе, каждая задача может иметь отдельную LDT, которая включает дескрипторы сегментов, используемых при ее решении. В случае совместного использования сегментов таблицы LDT могут полностью или частично перекрывать друг друга. Таблица ЮТ обеспечивает выполнение процедур обслуживания исключений (прерываний), которые будут рассмотрены в гл. 8. В данной главе описывается адресация памяти в защищенном режиме, которая обеспечивается с помощью таблиц GDT и LDT.

Обращение к необходимому дескриптору в таблице осуществляется с помощью селектора, загружаемого в соответствующий сегментный регистр: CS, DS, SS, ES, FS или GS. Селектор представляет собой 16-разрядный указатель, который имеет три поля (рис. 2.39).

Поле RPL (биты 0-1) определяет уровень привилегий запроса (request privilege level). Это двухразрядный код, указывающий допустимый уровень защиты сегмента, который может быть выбран с помощью данного селектора.

Поле TI (бит 2) служит индикатором таблицы. Его значение указывает выбираемую таблицу: GDT при TI = 0, LDT при TI = 1.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.02 секунд 2,299,276 уникальных посетителей