Unterschied zwischen der virtuellen Maschine und einem Hypervisor

23

Wenn Sie bei Google den Begriff "Hypervisor" verwenden, erhalten Sie endlose Definitionen, die besagen, dass ein Hypervisor auch als "Hypervisor" bezeichnet wird Monitor für virtuelle Maschinen oder ein Manager für virtuelle Maschinen und das ist eine Form der Hardware-Virtualisierung. Da VMs und ihre Konzepte jedoch völlig neu sind, ist dies für mich eine unscharfe Definition.

Was ist also der Unterschied bzw. die Beziehung zwischen einer virtuellen Maschine und ihrem Hypervisor? Kann jemand ein konkretes Beispiel geben?

pnongrata
quelle
Sehen Sie den Wikipedia-Artikel zu Hypervisoren. Es gibt ein paar verschiedene Arten, die zum Teil deshalb verwirrt sind. de.wikipedia.org/wiki/Hypervisor
Zoredache

Antworten:

13

Der Hypervisor ist das Gerät oder die Software welche läuft die virtuelle Maschine. Es ist in der Regel für die Zuteilung der Ressourcen verantwortlich und stellt die Schnittstelle zwischen der virtuellen Maschine (dem "Gast") und dem Host-System sowie einer Verwaltungssoftware bereit.

Wenn Sie VMware Workstation zum Ausführen einer virtuellen Windows 7-Maschine verwenden, ist VMware Workstation der Hypervisor.

Coding Gorilla
quelle
3
Warum können sie das nicht einfach in der Referenzdokumentation sagen?!? Vielen Dank!
pnongrata
6
Sie möchten es Ihnen nicht zu einfach machen, oder Sie zahlen nicht für den Support-Vertrag. ;)
Coding Gorilla
Also ... Was ist der Unterschied zwischen VMM und Hypervisor?
allyourcode
@allyourcode Abhängig davon, von welchem ​​"VMM" Sie sprechen und in welchem ​​Kontext
Coding Gorilla
Hervorragende Antwort. Aber was ist mit Software? Emulatoren ? Könnten wir sagen, dass der Emulator (DOSBox) eine Software ist, die läuft die virtuelle Maschine?
john c. j.
4

Überprüfen Sie diesen Link. http://blogs.msdn.com/b/virtual_pc_guy/archive/2006/07/10/661958.aspx

Die Antwort stammt aus dem Virtualisierungsblog von Ben Armstrong

Hier sind zwei Bedeutungen für 'VMM'. Der erste ist "Virtual Memory Manager" - dieser ist Teil des Windows-Betriebssystems und hat nichts mit der Computervirtualisierung zu tun - und alles mit der Speicherverwaltung des Betriebssystems. Das ist nicht was ich heute bespreche :-)

Die zweite Bedeutung ist "Virtual Machine Monitor". Es gibt verschiedene Programme und Implementierungen, die den Moniker 'Virtual Machine Monitor' verwenden. In der einfachsten Form - VMM ist die Software, die für die Überwachung und Durchsetzung von Richtlinien auf den virtuellen Maschinen verantwortlich ist, für die sie verantwortlich ist. Dies bedeutet, dass der VMM alle Vorgänge in einer virtuellen Maschine verfolgt und bei Bedarf Ressourcen bereitstellt, die virtuelle Maschine zu Ressourcen umleitet oder den Zugriff auf Ressourcen verweigert (verschiedene Implementierungen von VMMs stellen Ressourcen bereit oder leiten sie auf unterschiedliche Ebenen um - aber das ist der Fall ein Diskussionsthema für einen anderen Tag).

Klassisch gibt es zwei Arten von VMM.

Ein Typ II-VMM ist ein VMM, der auf einem Hosting-Betriebssystem ausgeführt wird und dann virtuelle Maschinen auf höherer Ebene erzeugt. Beispiele für Typ II-VMMs sind die JavaVM- und .Net-Umgebung. Diese VMMs überwachen ihre virtuellen Maschinen und leiten Anforderungen für Ressourcen an die entsprechenden APIs in der Hosting-Umgebung um (mit einer gewissen Verarbeitungsstufe dazwischen).

