Виртуальная память
Виртуальная память – это программно-аппаратное средство расширения пространства памяти, предоставляемой программе в качестве оперативной.
Основные определения
Виртуальный адрес – это адрес, по которому процесс обращается к системе виртуальной памяти.
Виртуальное адресное пространство – это множество виртуальных адресов, по которым может обращаться процесс.
Физический адрес – адрес ячейки в оперативной памяти.
Физическое адресное пространство – диапазон физических адресов, соответствующий объему оперативной памяти данного компьютера.
Организация
виртуальной памяти
Для более эффективного функционирования ЭВМ используется динамический метод распределения памяти.
К оперативной памяти может обращаться несколько устройств (или программ) одновременно, потому требуется организовать концепцию виртуальной памяти.
Концепция
виртуальной памяти
► виртуальное пространство памяти разбито на страницы фиксированного размера;
► в физической оперативной памяти присутствует только часть из них;
► остальные страницы хранятся на диске, откуда операционная система может "подкачать" их в физическую память, предварительно выгрузив на диск часть неиспользуемых в данный момент страниц.
Страничная организация ВП
Пейджинг (paging) – это система поддержки страничной виртуальной памяти.
Выполняемая программа загружается в оперативную память не целиком, а отдельными страницами. Страница с которой работает процессор называется активной.
Страничная организация ВП
Страница – определенного размера участок виртуального адресного пространства процесса, который управляется как единое целое
Формат виртуального адреса в страничной системе:
Виртуальный адрес v=(p,d).
Кадр страницы – блок оперативной памяти, в котором может размещаться страница виртуальной памяти.
Номер страницы p | Смещение d |
Страничные системы
Страничные системы – это системы виртуальной памяти, в которых она делится на фиксированного размера непрерывные блоки.
Таблица страниц — это структура данных, используемая для хранения сопоставления между виртуальным адресом и физическим адресом.
Страничное нарушение (отказ)
Страничное нарушение (отказ) – это ситуация, которая возникает, если страница отсутствует в оперативной памяти в процессе выполнения команды.
В этом случае:
1. выполнение команды прерывается;
2. необходимая страница подкачивается из вторичной памяти в свободный страничный кадр оперативной памяти;
3. при отсутствии свободных страничных кадров на диск выгружается редко используемая страница;
4. повторение выполнения команды.
Достоинства
► программы можно размещать в памяти не целиком, а по частям, по мере необходимости;
► некоторые программные модули могут быть разделяемыми, поэтому он занимает оперативную память в единственном экземпляре, но доступ к нему будут иметь несколько программ.
© ООО «Знанио»
С вами с 2009 года.