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:
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.
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.
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.
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:
Sunday, October 26, 2008
Vladimir Pasman
Links:
[1] http://en.wikipedia.org/wiki/VirtualBox
[2] http://forum.insanelymac.com/index.php?showtopic=29555&pid=355222&mode=threaded&start=#entry355222
[3] http://www.virtualbox.org/
[4] http://www.parallels.com/
[5] http://lists.xensource.com/archives/html/xen-users/2007-01/msg00044.html
[6] http://www.kernelthread.com/publications/virtualization/
[7] http://www.microsoft.com/windowsserver2008/en/us/hyperv.aspx