Ein Typ-I-VMM ist einer, der direkt auf der Hardware ausgeführt wird, ohne dass ein Hosting-Betriebssystem erforderlich ist. Typ I VMMs werden auch als "Hypervisor" bezeichnet. Der einzige Unterschied zwischen einem VMM und einem Hypervisor besteht darin, wo er ausgeführt wird. Die von beiden bereitgestellte Funktionalität ist angemessen. Beispiele für VMMs vom Typ I umfassen die Mainframe-Virtualisierungslösungen, die von Unternehmen wie Amdahl und IBM angeboten werden, und auf modernen Computern von Lösungen wie VMware ESX, Xen und Windows-Virtualisierung.

Rajind Ruparathna
quelle
3

Dies ist eine Erweiterung der vorhandenen Betriebssystemterminologie - eine, zu der es mehrere Alternativen gibt die Samen / Nuss-Metapher . Nutzer Programme werden von der Supervisor Programm, und in einem nicht-virtuellen System hören die Dinge auf. Mit der Virtualisierung Supervisor wird wiederum von a gesteuert (oder überwacht oder verwaltet) Hypervisor Programm.

Alle diese Programme sind Software. Das virtuelle Maschine ist der Anschein einer Maschine, auf der die Supervisor- und Benutzerprogramme laufen. Es sieht aus wie Hardware von innen.

JdeBP
quelle
3
Ironischerweise, und das ist nicht thematisch, und wenn ich mich recht erinnere, stammen das lateinische "Super" und das griechische "Hyper" von demselben ursprünglichen Wort und bedeuten dasselbe. Deutsch "Über" ist ein weiteres Geschwister. "Supervisor" und "Hypervisor" sind also eigentlich das gleiche Wort, mit der Ausnahme, dass eines aus Latein besteht, während das andere halb Latein und halb Griechisch ist. :-)
Andrew J. Brehm
2
In der Tat ist die Terminologie für die meisten von uns alles Griechische.
Daniel R Hicks
0

Don Skiba über die Hypervisor-Geschichte :

Ich war 1966 bei IBM, als wir versuchten, die neuen System 360s zu bekommen   Eingerichtet. Wie Sie sich vorstellen können, konvertieren Sie all diesen "alten Code" aus   Die alten Modelle 1401, 1440, 1410, 7080, 7090 waren das größte Durcheinander   du wirst schon immer sehen wollen. Auf dem 360-Modell 65 gab es einen Emulator   für ein paar ältere Maschinen. Eigentlich alle 360-Modelle außer   für das Modell 75 waren Emulatoren des 360-Befehlssatzes. Der Eine   beliebt war für das Modell 65 der Emulator für die IBM 7080.   Sie mussten den Computer jedoch entweder im 360-Modus oder im 7080-Modus verwenden   Modus. Das hat unsere Kunden nicht sehr glücklich gemacht.

Es stellte sich heraus, dass es beim Modell 65 einige spezielle Register gab   das waren inaktiv, aber auf dem Modell 67, das für Zeit verwendet wurde, aktiv   Freigabe und schließlich ein virtuelles Betriebssystem, CMS. ich überzeugte   der Ingenieur auf dem Modell 65, zu dem wir diese Register verwenden könnten   Tauschen Sie zwischen Programmen, die in der unteren Hälfte des Speichers ausgeführt werden, gegen Programme aus   Laufen in der oberen Hälfte und eine Hälfte könnte in 360 oder 7080 arbeiten   Modus. Wir brauchten nur einen "kleinen" Code, um die Einstellungen für den Swapping-Modus vorzunehmen   und Ressourcenzuweisung (E / A). Ich habe einen Systemingenieur in überzeugt   Philadelphia, der einen Kunden hatte, der diese Funktion dringend benötigte,   um den Code zu schreiben. Wir haben eine Menge Namen für den Code im   Zeit. Ich schlug vor, dass "Hypervisor" angebracht sein könnte, weil   Vor der 360 gab es keine "Betriebssysteme" und die Vorgänger   Systeme hatten alle "Vorgesetzte". "Hypervisor" schien also angemessen   und der Name bleibt hängen.

Artru
quelle