August 03, 2011, 10:09 AM — Microsoft seems to be "all in" with its virtualization strategy these days: back in June we heard word of a client-hypervisor (Hyper-V 3.0) built into Windows 8 and in mid-July, Hyper-V for the upcoming Windows Server 8 was publicly unveiled. And I've dug up evidence of a much bigger presence of MinWin in Microsoft's upcoming OS. So how is this fitting together? Is this the ultimate virtualization trio?
My experience with Windows 8 Hyper-V 3.0
In late June, Robert McLaws from Windows Now discovered Hyper-V 3.0 inside a leaked build of Windows 8 client, which marks the first time this virtualization technology has shown up in a non-server Microsoft OS. Quick summary: Hyper-V 3.0 includes a new virtual disk format (VHDX) supporting up to 16 TB and "advanced resiliency features that protect against power failure events". It also sports some performance and scaling enhancements, such as NUMA for both CPU and RAM while also getting rid of the CPU core limit.
I spent two weeks trying out various VMs (from XP to Windows 7) to get a grip on Hyper-V's performance and possible integration with the Windows 8 client. First and foremost: It acts and works like the hypervisor built into Windows Server 2008 R2; there are no major changes except for the enhancements discovered by McLaws and some minor differences I noticed while migrating my VMs:
Performance: Hyper-V seems to try harder to reduce overall resource usage of idling VMs. There's less resource usage, which was especially noticeable on one of my lower-end Core i3 systems.
EPT required: the pre-release version of Hyper-V 3.0 requires a CPU with EPT (Extended Page Tables), a virtualization feature unique to Intel's Nehalem processor architecture (Core i3, i5, i7 and Xeon obviously), or known as "Nested Page Tables" in the AMD world.
New Migration Assistant: A new migration assistant helps move single VHDs or the entire VM (including configuration, snapshot and the second level paging file) to a new on- or offsite location without taking it offline.
Virtualization makes a lot of sense as the basis for an OS -- instead of organizing projects into files and directories and trying to manage those with a master OS, just run a new instance of the OS for each project and access just the relevant resources. Most of the stuff on a typical user's desktop machine is often irrelevant to the task at at hand. A new VM for a specific project allows the user to save state.
That's it -- so far -- but I guess in September we'll hear a lot more on the Hyper-V front and its possible integration in Windows 8.
The question at this point is: Will Hyper-V really make it into the client or is this just some pre-beta experiment? If it's built-in (and I think that's highly likely), Hyper-V is a big step towards decoupling Windows 8 from its predecessors. In theory, by running all legacy applications virtualized you'd get rid of legacy components and security issues that plague Windows OS today -- as ZDNet's Mary Jo Foley hinted at over a year ago, referring to a spokesperson of Microsoft France. Virtual applications could be integrated seamlessly into the host desktop with next to no performance loss (remember, we're dealing with a Type 1 client hypervisor running on bare hardware; Virtual PC is a Type 2 with more layers in between and more performance overhead). Still, there's this issue of VM maintenance, security and its resource utilization.
MinWin to be a big part of Windows 8
This is where MinWin, the Windows mini-kernel, might come in. A little history lesson: In its essence, MinWin is the effort of reducing the Windows core to its absolute minimum by reducing all dependancies. Windows 8 will likely be the first OS to fully implement and use MinWin (unlike Windows 7, which seems to use only parts of it). Want more proof of this? From looking at the recently leaked Windows 8 build, MinWin seems to be MUCH more tightly integrated into Windows 8: