|
|
Intel VMX
Технология Intel VMX определяет два специальных состояния процессора.
Состояние VMX root operation или режим супервизора используется для выполнения программы, создающей виртуальные машины на базе одного компьютера и осуществляющей координацию их работы. Эта программа называется VMM или Virtual Machine Monitor. Она имеет неограниченный доступ к ресурсам процессора и платформы.
Состояние VMX non-root operation или режим "гостя" используется для выполнения программ или операционных систем пользователя, для каждой из которых создается своя виртуальная машина. При этом программа или ОС, выполняемая на виртуальной машине, "думает", что выполняется на обычном компьютере и в идеале не должна "знать" о существовании супервизора и других виртуальных машин. Очевидно, что для этого необходимо, чтобы супервизор мог перехватывать обращения "гостей" к аппаратным ресурсам процессора и платформы, разрешать конфликты, возникающие при одновременном доступе нескольких "гостей" к одному аппаратному ресурсу, а также не допускать ситуаций, при которых сбой в одной виртуальной машине может привести к сбою всей системы.
Для включения режима VMX и приобретения полномочий супервизора, программа должна выполнить инструкцию VMXON. Затем, после подготовки в оперативной памяти структур, необходимых для запуска виртуальных машин, программа может запускать "гостей" выполняя инструкцию VMLAUNCH. Эта операция, при которой процессор переключается из режима супервизора в режим "гостя" называется VM Entry, то есть запуск виртуальной машины.
При выполнении "гостей" периодически возникают ситуации, требующие вмешательства супервизора, например попытка обращения к определенным системным ресурсам, аппаратное прерывание или истечение интервала времени, отведенного данной виртуальной машине. При этом управление возвращается в супервизор. Эта операция называется VM Exit. После обработки ситуации, выполнение "гостя" можно возобновить инструкцией VMRESUME. Для выключения режима VMX используется инструкция VMXOFF.
Идентификация ресурсов Intel VMX
|
|