Notes on Virtualization
Posted 10/26/2008 - 23:48 by Unbound Developers
Introduction
Virtualization is a methodology of dividing the resources of a computer into multiple execution environments. Anytime we split resources or combine resources to make them look like one, we deal virtualization. Virtualization can include but does not imply physical partitioning. It can include grid computing, distributed computing, OS virtualization, disk virtualization, presentation virtualization (such as Windows Terminal Services), application virtualization (applications are morphed into centrally-managed services), and more...
There are many reasons why we care about virtualization, some of them listed here:
- Run each application on a separate virtual machine
Splitting servers into multiple smaller virtual machines, so that it can be used for moving client desktops to the server. - Fault Isolation and Sandboxing (security isolation)
Run different operating systems on the same box
Run same operating system with different hardware and software profiles - Server consolidation: consolidation of the workloads of several under-utilized servers to fewer machines, perhaps a single machine.
How Virtualization Works
We have a layer of software, called Virtual Machine Manager (VMM), that manages individual VMs.
VMM can run in the user space or directly on the hardware. VM can execute all or most of the instructions in software. VM can run all non-priviledged instructions directly against the machine' hardware, and trap privileged instructions to be interpreted and and then directed down to the hardware. If the OS is not hardware compatible with the host platform, the VM has to simulate the hardware instructions completely.
Emulators vs Simulators
Emulator reproduces the behavior of one system on another. Emulator makes sure that the behavior of a program on either OS is consistent.
Simulator is a kind of a perfect emulator, that works by emulating the entire instruction set.
Major VM Vendors
IBM had been performing virtualization of its mainframes for decades. In the recent years, virtualization drive has attracted a lot of attention from other vendors.
- VMWare (EMC). Supports virtualization of Windows and Linux on both server and desktop, and Mac OS 10.5 on the client side
- Hyper-V (Microsoft). Supports Windows and SUSE Linux only
- VirtualBox (Sun Microsystems). Host OS can be virtually any, unfortunately guest OS cannot be a Mac OS X
- Parallels. Only supports Windows on the desktop version, but the server software supports Mac OS X Server, Windows, Linux
- Xen (Citrix). Windows®, Linux®, Solaris®, and various versions of the BSD operating system. Mac OS has a bit of an anecdotal support having been done by individual hackers on specific hardware, such as mac mini
Most of the start-ups that have started out developing virtualization software have been snapped up by large hardware vendors. The only other serious large vendor left who may desperately need its own virtualization solution is Apple. So, what is the future of virtualization on Mac OS? I can see a few scenarious:
- Partnering with Xen or VirtualBox
- Buying Parallels?
References
- http://en.wikipedia.org/wiki/VirtualBox
- http://forum.insanelymac.com/index.php?showtopic=29555&pid=355222&mode=t...
- http://www.virtualbox.org/
- http://www.parallels.com/
- http://lists.xensource.com/archives/html/xen-users/2007-01/msg00044.html
- http://www.kernelthread.com/publications/virtualization/
- http://www.microsoft.com/windowsserver2008/en/us/hyperv.aspx
Sunday, October 26, 2008
Vladimir Pasman





18 weeks 3 days ago
18 weeks 4 days ago
18 weeks 5 days ago
18 weeks 5 days ago
18 weeks 6 days ago
18 weeks 6 days ago
18 weeks 6 days ago
18 weeks 6 days ago
18 weeks 6 days ago
18 weeks 6 days ago