Формирование физического адреса памяти в защищенном режиме работы. Примеры. (л8)
Защищенный режим создан прежде всего для работы нескольких независимых программ. Для обеспечения совместной работы нескольких задач необходимо защитить их от взаимного влияния,. Физический адрес формируется по принципам защищенного режима При адресации памяти в защищенном режиме CPU использует дескриптор для того, чтобы определить разрешено ли обращение к данному сегменту, вычислить адрес ячейки памяти и проверить, находится ли этот адрес в пределах выбранного сегмента Дескрипторы сегментов хранятся в виде таблиц массивов данных в ОП. Таблицы могут иметь размеры от 8 байт до 64 Кбайт. Имеется три вида дескрипторов: GDT – глобальная таблица дескрипторов LDT – локальная таблица дескрипторов IDT – таблица дескрипторов прерываний Таблица GDT содержит дескрипторы, которые могут использоваться системой при выполнении различных задач. Таблица LDT содержит дескрипторы сегментов, используемых при решении конкретной задачи. Количество создаваемых таблиц LDT определяется ОС и зависит от числа выполняемых задач. Каждая задача может иметь отдельную LDT, которая включает дескрипторы сегментов, используемых при ее решении. При совместном использовании сегментов таблицы LDT могут полностью или частично перекрывать друг друга. Таблица IDT обеспечивает выполнение процедур обслуживания исключений (прерываний). Обращение к необходимому дескриптору в таблице осуществляется с помощью селектора, загружаемого в соответствующий сегментный регистр: CS, DS, SS,ES, FS, GS. Селектор представляет 16-разрядный указатель и имеет три поля: 15 3 2 1 0
Биты 0 и 1 - это поле RPL, которое определяет уровень привилегий запроса и используется в механизме защиты памяти. Установлено 4 уровня защиты или 4 уровня привилегий (кольца защиты)
PL=0 – самый высокий уровень привилегий назначен ядру ОС PL=1 – назначен системным сервисам PL=2 – расширение ОС PL=3 – самый низкий уровень привилегий назначен пользовательским программам. Бит 2 – Это поле TI. При TI=0 используется глобальная таблица дескрипторов GDT. При TI=1 используется локальная таблица дескрипторов LDT. Поле INDEX – служит индексом (смещением) для выбора одного из 8192 дескрипторов (213), содержащихся в таблицах GDT или LDT. На сумматор, вычисляющий физический адрес памяти в защищенном режиме, подается не содержимое сегментного регистра, как в случае реального режима, а базовый адрес сегмента из таблицы дескрипторов и этот ажрес суммируется со значением поля INDEX селектора, т. о. получается физический адрес памяти. 37. В каких режимах может работать процессор (реальный, защищенный, виртуальный)? (л8) Понятие виртуального режима работы. Понятие сегментной организации памяти. Понятие страничной организации памяти. Понятие сегментно - страничной организации памяти.
|