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

Страничный механизм трансляции. (Тема 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     Русский Правила