General

Virtualization Concepts And Basics For Dummies

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.
Some terminology:


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
Arrow VMWare Workstation(commercial, with 30 day trial)
Arrow VMWare Server(free, but no sound/USB support)
Arrow 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
Arrow VMWare Server & Workstation
Arrow VirtualBox
Arrow KEMU
Arrow QEMU
Arrow Bochs

Mac users also have virtualization options, in form of

Arrow Apple’s BootCamp(now built into Leopard)
Arrow Parallels Desktop
Arrow VMWare Fusion

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.
Image
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.
Image

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.

12 Comments

  1. @Reetesh Hehe welcome my friend. You asked for it, so you got the exclusive preview. If it wasn’t for you, this article would never have come so thanks :D

  2. Great summing up of virtualisation basics, but on the mac side there’s a few correction I would want to make:
    1) Bootcamp is not virtualisation. It does not allow you to run Windows in a virtual machine, it allows you to install windows as a seperate OS on the same machine, it does however require you to reboot to load it, and reboot again to get back to OSX.
    2) An often missed VM for the mac is Q (http://www.kju-app.org/) with, as probably the greatest upside, x86 virtualisation on PowerPC’s, that’s right! Though not the fastest thing ever, I used this in the past to run Windows XP on a PowerBook G4!
    3) Darwine, although I’m unsure if it’ll ever be production ready, virtualizes Windows in such a way that you can run windows apps in OSX, sorta… Not really VM, but much closer than bootcamp ;)

  3. Hey Sathya,

    Great one, mate! Spoon fed n digestive ;) Need to talk on the concpets as a beginner.. Wud u mind sharin ur number ? or email? U have mine by now.

    Thanks,
    Jay.

Leave a Reply

Your email address will not be published. Required fields are marked *