Уже достаточно давно пользователи столкнулись с проблемой размещения в памяти программ, размер которых превышал имеющуюся в наличии свободную память. Решением было разбиение программы на части, называемые оверлеями. 0-ой оверлей начинал выполняться первым. Когда он заканчивал свое выполнение, он вызывал другой оверлей. Все оверлеи хранились на диске и перемещались между памятью и диском средствами операционной системы. Однако разбиение программы на части и планирование их загрузки в оперативную память должен был осуществлять программист.
Развитие методов организации вычислительного процесса в этом направлении привело к появлению метода, известного под названием виртуальная память. Виртуальным называется ресурс, который пользователю или пользовательской программе представляется обладающим свойствами, которыми он в действительности не обладает. Так, например, пользователю может быть предоставлена виртуальная оперативная память, размер которой превосходит всю имеющуюся в системе реальную оперативную память. Пользователь пишет программы так, как будто в его распоряжении имеется однородная оперативная память большого объема, но в действительности все данные, используемые программой, хранятся на одном или нескольких разнородных запоминающих устройствах, обычно на дисках, и при необходимости частями отображаются в реальную память
Итак, виртуальной памятью называется основная память процесса, адресное пространство которого соответствует диапазону непосредственной адресации системы команд ЭВМ и которая обычно не совпадает с объемом реальной памяти ЭВМ.
EC ЭВМ> 24 разрядами адресует 16 Мб памяти машины.
Операционная система позволяет одновременно работать N процессов > N* 16 мб.
Начиная с Intel 386 (32 разрядные МП) – для каждого процесса выделяет адресное пространство размером 4 Gb. Одновременно работает N процессов > N* 4 Gb.
Управление виртуальной памятью имеет своей целью:
1.Обеспечить возможность создания и выполнения на ЭВМ программ максимально допустимого размера.
2.Облегчить жизнь программиста, сняв с него проблемы, связанные с ограниченным объемом РОП.
3.Устранить временную фрагментацию, максимально эффективно используя ОП ЭВМ, которая образуется при отсутствии необходимого участка программы/данных в РОП и определяется временем, необходимым для размещения необходимых данных в РОП.
Суть концепции виртуальной памяти (ВП) заключается в том, что адресное пространство (АП) процесса отделяется от адресов реальной оперативной памяти (РОП) и по необходимости динамически и по частям отображается в реальную память.
В ОС с реальной ОП привязка адресного пространства к реальным адресам осуществляется статически до выполнения программы на все время выполнения.