Have you ever think of running an operating system on top of another. If you are a Windows user then you might want some great features of Linux OS. Similarly, if you are Linux user then you might want to work on MS Word. Virtualization will cater all your needs be it software development, running one OS on another, configuration testing and document creation. It will allows you to install new Operating Systems on the same machine and the best thing is that you don’t have to worry about hard disk formats and other pre install software or losing any data.
Virtualization is creation of Virtual Machines which can emulate hardware in software or in other words it is the creation of virtual version of something such as a hardware platform, operating system, storage device, or network resources (from Wikipedia). Virtualization is achieved or created with the help of software and this particular software allows you to install any number of OS on your system without using the available hardware directly.
How Does Virtualization Work?
As you already know that Virtualization is created with the help of software. This software is nothing but a program that creates an environment or platform wherein it emulates and imitates different hardware components like RAM, Hard disk, Network Card, Processor etc. Virtualization creates an illusion where an Operating System starts believing that it is using or utilizing the various hardware component of the computer system.
Virtualization is achieved using software that creates a virtual environment which looks real but isn’t. Following are some information you have to configure while creating a new Virtual Machine.
- You need to configure the amount of RAM which will be reserved by the software from the real RAM.
- You need to configure the size of hard disk you want to allocate to the virtual machine.
- You need to configure the number of network adapters the virtual machine will have.
- You need to tell the virtual machine whether it should access removable devices.
- You need to tell the virtual machine whether it can play audio or video.
When you are running an OS over the top of another on your machine the whole environment acts like a HOST and GUEST OS. The real operating system acts as a HOST and the OS run by virtualization software acts as a GUEST OS.
The entire load balancing is actually done by the HOST operating system.
Types of Virtualization
There are mainly three types of virtualization.
- Full virtualization
- OS level virtualization
As the name suggests everything in a system is virtualized which includes the processor, storage, networking components etc. Virtual Box, VMware are example of “Full Virtualization” solutions.
OS Level virtualization
In this type of virtualization only applications are run inside the software. In this case the application is given a platform to work. Isolation is created and the application is made to believe that it is the only thing running on the system.
It’s a semi-virtualized environment created for the guset OS. A modified guest OS is created using a hypervisor. “The intent of the modified interface is to reduce the portion of the guest’s execution time spent performing operations which are substantially more difficult to run in a virtual environment compared to a non-virtualized environment. The paravirtualization provides specially defined ‘hooks’ to allow the guest(s) and host to request and acknowledge these tasks, which would otherwise be executed in the virtual domain (where execution performance is worse). A successful paravirtualized platform may allow the virtual machine monitor (VMM) to be simpler (by relocating execution of critical tasks from the virtual domain to the host domain), and/or reduce the overall performance degradation of machine-execution inside the virtual-guest.”(Source: Wikipedia)
Advantages Of Virtualization
- One of the biggest advantages of virtualization is scalability i.e. the ability to expand. Whenever there is excessive load on some part of application in a server you can easily create a similar virtual environment on a different server and configure the setup.
- Hardware maintenance cost is reduced because you don’t need many servers to install different applications.
- You can save a huge amount of energy by running one physical server instead of many and less power backup is required.
- You can get faster and safer backups by taking live snapshot while server is running.
- You will get centralized monitoring of your resources as virtualization provides easy way of connecting and maintaining your virtual servers.
So that’s all about virtualization. Hope you get some understanding of virtualization. So what do you think of this amazing technology?