What Is Virtualization?

Virtualization technology is not new, there has been many advancements. For example, Microsoft’s new OS, Windows 7, implements virtualization in its new "XP Mode". I mentioned this in my last blog.

So what exactly is Virtualization you ask?  In the most basic technical terms: it is the method by which x86-based "guest" operating systems can run within another "host" x86 operating system, with little or no modification of the guest OS.  Vitualization creates a file on the hard drive to act as a hard drive for the virtual or guest OS. None of the existing data is modified.

There are a couple of methods of virtualization that I will try to explain. There is Software Virtualization and Hardware Virtualization.

Software Virtualization:  (Software Emulation, Some Overhead)
VMware, and similar virtualization software for the x86,  employs binary translation techniques to trap and virtualize the execution of certain instructions. These techniques incur some performance overhead compared to a VM (Virtual Machine) running on a natively virtualizable architecture (hardware virtualization).

To minimize any overhead, the research systems Denali, L4, and Xen (other virtualization software) explored ways to provide high performance  virtualization of x86 by implementing a virtual machine that differs from the raw hardware. This approach, known as paravirtualization, involves porting operating systems to run on the resulting virtual machine. This does not implement the hard-to-virtualize parts of the actual x86 instruction set.  Xen 3.0 supports full virtualization with an unmodified guest OS, provided hardware-assisted virtualization support (i.e., Intel VT or AMD-V) is available.

Hardware Virtualization:  (Hardware Emulation, Negligible Overhead)
First implemented on the IBM System/370, hardware-assisted virtualization is a platform virtualization approach that enables efficient full virtualization. It uses help from hardware capabilities, primarily from the host processors. Full virtualization is used to simulate a complete hardware environment, or virtual machine. An unmodified guest operating system (directly using the same instruction set as the host machine) executes in complete isolation.

Hardware-assisted virtualization was recently (2006) added to x86 processors (Intel VT or AMD-V). Hardware-assisted virtualization is also known as accelerated virtualization; Xen calls it hardware virtual machine (HVM), Virtual Iron calls it native virtualization.

Intel and AMD have independently developed virtualization extensions to the x86 architecture. Though not directly compatible with each other, they serve largely the same functions. Either will allow a virtual machine hypervisor to run an unmodified guest operating system without incurring significant emulation performance penalties.

Hardware Virtualization is what Windows 7 is trying to use for the "XP Mode".  If you intend to use this mode,, you need to make sure your hardware will support this.  In other words, the chip sets include Hardware Virtualization capabilities.

So before your eyes glaze over (like mine did) anymore with all the technical jargon, Ill leave this topic for you to research more if this catches your eye.  If I can help email me.

-Bryan alt

Leave a Reply