Страничный механизм трансляции
Виртуальная память
Достоинства схемы
Архитектура страничной виртуальной памяти
Таблица страниц
Многоуровневая таблица страниц
Инвертированная таблица страниц
Вопросы?
117.38K
Category: softwaresoftware

Страничный механизм трансляции. (Тема 14)

1. Страничный механизм трансляции

СТРАНИЧНЫЙ
МЕХАНИЗМ
ТРАНСЛЯЦИИ
Курс лекций
«Системное программное обеспечение»
«System Software»
«Операционные системы»
для студентов специальностей АСОИ и ИИ
Павел Кочурко
доцент кафедры ИИТ, к.т.н.

2. Виртуальная память

2GiB
Process 2
RAM
2GiB
Process
2
Process
1
RAM
Process 1
0
0
Цель: создать иллюзию
для процесса, что вся
необходимая ему
информация находится в
виртуальной памяти.
• логическая память
разбивается на
страницы;
• трансляция на этапе
выполнения;
• в физическую память
вносим те логические
страницы, которые
используются;
• если нужная страница
отсутствует – её нужно
подкачать с диска.

3. Достоинства схемы

• В наличии всех компонентов процесса в основной памяти
необходимости нет
• Программа не ограничена объемом физической памяти.
Упрощается разработка программ, поскольку можно задействовать большие
виртуальные пространства, не заботясь о размере используемой памяти.
Размер памяти, занимаемой процессом, может быть больше, чем размер
оперативной памяти
• Появляется возможность частичного помещения процесса в
память и гибкого перераспределения памяти между программами
Можно разместить в памяти больше программ, что увеличивает загрузку
процессора и пропускную способность системы
• Объем ввода-вывода для выгрузки части программы на диск
может быть меньше, чем в варианте классического свопинга
Каждая программа будет работать быстрее.
• Контроль доступа: процесс не может обратиться к адресам
другого процесса

4. Архитектура страничной виртуальной памяти

Страничное нарушение (page
fault) – исключительная ситуация,
которая возникает при обращении к
странице, отсутствующей в данный
момент в физической памяти.
RAM
Выполнение команды прерывается,
затребованная страница подкачивается
из конкретного места вторичной
памяти в свободный страничный кадр
физической памяти и попытка
выполнения команды повторяется
Благодаря свойству
локальности страничные
нарушения возникают только
время от времени

5. Таблица страниц

• Каждый процесс имеет свою таблицу страниц
• Каждая запись таблицы содержит номер фрейма, биты
присутствия, защиты, модификации, ссылки,
кэширования и т.д.
• Размер таблицы страниц: при размере страницы 4КiB
(212 B) количество страниц 232/212=220, каждая из
записей – несколько байт > несколько MiB. Для 64битной архитектуры – куда больше.
• Поэтому таблица страниц разбивается на фрагменты,
в оперативной памяти лишь некоторые из них,
необходимые в данный момент.

6. Многоуровневая таблица страниц

Логический (виртуальный) адрес
p1
10
p2
10
d
12
1
2
таблица 1 ур.
3
p1
210 строк
адрес p1-й таблицы
второго уровня
210
инфо о p2-й странице
p1-й таблицы, в т.ч.
номер фрейма
RAM

7. Инвертированная таблица страниц

столько строк,
сколько кадров
инфо странице в
этом кадре
RAM
+: экономия памяти
-: необходимость дополнительных механизмов
(хеш) для трансляции

8. Вопросы?

ВОПРОСЫ?
http://iit.bstu.by/ss
English     Русский Rules