Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
02.05.2014
Размер:
285.18 Кб
Скачать

5.3. Управление виртуальной памятью

5.3.1. Общая характеристика виртуальной памяти

5.3.1.1. Определения виртуальной памяти и иерархия видов памяти

Виртуальная память - это интерфейс, предоставляемый пользователю, для обращения к физической памяти. При этом, через этот интерфейс осуществляется доступ к пространству памяти, существенно большему, чем физический.

Такая возможность обеспечивается за счет дисковой памяти. Поэтому в системах управления виртуальной памятью задействованы все уровни иерархии памяти:

----------------------

| ^ | Внешняя память |

| | ----------------------

| | ^ v

| | ----------------------

| | | Оперативная память |

| | ----------------------

| | ^ v

v | ----------------------

скорость объем | Кэш-память |

----------------------

Память любого уровня можно рассматривать как кэш памяти более высокого уровня.

Кэш-память основана на предвосхищении наиболее вероятного использования данных процессором.

Эффективность кэша зависит от:

  1. физических свойств;

  2. алгоритмов кэша;

  3. программы (условных переходов).

Типичный размер кэша - 1 % ОЗУ. При этом вероятность успеха при доступе составляет 90-95 %.

5.3.1.2. Особенности виртуальной памяти

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

Адреса, к которым обращается процесс, являются виртуальными адресами, а те адреса, которые существуют в физической памяти, называются реальными адресами. Причем, общее пространство виртуальных адресов может быть существенно больше пространства реальных адресов.

Таким образом, в системе существует два адреса: V - виртуальный и R - реальный. Виртуальный адрес отображается в реальный адрес с помощью механизма отображения.

Объект с виртуальным адресом V может находиться в любом месте с физическим адресом R, более того, этот объект может и не находиться в физической памяти. При обращении к нему в процессе выполнения программы и при обнаружении того, что объект отсутствует в физической памяти в момент обращения, запускается целый механизм загрузки объекта с диска в физическую память. После загрузки обращение к объекту производится вновь уже с положительным результатом. Причем, это делается незаметно, прозрачно для пользователя.

Способы распределения физической памяти, которые были рассмотрены ранее, относились к связному распределению. Т.е. объект должен занимать в памяти непрерывную последовательность ячеек.

Виртуальная память снимает ограничение связности для физической памяти. В виртуальной памяти объект должен занимать непрерывную последовательность ячеек, а в физической памяти соответствующие ячейки могут располагаться в произвольных местах.

Однако, несвязность памяти нельзя доводить до абсурда, т.к. с увеличением степени несвязности увеличиваются затраты на механизм отображения.

Поэтому связность сохраняют внутри блоков виртуальной и физической памяти, а расположение последовательных блоков виртуальной памяти не требует их последовательного расположения в физической памяти.

Соседние файлы в папке Шпоры по СПО