In schools, when a student that is working towards a degree in IT, MIS, IST or anything of the like… typically the virtualization method of choice by the teachers is to use Virtualbox or some other desktop virtualization software. These tools are great for building up an operating system and testing it, without actually installing it on hardware. If you have never done something like this before, its pretty neat.
Essentially, you build what is called a Virtual Machine or VM for short (remember that). A VM consists of a few files typically. First you have the configuration file. The config file tells the VM how many CPU processors or cores it has, how much RAM is allocated for the VM, what type of network card setup to use, how large the virtual hard drive is as well as where that disk is located. There are other items in there as well, but lets stick to the basics. It covers all the needs of a basic computer, CPU, RAM, Network, oh and of course Video card.
Things to remember:
Host – the physical computer
VM – the Virtual machine that is running inside of the App
The App (Virtualbox) – the Application that runs on the host, that provides resources from the host to the VM (CPU, RAM, Network)
So where is this whole thing running? Well, good question! Your actual computer is the physical machine, it is running its operating system, that would be either Windows, Mac OS X or some flavor of Linux (not as likely, but sure). Now inside of that Operating System you have applications. Virtualbox is just another application, but what it does is takes ANOTHER Operating System and pass the CPU, RAM, Network and Video capabilities of the physical machine, onto the Virtual Machine. Getting it yet? You are running an Operating System, inside of an application. You tricked the OS into thinking that it is on REAL hardware. Thats pretty nifty in an of itself.
Because of this, you share all of the same resources the “bare-metal” operating system uses. I.E. – don’t give the VM 100% of the CPU, RAM and Network… or else there isn’t enough for the actual computer to use that is running the VM. Now, because you share the network, the cool thing is you can connect to the VM just like its connected to your physical network. Inside the application that runs the VM, it is acting like a network switch (virtual networking, remember that). There are a couple different settings for this, but just know that you can either make it available to the host (your physical machine) only, or shared the network input and let the VM talk to the other devices on your network. To repeat, host-only means the VM can only talk to the physical machine running the app that runs the VM. Shared means that other devices on the network can also see the VM that is running inside the host.
Now, there is NOTHING magical about a VM on Virtualbox, it doesn’t have extra powers or run faster. You still have to install the OS by putting in a “CD”, or in this case you get an ISO (image file of a disc, what you normally burn to a CD) and you take that ISO and pass it to the VM, and install from the CD image. The same way you physically put a CD that was made by burning an ISO to a disc, and pop that sucker into a physical machine when you are installing an Operating System for the first… second or hundredth time.
After you install the OS, you’ve got a Virtual Machine, you can use it to test software out, and if it gets screwed up, you just delete it and start again. Its awesome because doing that on a physical machine is a pain in the butt. At least with this method, you aren’t wiping the machine, just a virtual hard drive. Let me just say that there is nothing wrong with this method, but once you step outside of this into the world of Hypervisors… it gets SOOO much more interesting.
Next Up: Virtualization, the way the industry sees it… with a little (a lot of) VMware bias.