Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ПЭВМ.doc
Скачиваний:
33
Добавлен:
23.04.2019
Размер:
10.46 Mб
Скачать

2 Страничное преобразование адреса.

а) Одноэтапное преобразование адреса.

Лист 2

Рисунок 56 - Одноэтапное преобразование адреса.

Старшие 20 бит 32 разрядного линейного адреса (номер виртуальной страницы) служит для входа в таблицу страниц, где заменяются 20 битным физическим адресом страницы. Младшие 12 бит линейного адреса определяют положение байта внутри страницы (смещение в странице и остаются неизменными.

б) Двухэтапное преобразование адреса

Рисунок 57 - Двухэтапное преобразование адреса

Основой выступает регистр управления CR3, который называется базовым регистром каталога страниц PDBR и содержит 20 битный физический базовый адрес каталога. Младшие 12 бит регистра нулевые, поэтому каталог страниц выровнен на границу страниц в 4К. Каталог страниц – это корневая таблица страниц первого уровня, которую формирует операционная система при делении ОП на страницы. Каталог содержит 1024 32-х битных дескриптора, называемых элементами каталога страниц PDE – Page directory entry. Каждый из PDE адресует таблицу страниц второго уровня. Каждая из таблиц страниц (их может быть 1024) содержит 1024 32-х битных дескриптора, называемых элементами таблиц страниц PTE – Page Table Entry. Каждый из PTE адресует страничный кадр в физической ОП. Преобразование линейного адреса в физический происходит в 2 этапа.

1 этап: старшие 10 бит (31-22) линейного адреса, дополненные 2 младшими нулями, выбирают элемент каталога страниц PDE.

2 этап: Средние 10 бит линейного адреса (21-12), дополненные 2 младшими нулями, выбирают элемент таблицы страниц PTE. В PTE старшие 20 бит указывают базовый адрес страничного кадра в физической ОП, которые объединяются с младшими 12 битами (11-0) линейного адреса (смещения

байта в странице). В результате получается 32 битный физический адрес памяти, по которому производится обращение.

Для ускорения считывания применяется внутренняя кэш память, называемая ассоциативным буфером преобразования TLB, который контролируют регистры проверки TR6-TR7 (см. выше).

3 Формат элемента таблицы страниц pte

Рисунок 58 - Формат элемента таблицы страниц PTE

Форматы элементов PTE и PDE – одинаковы

Адрес страничного кадра – физический адрес страницы (20 бит)

В PDE этот адрес является адресом таблицы страниц второго уровня.

Поле Дост. (3 бита) – биты, доступные программисту.

Бит P – бит присутствия. P=1, страница находится в физической ОП, P=0 – на HDD.

R/W – бит чтения / записи

U/S – пользователь/супервизор – 1 бит для контроля привилегий. Если 0 - супервизор, иначе – пользователь

PCD – запрещает кэширование страниц.

PWT – запрещает сквозную запись в кэш l2

PCD, PWT – берутся из CR3

A – бит обращения

D – dirty – грязный бит. Он решает, нужно ли обращаться за страницей на диск или нет. То есть если P=0, то D=1. При P=1 D=0.

Тема 4.4 Защита по привилегиям

1) Уровни привилегий

PL – Privilege level

В ПК для целей защиты есть минимум 2 режима:

1. Системный режим – режим супервизора

2. Пользовательский режим – режим пользователя

В режиме супервизора работают процедуры ОС, которым доступны все ресурсы системы.

А в пользовательском режиме программам запрещается выполнение некоторых команд, которые влияют на общесистемные ресурсы. К ним относятся: команды ввода/вывода, манипуляции системными регистрами, управления прерываниями.

На уровне сегментов принцип защиты по привилегиям расширен до 4-х уровней. Средства защиты должны предотвращать неразрешённые взаимодействия пользователей друг с другом, несанкционированный доступ пользователей к данным, повреждение программ и данных из-за ошибок в программе и так далее. Чем меньше номер уровня, тем он более привилегирован. Уровни привилегий принято представлять в виде колец защиты. При выполнении каждой команды осуществляется проверка защиты по привилегиям.

Рисунок 59 - Кольца защиты

Нулевой уровень (00) – ядро ОС.

Первый (01) – процедуры ОС.

Второй (10) – система программирования

Третий (11) – прикладные программы

К привилегированным относятся те команды, которые изменяют сегментацию, решают вопрос о разрешении прерывания в данный момент и так далее.

Пользовательские программы в мультизадачной среде обычно разделяют свои данные. Движение к данным внутрь колец защиты запрещено. Это нарушит общую защиту. Однако программы могут использовать данные на своём уровне привилегий и на менее привилегированных уровнях.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]