Anbieter zum Thema
Hyper-V Inside
Über die Hyper-V Management-Konsole oder über den erweiterten Server Manager können Child-Partitionen erstellt, bearbeitet und gestartet werden. Die Management-Konsole kommuniziert mit dem Hypervisor über den Treiber %Systemroot%\System32\Drivers\Winhv.sys, der die Einrichtung von virtuellen Maschinen bzw. Partitionen ermöglicht. Der VM Service (Vmms.exe) der Parent-Partition erstellt jeweils für jede Child-Partition einen Arbeitsprozess (VM Worker), um den Status der untergeordneten Partition zu verwalten (siehe Abbildung 3 und 4). Zu erkennen ist der Worker-Prozess Vmwp.exe auch im Taskmanager, wie Abbildung 5 zeigt.
Bei Hyper-V isoliert Microsoft alle Prozesse und virtuelle Maschinen, sodass jede virtuelle Maschine – wie bereits bekannt – in Benutzer- und Kernel-Modus unterteilt ist. Als Basis dient der Hypervisor, der über die sog. „Hypercall-API“ angesprochen wird und maßgeblich zur Performance und Steuerung der virtuellen Maschinen beiträgt. Performance-Steigerungen werden auch durch die „VM Integration Components“ bewirkt, die auf den Child Partitionen installiert werden. Ohne diese Komponenten würde das Gast-Betriebssystem eine Emulation der Hardwaregerätetreiber verwenden. Der Hypervisor greift in diesem Fall ein, wenn ein Gerätetreiber versucht, auf die Hardware zuzugreifen.
Er verständigt die Parent-Partition, die I/O-Vorgänge durchführt, indem sie die Standardgerätetreiber der Child-Partition verwendet. Eine Emulation kann nicht direkt mit dem VM Bus kommunizieren. Dies alles würde zu vermehrten Abfragevorgängen im Hypervisor durch viele separate Hardwarezugriffe führen, weshalb die VM Integration Components sehr zu empfehlen sind. Des Weiteren existieren sog. „Enlightenments“, die kleine Codesequenzen darstellen. Sie können direkt mit dem Hypervisor kommunizieren, um beispielsweise eine Mehrprozessorsynchronisierung auf dem Child zu optimieren.
Zur Leistungssteigerung von Hardwarezugriffen und Verminderung von Abfragevorgängen verwendet Windows Server 2008 folgende drei Komponenten (siehe Abbildung 4):
- 1. Virtual Machine Bus (VM Bus, %Systemroot%\System32\Drivers\Vmbus.sys) ist eine Schnittstelle zwischen VSCs, VSPs und Hypervisor.
- 2. Virtual Service Clients (VSCs) aus den VM Integration Components, die die emulierten Gerätetreiber ersetzen, indem sie über die Hypercall- und Speicher-Sharing-Dienste des Hypervisors High-Level I/O-Anforderungen (Requests) des „Child“ direkt zum VM Bus Treiber in der Parent-Partition senden.
- 3. Virtual Service Providers (VSPs) auf der Parent-Partition. Vmbus.sys auf der Parent-Partition leitet I/O-Anforderungen an den jeweiligen VSP weiter, der anschließend über Gerätetreiber der Parent-Partition die Standard-I/O Anforderungen von Windows startet.
Artikelfiles und Artikellinks
(ID:2011730)