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
Payscale uses alumni post-grad pay to rank 187 colleges and universities with computer science...
Vint Cerf is known as a "father of the Internet," and like any good parent, he worries about his...
How mainstream is big data? We asked two speakers at HP's Big Data Conference 2015 in Boston whether...
Sponsored by SevOne
Sponsored by HP
On September 9th, Apple is expected to release the new iPhone 6s, iPhone 6s Plus, a revamped Apple TV,...
Boston Red Sox IT staff faced the unique challenge of deploying public Wi-Fi without disturbing the...
Peruse all the products being released at VMworld in San Francisco this week
So many big data and analytics-focused startups are getting funding these days that I’ve been inspired...