Changes

Jump to: navigation, search

An Overview of the Hyper-V Architecture

45 bytes added, 18:41, 29 May 2016
m
Text replacement - "<google>BUY_HYPERV</google>" to "<htmlet>hyperv</htmlet>"
<table border="0" cellspacing="0" width="100%">
<tr>
<td width="20%">[[About Hyper-V Essentials|Previous]]<td align="center">[[Hyper-V Essentials|Table of Contents]]<td width="20%" align="right">[[Hyper-V System Requirements|Next]]</td>
<tr>
<td width="20%">Table of ContentsAbout Hyper-V Essentials<td align="center"><td width="20%" align="right">Hyper-V System Requirements</td>
</table>
<hr>
 
 
<htmlet>hyperv</htmlet>
== Hardware Assisted Virtualization ==
Hyper-V will only run on processors which support hardware assisted virtualization. Before looking at Hyper-V in detail, it is worth providing a brief overview of what this hardware assisted virtualization actually means.
The x86 family of CPUs provide a range of protection levels also known as rings in which code can execute. Ring 0 has the highest level privilege and it is in this ring that the operating system kernel normally runs. Code executing in ring 0 is said to be running in system space, kernel mode or supervisor mode. All other code, such as applications running on the operating system, operate in less privileged rings, typically ring 3.
Under Hyper-V hypervisor virtualization a program known as a hypervisor, as previously mentioned, runs directly on the hardware of the host system in ring 0. The task of this hypervisor is to handle tasks such CPU and memory resource allocation for the virtual machines in addition to providing interfaces for higher level administration and monitoring tools.
Clearly, if the hypervisor is going to occupy ring 0 of the CPU, the kernels for any guest operating systems running on the system must run in less privileged CPU rings. Unfortunately, most operating system kernels are written explicitly to run in ring 0 for the simple reason that they need to perform tasks that are only available in that ring, such as the ability to execute privileged CPU instructions and directly manipulate memory. One solution to this problem is to modify the guest operating systems , replacing any privileged operations that will only run in ring 0 of the CPU with calls to the hypervisor (known as hypercalls). The hypervisor in turn performs the task on behalf of the guest system.
Another solution is to leverage the hardware assisted virtualization features of the latest generation of processors from both Intel and AMD. These technologies, known as Intel VT and AMD-V respectively, provide extensions necessary to run unmodified guest virtual machines. In very simplistic terms these new processors provide an additional privilege mode (referred to as ''ring -1'') above ring 0 in which the hypervisor can operate, essentially leaving ring 0 available for unmodified guest operating systems.
== The Virtualization Stack and Other Root Partition Components ==
As previously noted, the root partition contains the ''Virtualization Stack''. This is a collection on of components which that provide a large amount of the Hyper-V functionality. The following diagram provides an abstract outline of the stack:
[[Image:hyper-v_virtualization_stack.jpg|The Hyper-V Virtualization Stack]]
</td>
<td>
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 Service is also responsible for creating a corresponding ''Virtual Machine Worker Process''.
</td>
</tr>
</td>
<td>
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 for 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).
</td>
</tr>
</td>
<td>
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.
</td>
</tr>
- '''Non Hyper-V Aware Operating Systems''' - These operating systems are unaware that they are running on a hypervisor and are unable to run the Integration Services. To support these operating systems, the Hyper-V hypervisor uses emulation to provide access to device and CPU resources. Whilst this approach allows unmodified, unenlightened operating systems to function within Hyper-V virtual machines, the overheads inherent in the emulation process can be significant.
 
 
<htmlet>hyperv</htmlet>

Navigation menu