Во-первых: распределение оперативной памяти всегда находится под окончательным контролем операционной системы хоста.
Помимо этого, это зависит.
С помощью простого гипервизора вы просто сообщаете гипервизору, сколько оперативной памяти получает каждая виртуальная машина. Этот объем вычитается из доступной оперативной памяти вашей хост-системы, когда виртуальная машина запускается и «используется» гипервизором, пока она работает. Операционная система, работающая на виртуальной машине, работает как всегда, выделяя оперативную память процессам и операционным системам. Старый Microsoft "Virtual PC", который широко использовался для запуска "XP Mode" в Windows 7, работает таким образом. VirtualBox тоже. В обоих случаях, если вы сконфигурируете виртуальную машину на 1 ГБ ОЗУ и запустите ее, у вашего хоста внезапно будет на 1 ГБ меньше оперативной памяти. Обычно он не очень эффективен в использовании ОЗУ, но прост в реализации.
При использовании более сложного гипервизора объем, выделяемый виртуальной машине, является просто верхним пределом. Гостевая ОС видит столько ОЗУ как «общее», но за кулисами часть или даже большая часть того, что гость думает о том, что ОЗУ, может быть виртуальной для хоста. Это особенно верно в отношении того, что Windows называет «свободной» или «нулевой» оперативной памятью в гостевой системе - поскольку она не имеет интересующего содержимого, нет необходимости хранить ее где-либо. Но даже оперативная память, которую гость считает «используемой», может быть виртуальной на хосте с содержимым в файле подкачки или в отображенном файле.
Гостевая ОС продолжает обрабатывать ОЗУ, как и всегда, но если гостевая ОС ссылается на часть этой ОЗУ, которой еще нет, гипервизор может выделить гостевой памяти больше фактической ОЗУ. (Другими словами, ссылка на память, которая, кажется, работает без ошибки страницы в гостевой системе, может вызвать ошибку страницы в хосте.) В пределах общего доступного ОЗУ и настроенных ограничений гипервизор регулирует объем ОЗУ, находящийся «в». гостевая ОС старается поддерживать низкий уровень ошибок страниц на хосте.
Это обычно называется «тонкой подготовкой». Это более сложно реализовать в гипервизоре, но приводит к более эффективному использованию оперативной памяти хоста.