Hyper-V-ArchitekturHyper-V Architecture

Hyper-V ist eine hypervisorbasierte Virtualisierungstechnologie für bestimmte x64/Versionen von Windows.Hyper-V is a hypervisor-based virtualization technology for certain x64 versions of Windows. Der Hypervisor ist ein wesentlicher Bestandteil der Virtualisierung.The hypervisor is core to virtualization. Er ist die prozessorspezifische Virtualisierungsplattform, die es mehreren isolierten Betriebssystemen ermöglicht, sich eine einzige Hardwareplattform zu teilen.It is the processor-specific virtualization platform that allows multiple isolated operating systems to share a single hardware platform.

Hyper-V unterstützt die Isolation wie eine Partition.Hyper-V supports isolation in terms of a partition. Eine Partition ist eine logische Einheit der Isolation, die vom Hypervisor unterstützt wird und in der die Betriebssysteme ausgeführt werden.A partition is a logical unit of isolation, supported by the hypervisor, in which operating systems execute. Der Microsoft-Hypervisor benötigt mindestens eine übergeordnete oder Stamm-Partition, die auf Windows ausgeführt wird.The Microsoft hypervisor must have at least one parent, or root, partition, running Windows. Der Virtualisierungs-Verwaltungsstapel wird in der übergeordneten Partition ausgeführt und hat direkten Zugriff auf Hardwaregeräte.The virtualization management stack runs in the parent partition and has direct access to hardware devices. Die Stamm-Partition erstellt anschließend die untergeordnete Partitionen, die die Gastbetriebssysteme hosten.The root partition then creates the child partitions which host the guest operating systems. Eine Stamm-Partition erstellt mithilfe der Hypercall-API (Application Programming Interface) untergeordnete Partitionen.A root partition creates child partitions using the hypercall application programming interface (API).

Partitionen haben keinen Zugriff auf den physischen Prozessor und behandeln die Unterbrechungen des Prozessors nicht.Partitions do not have access to the physical processor, nor do they handle the processor interrupts. Sie verfügen stattdessen über eine virtuelle Ansicht des Prozessors und führen einen Adressraum für den virtuellen Speicher aus, der für jede Gastpartition intern ist.Instead, they have a virtual view of the processor and run in a virtual memory address region that is private to each guest partition. Der Hypervisor verarbeitet die Unterbrechungen des Prozessors und leitet sie an die entsprechende Partition weiter.The hypervisor handles the interrupts to the processor, and redirects them to the respective partition. Hyper-V kann auch per Hardware die Adressübersetzung zwischen verschiedenen virtuellen Gastadressräumen mithilfe einer Speicherverwaltungseinheit für die Ein-/Ausgabe (IOMMU) beschleunigen, die unabhängig von der Speicherverwaltungshardware funktioniert, die von der CPU genutzt wird.Hyper-V can also hardware accelerate the address translation between various guest virtual address spaces by using an Input Output Memory Management Unit (IOMMU) which operates independent of the memory management hardware used by the CPU. Eine IOMMU wird dann verwendet, um physischen Speicheradressen den Adressen neu zuordnen, die von der untergeordneten Partitionen verwendet werden.An IOMMU is used to remap physical memory addresses to the addresses that are used by the child partitions.

Untergeordneten Partitionen haben ebenfalls keinen direkten Zugriff auf andere Hardwareressourcen und werden als virtuelle Ansicht der Ressourcen dargestellt, als sogenannte virtuelle Geräte (VDevs).Child partitions also do not have direct access to other hardware resources and are presented a virtual view of the resources, as virtual devices (VDevs). Anfragen an virtuelle Geräte werden entweder über den VMBus oder den Hypervisor an die Geräte in der übergeordneten Partition umgeleitet, die die Anfragen behandelt.Requests to the virtual devices are redirected either via the VMBus or the hypervisor to the devices in the parent partition, which handles the requests. Der VMBus ist eine logische Partition zwischen Kommunikationskanälen.The VMBus is a logical inter-partition communication channel. Die übergeordnete Partition hostet Virtualisierungsdienstanbieter (VSPs,) die über den VMBus kommunizieren, um Zugriffsanforderungen auf Geräte von untergeordneten Partitionen zu behandeln.The parent partition hosts Virtualization Service Providers (VSPs) which communicate over the VMBus to handle device access requests from child partitions. Untergeordnete Partitionen hosten Virtualisierungsdienst-Consumer (VSCs), die die Clientanforderungen in der übergeordneten Partition über den VMBus an VSPs umleiten.Child partitions host Virtualization Service Consumers (VSCs) which redirect device requests to VSPs in the parent partition via the VMBus. Das gesamte Verfahren ist für das Gastbetriebssystem transparent.This entire process is transparent to the guest operating system.

