Виртуальная память.

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

1) занимаемая процессом память разбивается на несколько частей, например страниц.

2) логический адрес, т. е. логическая страница к которой обращается процесс динамически транслируется в физический адрес.

3) в тех случаях когда страница к которой обращается процесс, не находиться в физической памяти нужно организовать её подкачку с диска. Для контроля наличия страницы в памяти вводится специальный вид присутствия входящий в состав атрибута страницы таблицы страниц. Важным следствием такой организации является то, что размер памяти занимаемой процессор может быть больше чем размер оперативной памяти. Принцип локальности обеспечивает этой схеме нужную эффективность. Возможные выполнения программы находящиеся в памяти лишь частично имеет следующий вид:

1) программа не ограничена объемом физической памяти.

2) увеличивается загрузка процессора и пропускная способность системы, т. к. можно разместить в памяти большие программы.

3) объём ввода/вывода для выгрузки части программы на диск может быть меньше чем в варианте классического Swapping.

В итоге каждая программа будет работать быстрее. Введение виртуальной памяти позволило решить другую важную задачу: обеспечения контроля доступа к отдельным сегментам памяти в частности защиту пользовательских программ друг от друга и защиту ОС от пользовательских программ. Каждый процесс работает со своими виртуальными адресами трансляция которых физически выполняет аппаратура. Термин виртуальная память означает, что программист имеет дело с памятью отличной от реальной, размер которой помещает больше чем объём оперативной памяти. адреса которые генерируют программу называются виртуальными, и они формируют виртуальное адресное пространство. Известно чисто программная реализация виртуальной памяти, но широкое развитие получили схемы виртуальной памяти с аппаратной поддержкой. Любая из 3-х схем управления памятью: страничная, сегментная, сегментно-страничная; пригодна для организации виртуальной памяти, чаще всего используется сегментно-страничная модель, которая является синтезом страничной модели и идеи сегментации. Сегментная организация в чистом виде встречается редко. Передача информации между памятью и диском всегда осуществляется целыми страницами, а система поддержки страничной организации памяти называется paging.