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


Виртуализация сегодня и завтра: Intel VT и AMD «Pacifica» - часть 2


Но в отличие от «обычного» режима, в эту виртуальную машину можно вставлять сколь угодно много «закладок», которые будут прерывать её исполнение, передавая управление обратно к VMM, который будет вручную имитировать то или иное событие, или выполнение той или иной инструкции. Какие именно события будут перебрасываться для «ручной обработки» VMM, определяется только самим программистом, но их в любом случае даже больше, чем необходимо для реализации сколь угодно сложной виртуальной машины, вплоть до точной имитации совершенно другого процессора. К примеру, проблемная в обычном случае операция чтения-записи регистра CR3 в VT-x попросту приведёт к тому, что процессор на секундочку приостановит гостевую ОС, вызовет VMM, который программно сымитирует результат её выполнения (не выполняя настоящую инструкцию MOV to/from CR3 с аппаратным регистром, а подменив её чтением-записью обычного кусочка оперативной памяти), после чего возобновит выполнение гостевой ОС, которая «подвоха» даже не ощутит.

При желании можно даже вручную «подкручивать» счётчик тактов процессора и показания системного таймера, чтобы у гостевой ОС не возникло ненужных сомнений, по поводу того, с чего это вдруг некоторые инструкции на данном «процессоре» выполняются так долго. Можно даже попробовать один-в-один сымитировать AMD Athlon XP на Intel Pentium 4 - так, что программное обеспечение «гостевой» операционной системы не будет и догадываться о подмене. Правда, если быть совсем точным, то поскольку Pentium 4 не поддерживает набор инструкций AMD 3Dnow!, а технология VT-x не позволяет перехватывать ошибки типа «неизвестная инструкция» (Invalid Opcode), то сымитировать поддержку 3Dnow! на P4 невозможно. Но 3Dnow! всё равно сегодня практически не используется, а во всём остальном (скажем, во всём том, что рапортует о процессоре стандартная инструкция CPUID), имитируемый компьютер будет вести себя точно как AMD Athlon XP, так что подавляющее большинство ПО на «уловку» поддастся.




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



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