В чем разница между гипервизорами t1 и t2?
В Статья в Википедии объясняет это, но я не совсем понимаю. Очевидно, для работы обоих требуется какая-то хост-система. Кто-нибудь знает хорошее объяснение различий?
Другие довольно хорошо объяснили различия между двумя типами. Следует отметить, что хотя кажется, что Hyper-V устанавливается внутри Server 2008, на самом деле происходит то, что Hyper-V устанавливается в корневом разделе, и «хост» Server 2008, на который вы устанавливаете, становится сама виртуальная машина. Причина, по которой он может видеть другие виртуальные машины, заключается в службе управления Hyper-V, которая подключается к Hyper-V, на которой она работает.
Здесь Архитектура Hyper-V. Несколько элементов, которые следует отметить на схеме в корневом разделе, который имеет доступ к гипервизору, позволяя корневому разделу сообщать об использовании диска и памяти:
VID - драйвер инфраструктуры виртуализации - предоставляет службы управления разделами, службы управления виртуальным процессором и службы управления памятью для разделов.
VMWP - Рабочий процесс виртуальной машины - компонент пользовательского режима стека виртуализации. Рабочий процесс предоставляет службы управления виртуальными машинами от экземпляра Windows Server 2008 в родительском разделе до гостевых операционных систем в дочерних разделах. Служба управления виртуальными машинами создает отдельный рабочий процесс для каждой запущенной виртуальной машины.
WinHv - Библиотека интерфейса гипервизора Windows - WinHv, по сути, является мостом между драйверами разделенной операционной системы и гипервизором, который позволяет драйверам вызывать гипервизор, используя стандартные соглашения о вызовах Windows.
Я думаю, что статья в Википедии довольно ясна. Гипервизор T1 виртуализирует оборудование для все экземпляры ОС, которые работают на этой машине, в то время как гипервизор T2 работает внутри ОС работает на невиртуализированном оборудовании и обеспечивает виртуальный доступ для все остальные Экземпляры ОС.
То есть T1 более фундаментален, чем любой экземпляр ОС, но T2 зависит от одного из них.
Если Hyper-V (который является гипервизором t1) действительно работает под всеми операционными системами, не должна ли каждая отдельная ОС, работающая на машине, видеть только выделенную ей память, а не процессы, содержащие виртуальные машины?
Я представляю (но не знать- на данный момент я официально не в своей глубине) это зависит от того, как работает оборудование поддержки виртуализации.
Если я правильно понял, T1 не установлен в существующей операционной системе (подумайте, что это самостоятельная ОС с единственной целью размещения виртуальных машин), T2 установлен внутри вашей основной ОС (скажем, вы запускаете Linux, внутри что вы запускаете рабочую станцию vmware, внутри которой вы запускаете окна)
На самом деле довольно просто: T1 работает на уровне драйверов ОС (или ядра, если вы хотите его так называть), а T2 - на уровне приложений ОС. Таким образом, чтобы получить доступ к физическому оборудованию, T1 должен вызвать драйвер устройства, а T2 должен позвонить в систему ОС, которая направит вызов драйверу, как любое другое программное обеспечение уровня пользователя. Если вы посмотрите на это с этой точки зрения, преимущества t1 станут очевидными, и вы легко увидите, что «baremetal» - это просто термин, означающий «близость к драйверам оборудования».
Существуют разные подходы к созданию t1 - распространенными (и довольно устаревшими с точки зрения подхода) являются Xen и Hyper-V, построение отдельного набора драйверов (отдельное микроядро), которые взаимодействуют с гипервизором, но также должны сохраните обычную ОС для основного ядра, чтобы использовать дополнительное оборудование, и взаимодействие между ними довольно дорого, и KVM, который не использует отдельное ядро, вместо этого находится прямо в ядре Linux, так что он прямо там, в со всеми драйверами устройств с прямым доступом ко всему.