Фьючерс на медь цена.
Технология виртуализации касается разных сторон вычислительной системы. Это — разделение сервера на несколько виртуальных машин, каждая из которых способна выполнять собственную операционную систему и прикладную среду. Это — виртуализация внешних устройств. Наконец это — виртуализации памяти.
Виртуализация памяти (виртуальная память) — метод автоматического управления иерархической памятью, при котором программисту кажется, что он имеет дело с единой памятью большой емкости и высокого быстродействия. Нижний слой памяти может включать память на магнитных дисках, сеть и другие элементы.
Идея виртуальной памяти возникла из желания выполнять программы большего размера чем ОЗУ. Вначале стали использовать оверлейную структуру программ, когда большая программа разбивается на отдельные модули перекрытия — оверлеи (overlays). Первый модуль загружается в память и работает. Если ему нужен код или данные, содержащиеся в других модулях, то работающий модуль вызывает функции, загружающие другие модули. При этом программист сам должен отследить:
При этом отметим, что, поскольку вновь загружаемые модули "ложатся" в память на место находившихся там ранее, то
Как альтернатива оверлейной структуре, возникла концепция виртуальной памяти (1961 г, Манчестер). Фактически используется та же идеология перезагрузки модулей — свопинг (swapping), однако замена осуществляется аппаратурой и операционной системой автоматически, без какого-либо участия программиста и незаметно для него (см. рисунок ниже).
При этом программист оперирует адресами в (линейном) виртуальном адресном пространстве задачи, размер которого не меньше размера программы (включающей как исполняемый код так и данные). Каждый объект программы в пространстве виртуальных адресов имеет уникальный адрес. Программа пишется в виртуальных адресах.