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


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


Есть и другие особенности, позволяющие минимизировать количество ненужных переключений от гостевой ОС к VMM и обратно, переложив соответствующие проверки на аппаратное обеспечение. А если и приходится всё же переключаться между гостевой ОС, VMM, и другой гостевой ОС - то, опять же по контрасту с VT-x, это переключение происходит крайне быстро, с очень ограниченной необходимостью в сохранении контекста и полным отсутствием необходимости сброса, к примеру, буфера TLB, который обычно при переключении между разными таблицами трансляции приходится полностью очищать. Естественно, что набор перехватываемых событий и возможности «фальсификации» всего и вся ничуть у Pacifica не уже, чем у VT-x; однако настройка что перехватывать, а что нет - гораздо гибче (в VT-x многое перехватывается безусловно; в Pacifica можно отключить практически любой перехват). Даже не знаем, к чему придраться, - вряд ли можно было придумать нечто большее по функциональности, удобное в использовании, и столь быстродействующее.

Набор инструкций Pacifica столь же прост и изящен, как и само решение AMD:

  • Команда VMRUN переключает выполнение на выбранную виртуальную машину.
  • Из виртуальной машины управление возвращается либо по перехвату одного из указанного в настройках виртуальной машины событий, либо при вызове специальной инструкции VMMCALL (если последняя разрешена настройками).
  • Информация о виртуальной машине хранится в специальной структуре данных VMCB (Virtual Machine Control Block) известного формата. VMM работает с данной структурой напрямую, вручную изменяя при необходимости соответствующие поля (в отличие от VT-x, где формат аналогичной структуры VMCS официально неизвестен и для работы с VMCS используются специальные инструкции VMREAD и VMWRITE). На всякий случай еще раз напомним, что сама эта структура относительно невелика и описывает только состояние процессора виртуальной машины, а виртуальную память и состояние виртуальных устройств этой машины VMM должна обслуживать самостоятельно.
  • Самые необходимые операции по переключению контекста при переходах VMM к гостевой ОС и обратно выполняются полностью автоматически.


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



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