Virtualisation for Beginners
It's not just for server jockeys, you know
Apple users are familiar with the frustration of finding that some new appendage they've acquired is only supplied with software to communicate with Windows machines. Windows connection software for phones, cameras, or non-iPod MP3 devices should run well inside a Windows virtual machine, although the ultimate solution is to insist on hardware that embraces USB mass storage, and so can transfer data across all operating systems with no special software.
Parallels Desktop's Crystal Mode allows windows from the guest OS to float freely among the host OS' windows. Windows apps - marked with the orange Parallels symbol - are available from the Mac's Dock.
Do you need to power up the whole virtual machine just to run one small guest application? Yes, you do, but you can do this under the covers. Parallels Desktop's Crystal Mode allows windows from the guest operating system to float freely among those of the host operating system, and attaches the guest applications to the host's menuing system. VMWare Fusion takes the same approach with a similar facility called Unity.
In effect, this allows you to encapsulate the guest application and run it as if it were just another host app. If you can spare the memory, you can speed up the process having the guest operating system under the hypervisor ready-loaded at boot time.
The Downside of Hardware Virtualisation
“There is no software-visible bit whose setting indicates whether a logical processor is in VMX non-root operation. This fact may allow a VMM to prevent guest software from determining that it is running in a virtual machine” - Intel VTx specification.
Intel's VM hardware design means that it may be impossible for an operating system to know it's actually running as a guest, not as a host. This is useful, eg. for driver developers, but also allows for the mother and father of all rootkits.
It's been suggested that an operating system simply has to try to load a VM of its own, ie. launch its own hypervisor. If it can't then it's probably running as a VM itself. However, Joanna Rutkowska, the Polish security specialist who conceived the Blue Pill hypervisor rootkit, has shown that nested virtualisation is possible, and an OS capable of launching a hypervisor might still be running under an even higher privileged hypervisor.
In essence, this is the so-called God Problem. Key to atheist Richard Dawkins' argument for the non-existence of God, is the premise that "a world without God would be very different from a world with God". But need there be any detectable difference?
Sponsored: DevOps and continuous delivery
Sun's VirtualBox is a free virtualisation utility available for Windows, Mac OS X and Linux. It lacks some of the finer features of VMWare and Parallels, but otherwise does an excellent job.
VirtualBox on Linux depends on modules that need to be compiled especially for the particular kernel in use. But if you're using one of the current common Linux distributions you should be able to find your distribution-specific package here.