Microsoft recently announced their new virtualization technology "Hyper-V" (codename
Viridian) as part of Windows Server 2008 that will replace Microsoft Virtual Server
2005. I wanted to understand the differences between the two virtualization products
and how to use Hyper-V. In my search, I came up with the following list of references
and understandings.
Rough Technology differences between Hyper-V and earlier products:
One way to think about these new chip technologies is that they introduce
a “-1” ring essentially to the usual four rings in the x86 CPU architecture. With
the VPC and Virtual Server offerings, they use a trick called ring compression where
the kernel of the VM is placed into Ring 1, instead of the expected Ring 0. This is
so that the host can absolutely ensure that VMs are running in their own sandbox and
can’t gain access to any resources of the host or other VMs. There is something like
14-17 CPU instructions in the x86 instruction set that can’t be executed directly
because of sandbox violation. Hence, the need to place the child VM’s kernel into
Ring 1 so that the host can place itself in Ring 0 to intercept those calls to protect
them directly or to emulate them. By introducing a “-1” ring, the hypervisor lives
here and controls the access to the various virtual machines. So, with the introduction
of a hypervisor living in ring -1, the need for ring compression of child VMs is essentially
removed. At least, this is one way to think about.
They hypervisor itself
is not a complete OS, per se. The hypervisor is a VERY thin and small, trusted computing
base.
Technical
References:
VM Additions for Linux
Earlier Microsoft Virtual PC and Microsoft Virtual Server 2005 didn't have VM Additions
for Linux, recently Microsoft released
fully supported VM Additions for Linux (Download
from here).
Read the complete post at http://www.venkatarangan.com/blog/2007/12/25/HyperV+And+VM+Additions+For+Linux.aspx