Virtual-machine schemes come in two varieties, but each variety comes with its own variants
A primer on the varieties of virtualization.
The first variety -- sometimes referred to as native virtualization -- occurs when a hypervisor (also called a microkernel) directly virtualizes all host resources to multiple guest operating systems. That translates instructions that need systems resources on the fly via direct hardware-virtualization/system-instruction translation.
Direct translation presents a discrete virtual-machine appearance to each guest operating system and the applications riding on top of it.
Guest operating systems in this scheme don't need to be modified or be aware of the virtualized representation state of the hardware platform, because their resource needs are managed by the microkernel. VMware's ESX platform is a prime example of a direct hardware-virtualization system.
1a. Client direct-processor emulation
A variant of native virtualization is a process called client direct-processor emulation, where applications of another operating system are given operating-system resource-emulation capability. This scheme lets applications native to Windows XP work on Apple's Macintosh OS 10.4 using products from Parallels or Microsoft.
This is a scheme typically associated with desktop virtualization.
The second variety, called paravirtualization, also uses a hypervisor host operating system, but it presents hardware resources to "aware" kernel versions of guest operating systems. Virtual Iron Software uses a branch of the Xen open source project in its virtual-machine platform and management products that approach virtualization in this manner.
Hypervisors of the first variety translate instructions on the fly, remapping resources directly or to arbitration code (instruction-translation routines) for all guest operating-system requests. Paravirtualized systems don't need to go that far, because the instructions needed for guest operating systems have been made "aware" that resources are to be directed to a paravirtualized kernel instance underneath. In turn, the paravirtualized services are offered in a way that links to guest operating systems efficiently. Or so the argument goes. There is much contention about which virtualization method is more efficient, and for what server roles.
A variant of paravirtualization is a container, also known as a sandbox or application partition. Generally, containers provide additional application isolation from the misbehavior of other applications (and perhaps system events) to provide isolation, application behavior control, instance monitoring, higher availability or other administration needs.
To one degree or another, containers make a logical element of an application and often represent system resources to the application as though the application were the only one living on the host. Championed by Sun, containers can be found in Solaris, but other forms of containers are offered by Microsoft in SoftGrid, Red Hat Linux in SELinux and by Symantec/Altiris in SVE -- a sandbox for applications used in Windows 2000/XP/Vista/2003 platforms.
Learn more about this topic
Dell this week extended its arsenal of data center Ethernet switches, highlighted by a 100G device with...
For the first time in company history Amazon.com revealed the financial details of its Web Services...
With all the public cloud storage offerings on the market today, many vendors just want customers to...
Sponsored by Broadview Networks
Sponsored by HP
Living up to John McAdam's legacy as F5 Networks' CEO won't be easy, but Manny Rivelo just might be the...
Most Linux kernel code isn’t developed by who you might think. Here’s a closer look at why this matters.
Project Fi, Google's Wi-Fi and cellular network service, can be described as low-cost, disruptive,...
From the 19th century's first designs to the Tesla models we haven't even seen yet, here's the...