Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы 2008-2009.doc
Скачиваний:
20
Добавлен:
17.09.2019
Размер:
4.36 Mб
Скачать

69 Виртуализация памяти компьютеров: предпосылки внедрения, принцип реализации, виды виртуальной памяти.

Предпосылки:

Характерная ситуация:

  • размещение всей программы в ОП невозможно из-за:

  • большого размера программы;

  • необходимости размещения нескольких программ;

  • в отдельные промежутки времени ЦП обращается сравнительно к небольшим участкам программы.

Решение: используемые в данный период части программ хранятся в ОП, остальные – на внешних ЗУ (ВЗУ).

Сложность: различия в механизмах обращения к ОП и ВЗУ усложняют задачу программиста.

Выход: виртуализация памяти (с 1959 г.).

Виртуализация памяти - способ аппаратно-программной реализации концепции иерархической памяти.

Программисту «предоставляется» единая память большой емкости и высокого быстродействия –виртуальная, кажущаяся (virtual memory).

ОП рассматривается как линейное пространство N адресов – физическое пространство памяти.

Для задач, требующих более N ячеек, предоставляется значительно большее пространство адресов – виртуальное пространство (не обязательно линейное).

Каждому виртуальному адресу должен соответствовать физический.

В процессе вычислений:

  • виртуальное пространство отображается на физическое;

  • виртуальные адреса преобразуются в физические.

Выделяют два класса систем виртуальной памяти:

  • с фиксированным размером блоков (страничная организация);

  • с переменным размером блоков (сегментная организация).

На практике часто совмещают (сегментно-страничная организация).

70 Концепция страничной организации памяти. Взаимодействие виртуальной памяти с кэш-памятью.

Концепция

Идея:

  • разбиение программы и виртуального адресного пространства на части равной величины (страницы);

  • разбиение физического адресного пространства на блоки размером в страницу (страничный кадр или фрейм, page frame).

Размер страницы: 4-8 Кбайт, обычно кратен емкости одного сектора магнитного диска. Страницам виртуальной и физической памяти присваивают номера.

В иртуальное пространство описывается таблицами:

  • страничной таблицей (СТ);

  • картой диска*.

Преобразователь адресов

Преобразование:

  • применимо только к номеру страницы;

  • основано на использовании СТ.

Если преобразователь не находит нужную физическую страницу в ОП (промах или страничный сбой, page fault), то:

  • преобразователь вырабатывает признак страничного сбоя;

  • ОС приостанавливает вычисления;

  • нужная страница считывается из вторичной памяти и помещается в ОП.

Преобразователь адресов делится на две составляющие:

  • Часть ОС, транслирующая номер виртуальной страницы в номер физической страницы ОП.

  • Аппаратура, обеспечивающая процесс трансляции и позволяющая ускорить его.

Страничная таблица

Определяет: какие виртуальные страницы находятся в ОП и в каких физических фреймах.

Число записей соответствует количеству виртуальных страниц.

Каждая запись содержит:

  • поле номера физической страницы (НФС);

  • признаки* V, R, M и A.

Признак присутствия V:

  • 1:

  • виртуальная страница присутствует в ОП;

  • в поле номера физической страницы находится соответствующий номер;

  • 0:

  • преобразователь генерирует сигнал страничного сбоя;

  • ОС загружает страницу с диска в ОП, используя карту диска;

  • корректируется запись в СТ.

Признак использования R:

  • устанавливается в зависимости от обращений к данной странице;

  • используется в алгоритме замещения страниц (аналогично кэш-памяти).

Признак модификации М – фиксирует изменение содержимого страницы.

Причина использования: ОП хранит копии страниц, оригиналы – на диске.

Назначение:

  • обеспечить идентичность подлинников и копий.

Состояние признака М проверяется при удалении страницы из ОП:

  • 1: перед удалением страницу необходимо переписать на диск;

  • 0: сохранение на диске не требуется.

Признак прав доступа А:

  • служит целям защиты информации;

  • определяет, какой вид доступа к странице разрешен:

  • только для чтения;

  • только для записи;

  • для чтения и для записи.

Карта диска

Определяет: в каких секторах хранятся виртуальные страницы на диске.

Варианты реализации:

  • совмещение со страничной таблицей (добавление еще одного поля);

  • хранение номеров дорожек и секторов для виртуальных страниц (отсутствующих в ОП) в поле номера физической страницы:

  • поле имеет увеличенную разрядность;

  • содержимое поля определяется признаком V.

Начальный адрес таблицы страниц записывается ОС в специальный регистр процессора.

При загрузке в ОП программе выделяются любые свободные фреймы (необязательно смежные).

Страница не загружается до тех пор, пока действительно не понадобится – подкачка страниц по обращению (demand paging).

Следствие: сокращается объем пересылок информации между внешней памятью и ОП.

Выделение процессу свободных фреймов

Взаимодействие виртуальной памяти с кэш-памятью

Преобразование виртуального адреса в физический включает обращение к СТ, которая может располагаться:

  • в кэше TLB;

  • в ОП;

  • на диске.

Искомое слово может находиться:

  • в кэше;

  • в ОП;

  • на диске.

Поиск нужного элемента таблицы страниц в TLB:

  • если элемент отыщется, сразу же формируется физический адрес;

  • в противном случае элемент считывается из СТ.

Поиск в кэше блока, содержащего слово по сформированному физическому адресу:

  • если слово найдено, оно передается процессору;

  • в противном случае слово извлекается из ОП.