An Overview on the Virtualization Technology

An Overview on the Virtualization Technology

Ganesh Chandra Deka (Ministry of Labour and Employment, India) and Prashanta Kumar Das (Government of Assam, India)
DOI: 10.4018/978-1-4666-5864-6.ch012
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Virtualization technology enables organizations to take the benefit of different services, operating systems, and softwares without increasing their IT infrastructure liabilities. Virtualization software partitions the physical servers in multiple Virtual Machines (VM) where each VM represents a complete system with the complete computing environment. This chapter discusses the installation and deployment procedures of VMs using Xen, KVM, and VMware hypervisor. Microsoft Hyper-v is introduced at the end of the chapter.
Chapter Preview
Top

Introduction

Virtualization follows various approaches directly related to the architecture of the Virtual Machine Monitor (VMM) or Hypervisor. In the hosted architecture the VMM runs as an application on the host operating system and relies on it for resource management, system memory devices and drivers. It is also responsible for starting, stopping and managing each virtual machine and also controls access of virtual machines to the physical system resources. Virtualization system that follows this approach is the VMware Workstation. The architecture of VMware Workstation is shown in Figure 1.

Figure 1.

Virtual machine monitor hosted architecture

In the autonomous architecture, the VMM is placed directly above the hardware. Thus, it is responsible for managing system resources such as CPU, RAM and Hard disk etc. and allocate to different virtual machines. This architecture is more efficient because the VMM has direct access to system resources.

An example of an autonomous architecture is Xen as shows in Figure 2.

Figure 2.

Virtual machine monitor autonomous architecture

The guest operating systems run with limited privileges and doesn't have direct access to hardware. Thus, it is difficult to virtualize some critical operating system instructions because their implementation requires higher privileges.

The x86 processor architecture includes four privilege levels (rings). The operating system kernel running at level 0, has the highest privileges. This level provides complete control of system hardware. Simple applications runs on level 3has limited privileges.

Levels 1 and 2 are not used. Thus, in a Virtualization environment the guest operating systems are runs as an application. For this reason some critical instructions that require more privilege cannot be virtualized. Two techniques were followed to solve this problem they are: Full Virtualization and Paravirtualization.

Top

Full Virtualization

Full Virtualization provides total abstraction of the underlying physical system and creates a new virtual system in which the guest operating systems can run. No modifications are needed in the guest OS or application. So, any software that is capable to run in the real system can run without changes in the virtualized environment. In order to execute the critical instructions, a technique known as binary translation is used. In this technique, the software is patched while it runs. For example the critical instructions that cannot run in the virtual environment are replaced by different instructions that can run safely. However, continuous scanning and emulation of critical instructions reduces performance. Some examples of full Virtualization systems are the VMware Workstation and VirtualBox. (see Figure 3)

Figure 3.

Full Virtualization

Top

Paravirtualization

Paravirualization requires modification of the guest operating systems that run on the virtual machines i.e. the guest operating systems are aware that they are running on a virtual machine. The main purpose of paravirtualization is to reduce the time spent in performing critical patches on the guest's unsafe instructions. This is achieved by modifying the client software so it can communicate with the VMM, which run at ring 0 and has direct access to hardware. So, when an application needs to perform a critical instruction, the guest operating system communicates directly with the VMM and executes. Examples of this technique are the Xen and Denali. (see Figure 4)

Figure 4.

Paravirtualization

Key Terms in this Chapter

Hypervisior: Virtualization is implemented through the hypervisor called known as a Virtual Machine Monitor (VMM). The Hypervisor is a software layer which manages all virtual machines and separates the virtual hardware from the actual hardware. Each user has its own virtual machine, which is created on the basis of user requirement. Each virtual machine has its own resources. Number of virtual machines can be run on a single physical machine.

Virtualization: Virtualization one of the key technology used in cloud computing. Virtualization allows multiple OS to run on a single physical machine. All computing resources are provided to the client through Virtualization. It increases the resource utilization because same hardware can be used by multiple user. One of the important features of the Virtualization is the live migration, a process of transferring the virtual machine from one physical machine to another physical machine. Since the load on the virtual machine can be changed dynamically, so there is a possibility when the current physical machine is unable to fulfill the resource requirement of the virtual machine. This problem can be addressed either by adding the extra resources to the physical machine or by migrating the virtual machine. Live migration of the virtual machine is useful in the case server failure, server maintenance, load balancing, hot spot mitigation and severs consolidation.

Complete Chapter List

Search this Book:
Reset