Problem solve Get help with specific problems with your technologies, process and projects.

Server virtualization at the hardware level with Hyper-V

Microsoft changed its approach to server virtualization with the release of Hyper-V. Find out how the new technology changes the way virtual machines interact with physical hardware.

For as long as Windows has existed, applications have been prohibited from communicating directly with hardware. This is because one of the major principles behind the Windows operating system is that it acts as a level of abstraction between hardware apps. Applications never communicate with the hardware directly. Instead, they communicate with Windows, which in turn uses various device drivers to enable it to communicate with the physical hardware.

Recently, however, this philosophy has started to change -- at least when it comes to server virtualization. Let's start with a little history.

A look back at Virtual Server 2007

Prior to the release of Windows Server 2008, Microsoft's primary virtualization solution was Virtual Server 2007. Virtual Server used the standard philosophy, that is, that apps were not allowed to communicate directly with the system hardware, taking something of a monolithic approach to server virtualization.

More on Windows
server virtualization

Top backup methods

Keeping track of virtual machines

Virtualization and 64-bit

Windows treated Virtual Server 2007 pretty much the same as any other Windows application in that the host operating system ultimately retained control of all of the system's resources. That meant guest operating systems all shared system resources, such as memory, network communications, video processing and so on.

This sharing of resources is both inefficient and risky. It's inefficient because guest operating systems do not have a dedicated pool of system resources. Instead, the host operating system acts sort of like a dictator, telling the guest OS if or when it can have access to certain resources. Both Windows and Virtual Server 2007 act as a bottleneck for guest operating systems.

This is a risky approach because of the way that resources are shared between guest and host operating systems. Suppose for a moment that the host OS had a buggy NIC driver, and that bug eventually made it so the host OS could not communicate on the network. Because the guest operating systems are completely dependent on the host, they would not be able to communicate across the network either.

Enter the hypervisor

With the release of Hyper-V, Microsoft took a completely different approach to server virtualization in that virtual machines are now allowed to communicate directly with the hardware (well, sort of). The exception is disk I/O, which is still coordinated through the host operating system. Guest servers running on Hyper-V completely bypass the host OS and communicate directly with the server's hardware. The reason why Microsoft is able to take such a radically different approach to server virtualization is that Hyper-V is based on some relatively recent changes to server hardware.

With the release of Hyper-V, Microsoft took a completely different approach to server virtualization in that virtual machines are now allowed to communicate directly with the hardware.

The latest server hardware supports something called hardware-assisted virtualization. For example, Intel servers offer Intel VT (Virtualization Technology), while AMD has AMD-V. Hyper-V absolutely requires that your server be equipped with one of these two technologies. It is also worth noting that I recently deployed a server that was equipped with Intel VT, but I had to enable virtualization at the BIOS level before I was allowed to install Hyper-V.

So what else makes Hyper-V different from previous virtualization technologies? Unlike Virtual Server 2007, Hyper-V is a very small application. This size reduction is due to the fact that it's really the hardware that is doing most of the virtualization work.

Hyper-V creates special partitions for guest operating systems. These are different from disk partitions, because the partitions include memory and other system resources. Each virtual machine functions solely within its own partition, which greatly reduces the chances that a failure with the host OS or with a different guest could impact a guest operating system. It also makes virtualization much more secure since the virtual machines are physically isolated from each other.

Hardware-assisted virtualization is a technology that is really worth paying attention to. I have been using Hyper-V on a few different servers in my lab, and guest operating systems seem to perform much better than they do in a Virtual Server 2007 environment. In fact, they tend to perform so well that I sometimes forget that they are virtual servers instead of physical ones.

Brien M. Posey, MCSE, has received Microsoft's Most Valuable Professional Award four times for his work with Windows Server, IIS and Exchange Server. He has served as CIO for a nationwide chain of hospitals and healthcare facilities, and was once a network administrator for Fort Knox. You can visit his personal Web site at

Dig Deeper on Microsoft Hyper-V management

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.