Virtuelle Geräte können für Speicher, Netzwerke, Grafiken und Eingabe-Subsysteme auch eine Windows Server-Virtualisierungsfunktion nutzen, die „Optimierte E/A” genannt wird.Virtual Devices can also take advantage of a Windows Server Virtualization feature, named Enlightened I/O, for storage, networking, graphics, and input subsystems. Die „Optimierte E/A” ist eine spezielle Implementierung, die die Virtualisierung von high-Level Protokollen (wie z. B. SCSI) unterstützt, die den VMBus direkt nutzt und so alle Geräte-Emulationsebenen umgeht.Enlightened I/O is a specialized virtualization-aware implementation of high level communication protocols (such as SCSI) that utilize the VMBus directly, bypassing any device emulation layer. Dadurch wird die Kommunikation effizienter. Es erfordert jedoch einen optimierte Gast, die Hypervisor und VMBus unterstützt.This makes the communication more efficient but requires an enlightened guest that is hypervisor and VMBus aware. Hyper-V optimierte E/A und ein Kernel, der Hypervisor unterstützt wird über die Installation der Hyper-V-Integrationsdienste bereitgestellt.Hyper-V enlightened I/O and a hypervisor aware kernel is provided via installation of Hyper-V integration services. Integrationskomponenten, die virtuelle Server-Client-Treiber (VSC) enthalten, stehen auch für andere Clientbetriebssysteme zur Verfügung.Integration components, which include virtual server client (VSC) drivers, are also available for other client operating systems. Hyper-V erfordert einen Prozessor mit hardwareunterstützter Virtualisierung – beispielsweise mit Intel VT oder AMD Virtualization (AMD-V)-Technologie.Hyper-V requires a processor that includes hardware assisted virtualization, such as is provided with Intel VT or AMD Virtualization (AMD-V) technology.

Das folgende Diagramm bietet einen allgemeinen Überblick über die Architektur einer Hyper-V-Umgebung.The following diagram provides a high-level overview of the architecture of a Hyper-V environment.

