Virtualization is a concept most likely you will be familiar of.
Take an example. Consider PSCX. It’s an emulator, which allows you you to play PS2 games on a PC right? That’s basically virtualization at work. Virtualization is a fancy name for emulation. Virtualization software allows you to virtualize a machine, create a “virtual” PC – you can do anything on the virtual pc as you can do on a normal PC – Install an OS, run applications, compile applications, surf the web, the applications are limit less. So why virtualize you may ask?
Well that depends on what you want to do. If you’re a developer, wanting to test cross-platform applications(ie, applications that will run across multiple OS) virtualization provides you to do so without the hassles of actually installing the required OS.
Host machine – The actual physical machine, ie, your computer
Guest machine – The virtual machine, ie, the machine you’re virtualizing or emulating.
Or if you’re like me. I try out various Linux distros under virtualization. I try out different things(like Kernel compilation, etc) on my virtual system, so that my actual system doesn’t get broken.
Virtualization is also a great security boon, you can surf the web safely on the guest machine, without the fear of viruses/Trojans/Spyware/malware infecting your host system. There are lot of virtualizers available, one of the best being VMWare Workstation. The other very good virtualizer is VirtualBox, Unlike VMWare Workstation, VirtualBox is free and open source, and isn’t as heavy on the system as VMWare is.
Virtualization requires a speedy processor, and lots of RAM, as when you allocate certain amount of RAM, the entire chunk is dedicated to the guest machine. Say I create a virtual machine, I want to load Windows XP on it, and I allocate 256 MB RAM to it, now the entire chunk of 256MB is dedicated to the guest machine. So in order to the 256MB needed for the guest machine, you’ll also need decent amount of memory free so that your host machine also runs smoothly.
As I mentioned earlier there are lots of software available for Virtualization, most of them free.
For Windows, you have
VMWare Workstation(commercial, with 30 day trial)
VMWare Server(free, but no sound/USB support)
VirtualBox (free, openSource, very light on system)
Linux comes inbuilt with a virtualizer, in form of Xen Virtualization, but is a bit complicated to use
Other Virtualization software include
VMWare Server & Workstation
Mac users also have virtualization options, in form of
Apple’s BootCamp(now built into Leopard)
Here are couple of screentshots showing what a good system is capable of. I prefer Linux for Virtualization, because of it’s superior memory management.
The above picture shows my Linux desktop on a 3d Cube(Compiz Fusion ROCKS!! FTW!)
On the left side of the cube you can see openSUSE booting, while on the right side you can see Windows XP desktop.
The next screenshot will make it even clearer.
As seen from the screen, my 3d Desktop is folded out and on my single system, I’m running total of 4 OS’s simultaneously – (from left to right), PC BSD, KDE Four Live(on openSUSE), Windows XP and of course, openSUSE my host system.
Linux’s memory management is pretty obvious from this example, despite all these OS’s running(512MB for PC BSD, 512MB for KDE Four, 512 MB for XP) and despite Compiz Fusion running, I have over 250 MB free for my host machine and I can do all things – surf, listen to music, play with the desktop effects et all.