Может ли кто-нибудь объяснить, чем он отличается? Есть ли разница в производительности? Есть ли причина для меня выбрать один вместо другого?
Как уже объясняется в другом ответе, между этими двумя проектами есть некоторые архитектурные различия.
Грубо говоря, когда речь идет о гипервизоре Intel VT, для активации гипервизора вы запускаете (в сборке) специальную последовательность инструкций, кульминацией которой является VMXON
. Это включает режим гипервизора.
Часть этой работы включает определение виртуальных машин с точки зрения их расширенных таблиц страниц или эквивалента AMD. Это похоже на обычную задачу настройки таблиц страниц (какая карта памяти отображается), за исключением того, что вы делаете это для целых областей памяти для виртуальных машин. Прежняя технология VM только что заманила в ловушку Выходы VM для этой цели, которые по существу походят на причудливые аппаратные прерывания
Как это относится к архитектуре? Ну, у вас есть два варианта построения гипервизора:
Создайте автономный гипервизор, который настраивает монитор виртуальной машины, а затем ожидает гостевые операционные системы. Обычно он либо содержит достаточно своей собственной операционной системы для управления виртуальными машинами, либо поддерживает привилегированного гостя. Например, гипервизор Xen включает "гостя" Dom0, который может управлять гипервизором.
Создайте гипервизор как часть существующего ядра, например, как модуль ядра. Код можно установить как монитор виртуальной машины в Intel VT в любой момент в течение срока службы операционной системы (при условии наличия достаточных привилегий), а также удалить. Таким образом, код гипервизора просто устанавливает необходимое пространство в памяти по мере необходимости.
Практически, разница для конечного пользователя заключается в том, что вы не можете выгрузить гипервизор, если он первого типа без перезагрузки. Это потому, что он действует как операционная система сама по себе. Hyper-V работает следующим образом - если у вас установлен Hyper-V, вы не сможете установить VirtualBox, например, потому что оба не могут совместно использовать пространство монитора виртуальной машины (поскольку Hyper-V уже имеет его). Чтобы выгрузить гипервизор, необходимо перезагрузить компьютер.
Проще говоря: если у вас установлен Hyper-V, даже если у вас нет виртуальных машин, вы не сможете использовать любой другой продукт виртуализации. Это не относится к Virtual PC.
Теперь производительность. В Intel VT-подобных системах, независимо от того, загружаете ли вы операционную систему или гипервизор, скорее всего, разница в производительности незначительна, поскольку это только область, связанная с процессором, и если вы уже используете аппаратную виртуализацию процессора, вы работаете так же быстро как вы можете получить в любом случае.
С точки зрения производительности различия в виртуализации проистекают из таких методов, как паравиртуализация и использование перенаправления IOMMU/DMA. Короче говоря, порядок организации оперативной памяти /ЦП не будет иметь такого большого значения, как то, сможете ли вы эффективно виртуализировать такие вещи, как жесткие диски, видеокарты и т.д.
Из этого сообщения в блоге очень напоминает, что в прошлом у Hyper-V были проблемы с проблемами виртуализации потребительского типа: графикой, звуком и т.д. Я не запускал Hyper-V, нуждающийся в этих вещах, поэтому я не могу комментировать являются ли они все еще проблемой, но это может стоить исследовать.