GlossarGlossary

  • APIC – Erweiterter programmierbarer Interruptcontroller – ein Gerät, das es erlaubt, seinen Unterbrechungs-Ausgängen Prioritätsstufen zuzuweisen.APIC – Advanced Programmable Interrupt Controller – A device which allows priority levels to be assigned to its interrupt outputs.
  • Untergeordnete Partition – Eine Partition, die Gastbetriebssysteme hostet - jeglicher Zugriff von einer untergeordneten Partition auf den physischen Speicher und die Geräte wird über den virtuellen Computer-Bus (VMBus) oder der Hypervisor bereitgestellt.Child Partition – Partition that hosts a guest operating system - All access to physical memory and devices by a child partition is provided via the Virtual Machine Bus (VMBus) or the hypervisor.
  • Hypercall - Eine Schnittstelle für die Kommunikation mit dem Hypervisor - die Hypercall-Schnittstelle ermöglicht den Zugriff auf die Optimierungen, die vom Hypervisor bereitgestellt werden.Hypercall – Interface for communication with the hypervisor - The hypercall interface accommodates access to the optimizations provided by the hypervisor.
  • Hypervisor – Eine Softwareschicht, die sich zwischen der Hardware und einer oder mehreren Betriebssystemen befindet.Hypervisor – A layer of software that sits between the hardware and one or more operating systems. Ihre Hauptaufgabe ist die Ausführung isolierter Ausführungsumgebungen, die man Partitionen nennt.Its primary job is to provide isolated execution environments called partitions. Der Hypervisor steuert und vermittelt den Zugriff auf die zugrunde liegende Hardware.The hypervisor controls and arbitrates access to the underlying hardware.
  • IC – Integrationskomponente – eine Komponente, die es der untergeordneten Partitionen ermöglicht, mit anderen Partitionen und dem Hypervisor zu kommunizieren.IC – Integration component – Component that allows child partitions to communication with other partitions and the hypervisor.
  • E/A-Stapel – Eingabe/Ausgabe-StapelI/O stack – Input/output stack
  • MSR – Speicherdienst-RoutineMSR – Memory Service Routine
  • Stamm-Partition – Wird auch übergeordnete Partition genannt.Root Partition – Sometimes called parent partition. Verwaltet Funktionen auf Computerebene wie Gerätetreiber, Energieverwaltung und Hinzufügen/Entfernen von Geräten.Manages machine-level functions such as device drivers, power management, and device hot addition/removal. Die Stamm- (oder übergeordnete) Partition ist die einzige Partition, die direkten Zugriff auf den physischen Speicher und Geräte hat.The root (or parent) partition is the only partition that has direct access to physical memory and devices.
  • VID – Virtualisierungsinfrastruktur-Treiber – bietet Partitionsverwaltungsdienste, virtuelle Prozessorverwaltungsdienste und Arbeitsspeicher-Verwaltungsdienste für die Partitionen an.VID – Virtualization Infrastructure Driver – Provides partition management services, virtual processor management services, and memory management services for partitions.
  • VMBus – Channel-basierte Kommunikationsmechanismus für eine partitionsübergreifende Kommunikation und Geräteaufzählung auf Systemen mit mehreren aktiven virtualisierten Partitionen.VMBus – Channel-based communication mechanism used for inter-partition communication and device enumeration on systems with multiple active virtualized partitions. Die VMBus wird mit Hyper-V-Integrationsdiensten installiert.The VMBus is installed with Hyper-V Integration Services.
  • VMMS – Verwaltungsdienst für virtuelle Computer – ist für die Verwaltung des Zustands aller virtuellen Computer in den untergeordneten Partitionen verantwortlich.VMMS – Virtual Machine Management Service – Responsible for managing the state of all virtual machines in child partitions.
  • VMWP – Arbeitsprozess für virtuelle Computer – eine Benutzermodus-Komponente des Virtualisierungsstapels.VMWP – Virtual Machine Worker Process – A user mode component of the virtualization stack. Der Arbeitsprozess bietet Verwaltungsdienst für virtuelle Computer von der Windows Server 2008-Instanz in der übergeordneten Partition auf die Gastbetriebssysteme in den untergeordneten Partitionen an.The worker process provides virtual machine management services from the Windows Server 2008 instance in the parent partition to the guest operating systems in the child partitions. Der Verwaltungsdienst für virtuelle Computer erzeugt einen separaten Arbeitsprozess für jeden ausgeführten virtuellen Computer.The Virtual Machine Management Service spawns a separate worker process for each running virtual machine.
  • VSC – Virtualisierungsdienst-Client – eine synthetische Geräteinstanz, die sich in einer untergeordneten Partition befindet.VSC – Virtualization Service Client – A synthetic device instance that resides in a child partition. VSCs nutzt die Hardwareressourcen, die von Virtualisierungsdienstanbietern (VSPs) in der übergeordneten Partition bereitgestellt werden.VSCs utilize hardware resources that are provided by Virtualization Service Providers (VSPs) in the parent partition. Diese kommunizieren mit den entsprechenden VSPs in der übergeordneten Partition über den VMBus, um die E/A-Geräteanforderungen einer untergeordneten Partition zu erfüllen.They communicate with the corresponding VSPs in the parent partition over the VMBus to satisfy a child partitions device I/O requests.
  • VSP – Virtualisierungsdienstanbieter – dieser befindet sich in der Stamm-Partition und bietet über den virtuellen Computer-Bus (VMBus) Support für synthetische Geräte für untergeordneten Partitionen.VSP – Virtualization Service Provider – Resides in the root partition and provide synthetic device support to child partitions over the Virtual Machine Bus (VMBus).
  • WinHv – Windows Hypervisorschnittstellenbibliothek - WinHv ist praktisch eine Verbindung zwischen einem partitionierten Betriebssystem-Treiber und dem Hypervisor, der es Treibern ermöglicht den Hypervisor mithilfe der Windows Standardaufrufkonventionen aufzurufenWinHv – Windows Hypervisor Interface Library - WinHv is essentially a bridge between a partitioned operating system’s drivers and the hypervisor which allows drivers to call the hypervisor using standard Windows calling conventions
  • WMI – der Verwaltungsdienst für virtuelle Computer bietet eine Reihe von Windows-Verwaltungsinstrumentation WMI-basierten APIs zum Verwalten und Steuern virtueller Computer.WMI – The Virtual Machine Management Service exposes a set of Windows Management Instrumentation (WMI)-based APIs for managing and controlling virtual machines.