Технологии виртуализации вчера, сегодня, завтра


Виртуализация завтра: AMD Secure Virtual Machine «Pacifica» - часть 2


У AMD - это системный код, работающий на более низком уровне, чем сама операционная система, и запускаемый исключительно из системного Ring 0. Модуль VMM в Pacifica фактически выполняет роль ядра некоторой «базовой» операционной системы, и только этот код в Pacifica работает с собственно физическим оборудованием. Все «обычные» операционные системы в подходе AMD - гостевые и работающие с виртуальными машинами, которые для них создаёт VMM. Оцените всю прелесть решения: у Intel модуль VMM в поте лица занимается «фальсификацией» кучи разных событий, выбиваясь из сил, лишь бы сделать вид, что гостевая ОС работает с реальным «железом». У AMD модуль VMM попросту один-единственный раз создаёт виртуальную машину, переключается в «гостевой режим» - и запущенный в этой гостевой машине код работает со свежесозданной виртуальной машиной в практически полностью автономном режиме, без какого-либо вмешательства VMM.

s9.jpg

Схема 9. Виртуализация с AMD Pacifica

Как такое возможно? Да очень просто: AMD действительно виртуализирует физические ресурсы, и, прежде всего, - оперативную память. «Физическая» виртуальная память, видимая гостевыми ОС в Pacifica - это просто виртуальная память второго уровня. Таблицы трансляции для которого контролирует, естественно, VMM. То есть если какая-нибудь программа, запущенная в этой гостевой ОС, скажем, обращается к памяти по адресу такому-то, то процессор, используя таблицы трансляции, контролируемые гостевой ОС, вначале преобразует этот адрес в «физический» адрес, который уже аппаратно, без участия VMM преобразуется в настоящий физический адрес. Или, как уже говорилось, не преобразуется, а вызывает подкачку из своп-файла, загрузку данных по сети, и прочее - возможности виртуальной памяти в умелых руках безграничны. VMM, кстати говоря, устроен гораздо проще операционной системы, полностью независим от неё, и потому потенциально возможно реализовывать на его основе всю ту «редкую» функциональность, которую обычно не рискуют (или не хотят) вносить в ядра обычных операционных систем.




Начало  Назад  Вперед



Книжный магазин