
Beim Ausprobieren der Windows 8 Consumer Preview habe ich Hyper-V installiert.
Es sah aus wie ein weiterer virtueller Windows-PC.
Kann mir jemand erklären, worin der Unterschied besteht? Gibt es einen Leistungsunterschied? Gibt es einen Grund, warum ich das eine dem anderen vorziehen sollte?
Antwort1
Kann mir jemand erklären, worin der Unterschied besteht? Gibt es einen Leistungsunterschied? Gibt es einen Grund, warum ich das eine dem anderen vorziehen sollte?
Wie in Ihrer anderen Antwort bereits erläutert, gibt es zwischen den beiden Projekten einige architektonische Unterschiede.
Um einen Intel VT-Hypervisor zu aktivieren, führen Sie grob gesagt (in Assembler) eine spezielle Anweisungsfolge aus, die mit endet VMXON
. Dadurch wird der Hypervisor-Modus aktiviert.
Ein Teil dieser Arbeit besteht darin, virtuelle Maschinen hinsichtlich ihrererweiterte Seitentabellenoder das AMD-Äquivalent. Dies ist wie die normale Aufgabe des Einrichtens von Seitentabellen (welcher Speicher wird wohin zugeordnet), außer dass Sie dies für ganze Speicherbereiche für virtuelle Maschinen tun. Die bisherige VM-Technologie hat einfach nurVM Exits für diesen Zweckdie im Wesentlichen wie ausgefallene Hardware-Interrupts sind.
Was hat das mit der Architektur zu tun? Nun, beim Erstellen eines Hypervisors haben Sie zwei Möglichkeiten:
Erstellen Sie einen eigenständigen Hypervisor, der den virtuellen Maschinenmonitor einrichtet und dann auf Gastbetriebssysteme wartet. Normalerweise enthält er entweder genug eigenes Betriebssystem, um die VMs zu verwalten, oder unterstützt einen privilegierten Gast. Beispielsweise enthält der Xen-Hypervisor einen „Dom0“-„Gast“, der den Hypervisor verwalten kann.
Erstellen Sie einen Hypervisor als Teil eines vorhandenen Kernels, beispielsweise als Kernelmodul. Code kann zu jedem Zeitpunkt während der Lebensdauer eines Betriebssystems als virtueller Maschinenmonitor in Intel VT installiert (ausreichende Berechtigungen vorausgesetzt) und auch entfernt werden. Der Hypervisor-Code richtet also einfach den erforderlichen Speicherplatz im Arbeitsspeicher ein, je nach Bedarf.
Der praktische Unterschied für den Endbenutzer besteht darin, dass Sie den Hypervisor nicht ohne Neustart entladen können, wenn es sich um einen Hypervisor der ersten Art handelt. Dies liegt daran, dass er sich wie ein eigenständiges Betriebssystem verhält. Hyper-V verhält sich folgendermaßen: Wenn Sie Hyper-V installiert haben, können Sie beispielsweise VirtualBox nicht installieren, da beide den Monitorbereich der virtuellen Maschine nicht gemeinsam nutzen können (da Hyper-V ihn bereits hat). Um den Hypervisor zu entladen, müssen Sie einen Neustart durchführen.
Um es einfach auszudrücken: Wenn Sie Hyper-V installiert haben, können Sie kein anderes Virtualisierungsprodukt verwenden, auch wenn Sie keine VMs ausführen. Dies ist bei Virtual PC nicht der Fall.
Nun zur Leistung. Auf Intel VT-ähnlichen Systemen macht es leistungsmäßig wahrscheinlich kaum einen Unterschied, ob Sie zuerst das Betriebssystem oder den Hypervisor laden, da dies nur ein CPU-gebundener Bereich ist und Sie, wenn Sie bereits CPU-hardwaregestützte Virtualisierung verwenden, ohnehin so schnell sind, wie Sie nur sein können.
In puncto Leistung ergeben sich die Unterschiede bei der Virtualisierung aus Techniken wieParavirtualisierungund die Verwendung vonIOMMU/DMA-Neuzuordnung. Kurz gesagt, die Reihenfolge der Organisation von Betriebssystemspeicher und CPU macht nicht so viel Unterschied wie die Frage, ob Sie Dinge wie Festplatten, Grafikkarten usw. effizient virtualisieren können oder nicht.
Es klingt sehr nachdieser Blog-Beitragdass es bei Hyper-V in der Vergangenheit Probleme mit Virtualisierungsaspekten für Verbraucher gab: Grafik, Sound usw. Ich habe Hyper-V nicht mit diesen Anforderungen ausgeführt und kann daher nicht beurteilen, ob sie immer noch ein Problem darstellen, aber es könnte sich lohnen, dies zu untersuchen.
Antwort2
Hyper V bietet eine bessere Leistung als beispielsweise Windows Virtual PC
http://en.wikipedia.org/wiki/Hypervisor
Robert P. Goldberg klassifiziert zwei Typen von Hypervisoren:[5]
Hypervisoren vom Typ 1 (oder native, Bare-Metal-Hypervisoren) werden direkt auf der Hardware des Hosts ausgeführt, um die Hardware zu steuern und Gastbetriebssysteme zu verwalten. Ein Gastbetriebssystem wird somit auf einer anderen Ebene über dem Hypervisor ausgeführt.
Dieses Modell stellt die klassische Implementierung virtueller Maschinenarchitekturen dar. Die ursprünglichen Hypervisoren waren das Testtool SIMMON und CP/CMS, die beide in den 1960er Jahren bei IBM entwickelt wurden. CP/CMS war der Vorgänger von IBMs z/VM. Ein modernes Äquivalent hierzu sind die Hypervisoren Citrix XenServer, VMware ESX/ESXi und Microsoft Hyper-V.
Hypervisoren vom Typ 2 (oder gehostete Hypervisoren) werden in einer herkömmlichen Betriebssystemumgebung ausgeführt. Mit der Hypervisor-Schicht als separater zweiter Softwareebene werden Gastbetriebssysteme auf der dritten Ebene über der Hardware ausgeführt. KVM, BHyVe und VirtualBox sind Beispiele für Hypervisoren vom Typ 2.
Wikipedia erklärt es klar