Организация виртуальной памяти. Часть 1.

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

Определение виртуальной памяти. Успехи технологии приводят к тому, что размер реальной основной памяти вычислительных машин непрерывно увеличивается. Однако потребность в расширении основной памяти растет еще быстрее. Это объясняется ростом производительности процессоров, которая должна быть сбалансирована с размером реальной основной памяти, а также с ростом требований к размерам памяти в современных программных системах.

Ограниченность реальной памяти может привести к снижению эффективности использования вычислительной системы.

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

Многоуровневая организация основной памяти вычислительной системы, основанной на сочетании программных и аппаратных средств, позволяет значительно ослабить количественные ограничения на основную память. Основная память, моделируемая на внешней памяти (на магнитных дисках), называется виртуальной (в отличие от реальной). Объем виртуальной памяти может значительно превышать объем реальной памяти и ограничивается только размером адреса. Так, для 24-разрядного адреса можно обеспечить пространство виртуальной памяти до 16 Мбайт. В вычислительной системе может существовать либо одно виртуальное адресное пространство для системы и всех пользователей, либо много виртуальных адресных пространств.

Виртуальное адресное пространство располагается в страничном наборе данных на одном или нескольких томах магнитных дисков. Для выполнения программ необходимо обеспечить перемещение программ и данных между виртуальной и реальной памятью. Единицей памяти, используемой для перемещения, является страница. Размер страницы фиксирован, например, 2 К либо 4 К. Процесс перемещения страниц между реальной и виртуальной памятью называется страничным обменом (см. рис. 3.14).

Динамическое преобразование 24-разрядного адреса