Virtualization - What Is Virtualization, Structure, and Types


Virtualization is the prime concept of cloud computing. Earlier, before virtualization was introduced, businesses were operated with a single machine for a particular application.  Assume a business had three servers, one server was dedicated to email service, the second server was dedicated to running a website (Linux as an OS) and the third server was for a database (Unix as an OS). The company would require three different servers to compute the operations, which shall increase the time and space. Virtualization emerged to cater to the end user's needs. 


Virtual box and oracle are a few virtualization examples. 


What is Virtualisation ?

 

When a user wants to run multiple operating systems in a single machine, this can be achieved by installing a virtual machine in the system. Virtualization is the simulation of hardware and software (computers, operating systems, networking, and storage )in the virtual environment.


Virtualization helps us to use one server to compute the task of all three servers; run all the applications conforming to their operating environment efficiently. In simple words, all the physical servers with different operating systems and applications run on one physical server. i.e., one server is running 3 Virtual Machines simultaneously. 


Virtual Machine


Virtualization is achieved by virtual machines. It mimics a physical machine function using cloud parts which are virtual hardware devices. The virtual machine (software) replaces the functionalities of a physical server which is followed traditionally. 


The main task of the virtual machine is to run programs and deploy the applications. All the VM (guest) runs on a single machine (host). Each VM has its operating system running efficiently, even though, they run on the same physical machine.  


VMs are usually needed for business setup, created and deployed to allow them to use different OS based on their need. It tends to behave as a separate system/application. The VM is used to compute resources. Also, VM is used to run programs that cannot be computed in regular operating systems, which tend to be risky or malicious. 


Virtualization Types


Virtualization types are as follows :


  1. Application Vitualisation
  2. Network Virtualisation

  3. Storage Virtualisation

  4. Desktop Virtualisation

  5. Server Virtualisation


Hypervisor


In the virtual machine, the software is created using Hypervisor. It is also called (VMM) Virtual Machine Monitor. The hypervisor allows the running of the virtual machine and allocates the resources to multiple virtual machines. Thus allowing to support of guest VMs by properly giving the needed memory and processing. 


The hypervisor separates multiple VM and allows them to run on different operating systems without the interference of others. This is to make sure that it complies with security measures. Even if one or more virtual machine crashes, it should not affect the other VM and continue to run without issue. This security is achieved with ‘sandboxing’. 


Sandboxing is a safe environment to run and execute unsafe programs or applications without fear of crashing or affecting resources. 


Virtualisation Structure


 Source: Medium

                   

Virtualization is performed with the help of a hypervisor or VMM. Hypervisors are of two types - Type 1 and Type 2


Type 1 Hypervisor runs directly on the host with simple programming. This doesn’t require an individual operating system to compute. It is called bare metal or native. It lies between the OS and hardware. 


This type of Hypervisor is suited for the enterprise. 


Type 2 Hypervisor functions on top of the OS. It is called a host machine. This implies that there will be no direct point of access to the hardware. And the VM running in this type will be managed by the Virtual Machine Monitor (VMM).  


Implementation level of Virtualisation 

 

Source: HiTechNectar


These are the five implementations level for the virtualization of the architecture :


  1. Instruction Set Level


It is located at the microprocessor and microcontroller levels. It includes the basic sets of instructions. In the physical system, we write some code logic and emulate it as software. The host machine has a CPU and other devices. To communicate with the machine, instructions are required. The native-level instruction is converted to a higher level. 


  1. Hardware Abstraction Level


To convert a lower level to a higher level certain processing power and computing cycles are required; it finds the similarities between host os and guest os suitable for x86 architecture. It finds similarities to reduce the computation cycles. 


This will be successful only if we capture PI (privileged Instructions) and send it to VMM. 


  1. Operating System Level


It keeps track of the libraries and DS used to avoid redundancy. It also maintains the prerequisite

 of the host machine. 


  1. Library Level


It is the programming API used by the application level for the execution of some code. At this level, API can be called ABI (Application Binary Interface). It is automated to convert programmatic logic to the binary format which cut downs the emulation process. 


  1. Application Level


The code is written and executed at this level only after the successful completion of all other four levels. 



Written By - Durrah Ismail Nasir


Edited By - Riya Dabas

Post a Comment

0 Comments