Организация ЭВМ и систем

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


Уже достаточно давно пользователи столкнулись с проблемой размеще­ния в основной памяти программ, размер которых превышал имеющуюся в наличии свободную память. Решением этой проблемы было использование внешней памяти (дискового пространства). Программы разбивались на части (оверлеи), которые хранились в ОП и на диске. Перемещение их между ос­новной памятью и диском осуществлялось средствами ОС. Однако разбиением программы на части должен был заниматься программист. Это приводило к увеличению трудоемкости програм­мирования и к неэффективному использованию памяти.

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

Таким образом,

виртуальная память — это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся ОП. Для этого виртуальная память (ВП)

решает следующие задачи:

- размещает данные в запоминающих устройствах разного типа, на­пример, часть программы в ОП, а часть на диске;

- перемещает по мере необходимости данные между запоминающими устройствами разного типа, например, подгружает нужную часть программы

с диска в ОП;

- преобразует виртуальные адреса в физические.

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

Наиболее распространенными реализациями виртуальной памяти явля­ются страничное, сегментное и странично-сегментное распределение памяти (рис. 4.10), атаюке свопинг.



Содержание раздела