Difference between revisions of "An Overview of the Hyper-V Architecture"
(→The Hyper-V Virtualization Stack) |
(→The Hyper-V Virtualization Stack) |
||
Line 1: | Line 1: | ||
== The Hyper-V Virtualization Stack == | == The Hyper-V Virtualization Stack == | ||
− | <table> | + | <table border="1" cellpadding="5" cellspacing="0" id="E3B" style="border-collapse: collapse; border-color:#cccccc; border-style: solid; border-width: 1px; margin-bottom:20px"> |
+ | <tr bgcolor="#cccccc" style="color:black" valign="top"> | ||
+ | <th> | ||
+ | <p>Component</p> | ||
+ | </th> | ||
+ | <th> | ||
+ | <p>Description</p> | ||
+ | </th> | ||
+ | </tr> | ||
<tr> | <tr> | ||
<td> | <td> | ||
Line 10: | Line 18: | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#e9e9e6"> |
<td> | <td> | ||
Virtual Machine Worker Process | Virtual Machine Worker Process | ||
Line 25: | Line 33: | ||
Virtual Devices are managed by the Virtual Motherboard (VMB). Virtual Motherboards are contained within the Virtual Machine Worker Processes, of which there is one for each virtual machine. Virtual Devices fall into two categories, ''Core VDevs'' and ''Plug-in VDevs''. Core VDevs can either be ''Emulated Devices'' or ''Synthetic Devices''. | Virtual Devices are managed by the Virtual Motherboard (VMB). Virtual Motherboards are contained within the Virtual Machine Worker Processes, of which there is one for each virtual machine. Virtual Devices fall into two categories, ''Core VDevs'' and ''Plug-in VDevs''. Core VDevs can either be ''Emulated Devices'' or ''Synthetic Devices''. | ||
</td> | </td> | ||
− | </tr> | + | </tr bgcolor="#e9e9e6"> |
<tr> | <tr> | ||
<td> | <td> | ||
Line 42: | Line 50: | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#e9e9e6"> |
<td> | <td> | ||
VMBus | VMBus | ||
Line 58: | Line 66: | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#e9e9e6"> |
<td> | <td> | ||
Virtualization Service Clients | Virtualization Service Clients |
Revision as of 17:37, 7 January 2009
The Hyper-V Virtualization Stack
Component |
Description |
---|---|
Virtual Machine Management Service (VMM Service) |
Manages the state of virtual machines running in the child partitions (active, offline, stopped etc) and controls the tasks that can be performed on a virtual machine based on current state (such as taking snapshots). Also manages the the addition and removal of devices. When a virtual machine is started, the VMM server is also responsible for creating a corresponding Virtual Machine Worker Process. |
Virtual Machine Worker Process |
Virtual Machine Worker Processes are started by the VMM Service when virtual machines are started. A Virtual Machine Worker Process (named vmwp.exe) is created for each Hyper-V virtual machine and is responsible much of the management level interaction between the parent partition Windows Server 2008 system and the virtual machines in the child partitions. The duties of the Virtual Machine Worker Process include creating, configuring, running, pausing, resuming, saving, restoring and snapshotting the associated virtual machine. It also handles IRQs, memory and I/O port mapping through a Virtual Motherboard (VMB). |
Virtual Devices |
Virtual Devices are managed by the Virtual Motherboard (VMB). Virtual Motherboards are contained within the Virtual Machine Worker Processes, of which there is one for each virtual machine. Virtual Devices fall into two categories, Core VDevs and Plug-in VDevs. Core VDevs can either be Emulated Devices or Synthetic Devices. |
Virtual Infrastructure Driver |
Operates in kernel mode (i.e in the privileged CPU ring) and provides partition, memory and processor management for the virtual machines running in the child partitions. The Virtual Infrastructure Driver (Vid.sys) also provides the conduit for the components higher up the Virtualization Stack to communicate with the hypervisor. |
Windows Hypervisor Interface Library |
A DLL (named WinHv.sys) located in the parent partition Windows Server 2008 instance and any guest operating systems which are Hyper-V aware (in other words modified specifically to operate in a Hyper-V child partition). Allows the operating system's drivers to access the hypervisor using standard Windows API calls instead of hypercalls. |
VMBus |
Part of Hyper-V Integration Services, the VMBus facilitates highly optimized communication between child partitions and the parent partition. |
Virtualization Service Providers |
Resides in the parent partition and provides synthetic device support via the VMBus to Virtual Service Clients (VSCs) running in child partitions. |
Virtualization Service Clients |
Virtualization Service Clients are synthetic device instances that reside in child partitions. They communicate with the VSPs in the parent partition over the VMBus to fulfill the child partition's device access requests. |