Вооо, спасибо,
незваный гость. Вот примерно то, про что я спрашивал:
(из первой ссылки)
M. Tim Jones писал(а):
Сегодня проблема осуществления виртуализации состоит в том, что не вся аппаратура правильно поддерживает виртуализацию. Более старые x86 процессоры выдают разные результаты для определенных команд в зависимости от домена исполнения. Это создает проблему, так как гипервизор должен работать только в наиболее защищенном домене. По этой причине такие решения виртуализации как VMware предварительно сканируют код, который следует выполнять, для того чтобы заменить существующие команды ловушками, с тем чтобы гипервизор мог выполнять их надлежащим образом. Xen, поддерживающий кооперативный метод виртуализации, не требует модификаций, поскольку гостевая система осведомлена о том, что она работает виртуально и соответствующим образом модифицирована. KVM просто игнорирует эту проблему и постулирует, что если вы хотите виртуализации, то вы должны работать на новейшем оборудовании.
(из второй ссылки)
M. Tim Jones писал(а):
Некоторое старое оборудование, такое как x86, создает проблемы для метода полной виртуализации. Например, некоторые продвинутые команды, которые должны быть обработаны VMM, не улавливаются. Поэтому гипервизор должен непрерывно динамически сканировать и перехватывать привилегированный код, чтобы разрешить эту проблему.
То есть вылезание за VM обычно реализуется на железе, но при отсутствии железа ничего нет лучше, чем просто пытаться предусмотреть все возможные методы вылазинья и следить, какие команды исполняются и корректировать их. И теоретически, стало быть, можно представить, что некий вирус привык пользоваться некой командой, которая случайно оказалась непредусмотренной.
Или нет? Или там все схвачено? Но это уже никто не ответит, поскольку это вопрос типа "допустили ли разработчики ошибку".
Спасибо, буду дальше разбираться.