Virtualization 1. Introduction Virtualization is a proven software technology that is rapidly transforming the IT landscape and fundamentally changing the way that people compute. Today’s powerful x86 computer hardware was designed to run a single operating system and a single application. This leaves most machines vastly underutilized. Virtualization lets you run multiple virtual machines on a single physical machine, sharing the resources of that single computer across multiple environments. Different virtual machines can run different operating systems and multiple applications on the same physical computer. Virtualization is a framework or methodology of dividing the resources of a computerinto multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, time-sharing, partial or complete machine simulation, emulation, quality of service, and many others. Virtualization is technology for supporting execution of computer program code, from applications to entire operating systems, in a software-controlled environment. Such a Virtual Machine (VM) environment abstracts available system resources (memory, storage, CPU core(s), I/O, etc.) and presents them in a regular fashion, such that “guest” software cannot distinguish VM-based execution from running on bare physical hardware. A virtual machine provides a software environment that allows software to run on bare hardware. This environment is created by a virtual-machine monitor, also known as a hypervisor. A v irtual machine is an efficient, isolated duplicate of the rea l machine. The hypervisor presents an interface that looks like hardware to the “guest” operating system. It allows multiple operating system instances to run concurrently on a single computer; it is a means of separating hardware from a single operating system. It can control the guests’ use ofCPU, memory, and storage, even allowing a guest OS to migrate from one machine to another. Dept. of TCE, K.S.I.T Page 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
The guest OS’s do not have to be all the same, making it possible to run different OS’s on
the same computer (e.g., Microsoft Windows and Linux, or older versions of an OS in
order to support software that has not yet been ported to the latest version).
Process virtual machines
A process VM, sometimes called an application virtual machine, runs as a
normal application inside an OS and supports a single process. It is created when that
process is started and destroyed when it exits. Its purpose is to provide a platform-
independent programming environment that abstracts away details of the
underlying hardware or operating system, and allows a program to execute in the same
way on any platform.
A process VM provides a high-level abstraction — that of a high-level
programming language (compared to the low-level ISA abstraction of the system VM).
Process VMs are implemented using an interpreter; performance comparable to compiled
programming languages is achieved by the use of just-in-time compilation.
4 . Hypervisor
A hypervisor, also called virtual machine monitor (VMM ), is a computer hardware platform virtualization software that allows multiple operating systems to run
system environment. Considering the hypervisor layer being a distinct software layer, guest operating
systems thus run at the third level above the hardware.
5.Popek and Goldberg virtualization requirements
The Popek and Goldberg virtualization requirements are a set of
sufficient conditions for computer architecture to efficiently support system
virtualization. They were introduced by Gerald J. Popek and Robert P. Goldberg in their
1974 article " Formal Requirements for Virtualizable Third Generation Architectures".
There are three properties of interest when analyzing the environment created by aVMM:
Equivalence: A program running under the VMM should exhibit a behavior essentially identicalto that demonstrated when running on an equivalent machine directly.
Resource control : The VMM must be in complete control of the virtualized resources.
Efficiency: A statistically dominant fraction of machine instructions must be executed withoutVMM intervention.
In Popek and Goldberg terminology, a VMM must present all three properties.
VMM are typically assumed to satisfy the equivalence and resource control properties.
So, in a sense, Popek and Goldberg's VMMs are today's efficient VMM.
The main result of Popek and Goldberg's analysis can then be expressed asfollows.
Theorem 1. For any conventional third-generation computer, a VMM may be constructedif the set of sensitive instructions for that computer is a subset of the set of
privileged instructions.
Theorem 2. A conventional third-generation computer is recursively Virtualizable if
1. It is Virtualizable and
2. A VMM without any timing dependencies can be constructed for it.
6.Classification o f Virtuali zation
Here we discuss about different types of virtualization.
Platform virtualization, which separates an operating system from the underlying platform
resources
o Full virtualization
o Hardware-assisted virtualization
o Partial virtualization
Resource virtualization, the virtualization of specific system resources, such as storage volumes,
name spaces, and network resources
Storage virtualization, the process of completely abstracting logical storage
The virtualization of specific system resources, such as storage volumes, name
spaces, and network resources is the resource virtualization.
Storage Virtuali zation\Server Virtualization
Storage virtualization is the pooling of multiple physical storage resources into
what appears to be a single storage resource that is centrally managed. Storage
virtualization automates tedious and extremely time-consuming storage administration
tasks. This means the storage administrator can perform the tasks of backup, archiving,
and recovery more easily and in less time, because the overall complexity of the
storage infrastructure is disguised. Storage virtualization is commonly used in file
systems, storage area networks (SANs), switches and virtual tape systems. Users can
implement storage virtualization with software, hybrid hardware or software appliances.
Virtualization hides the physical complexity of storage from storage administrators and
applications, making it possible to manage all storage as a single resource. In addition to
easing the storage management burden, this approach dramatically improves the efficiency
and cuts overall costs.
The A dvantages of Storage V i rtua liz ation
Storage virtualization provides many advantages.
First, it enables the pooling of multiple physical resources into a smaller number
of resources or even a single resource, which reduces complexity. Many environments
have become complex, which increases the storage management gap. With regard to
resources, pooling is an important way to achieve simplicity. A second advantage of
using storage virtualization is that it automates many time-consuming tasks. In other
words, policy-driven virtualization tools take people out of the loop of addressing eachalert or interrupt in the storage business. A third advantage of storage virtualization is that
it can be used to disguise the overall complexity of the infrastructure.