Wednesday, August 20, 2008

Virtualization

Virtualization is one darn hot technology and here's why:

We the end users use the system to access various programs for example a word processor to write documents or the browser to post this blog entry and every program needs access to the hardware. For example, to get this post going I had to make use of the key board and the mouse. So how did the key board know what I was typing should appear in my browser. Did I make friends with my keyboard or did I bribe it. I tell you my key board is very unfriendly, it never talked to me directly inspite of all my valiant efforts to make it talk. So, there should be some mechanism which facilitates this communication between my browser and this keyboard. This is taken care of by the Operating System (OS) or to be very precise the kernel. The kernel has exclusive rights to all our hardware or in other sense only one kernel can run at a time. Imagine if there were two kernels and one keyboard this would be a triangular love story , where each kernel is fighting to win the heart of the keyboard meanwhile the poor guy the end user who is me in this case will never understand why the hell his key presses dont appear on the screen no matter how hard he hits the keys. What does this love story indicate. It says with all dignity that only monogamy is possible or only one operating system can run on your system at any given point of time.

And my friends, Virtualization is a technique which breaks the barries of monogamy, it breaks all your religious laws about computing, ah yes! you have guessed it right we can finally run more than one operating system at the same time. When I first heard about virtualization 6 years ago I thought that these people might have gone crazy otherwise how can one run two operating systems simultaneously and even if this was remotely possible only guys who never cared about their data or who loved reinstalling their OS to the point that their installation CD could no longer bear it and died a fiery death would only do it. And after 6 years I'm fully convinced this is possible and very reliable too and all my asumptions are wrong(all, about the data, the CD and monogamy).

Virtualization is a technique where the virtual machine (a program which runs on your Host OS) allocates system resources to the Guest OS. Here the system resources are Hard disk Space, RAM, Processor etc. The virtual machine tricks your guest OS into beliving that it has access to all these resources. Whereas in reality the virtual machine allocates these resources to our guest OS, the virtual machine inturn requests these resources from our host operating system. So, the virtual machine and the guest OS running inside it is nothing but another process(an open window that can be closed by clicking the 'X' button located at the top right corner) on our host OS.

This is what virtualization has achieved and I wouldn't be surpirised at all if the future of all Operating Systems depends on virtualization.

There are many virtual machines available out there like

1. VmWare -- the first and the most successful company to invest in virtualization.
2. Virtualbox -- a very lightweight VM now owned by SUN.

there are many other opensource VM's available too. I have tried virtualbox and it is pretty robust. In my next post I'm going to show how you can setup virtualbox on your Linux machine.

No comments: