0% found this document useful (0 votes)
3 views

implementation virtualization

The document discusses the implementation levels of virtualization in cloud computing, detailing how a virtualization layer allows multiple operating systems and applications to run on the same hardware. It covers various virtualization levels, including Instruction Set Architecture, Hardware Abstraction, Operating System, Library Support, and User-Application levels, each with specific functions and examples. The document emphasizes the importance of virtualization in enhancing hardware utilization and creating isolated environments for applications.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

implementation virtualization

The document discusses the implementation levels of virtualization in cloud computing, detailing how a virtualization layer allows multiple operating systems and applications to run on the same hardware. It covers various virtualization levels, including Instruction Set Architecture, Hardware Abstraction, Operating System, Library Support, and User-Application levels, each with specific functions and examples. The document emphasizes the importance of virtualization in enhancing hardware utilization and creating isolated environments for applications.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Subject: Cloud Computing and Services Academic Year: 2019-20

IMPLEMENTATION LEVELS OF VIRTUALIZATION

A traditional computer runs with a host operating system specially tailored for its hardware
architecture. After virtualization, different user applications managed by their own operating
systems (guest OS) can run on the same hardware, independent of the host OS. This is often done
by adding additional software, called a virtualization layer. This virtualization layer is known as
hypervisor or virtual machine monitor (VMM). The VMs are shown in the upper boxes, where
applications run with their own guest OS over the virtualized CPU, memory, and I/O resources.

The main function of the software layer for virtualization is to virtualize the physical hardware of a
host machine into virtual resources to be used by the VMs, exclusively. The virtualization software
creates the abstraction of VMs by interposing a virtualization layer at various levels of a computer
system. Common virtualization layers include the instruction set architecture (ISA) level, hardware
level, operating system level, library support level, and application level.

Instruction Set Architecture Level


Department of Information Technology
Subject: Cloud Computing and Services Academic Year: 2019-20

At the ISA level, virtualization is performed by emulating a given ISA by the ISA of the host
machine. For example, MIPS binary code can run on an x86-based host machine with the help of
ISA emulation. With this approach, it is possible to run a large amount of legacy binary code writ-
ten for various processors on any given new hardware host machine. Instruction set emulation leads
to virtual ISAs created on any hardware machine.

The basic emulation method is through code interpretation. An interpreter program interprets the
source instructions to target instructions one by one. One source instruction may require tens or
hundreds of native target instructions to perform its function. Obviously, this process is relatively
slow. For better performance, dynamic binary translation is desired. This approach translates basic
blocks of dynamic source instructions to target instructions. The basic blocks can also be extended
to program traces or super blocks to increase translation efficiency. Instruction set emulation
requires binary translation and optimization. A virtual instruction set architecture (V- ISA) thus
requires adding a processor-specific software translation layer to the compiler.

Hardware Abstraction Level

Hardware-level virtualization is performed right on top of the bare hardware. On the one hand, this
approach generates a virtual hardware environment for a VM. On the other hand, the process
manages the underlying hardware through virtualization. The idea is to virtualize a computer’s
resources, such as its processors, memory, and I/O devices. The intention is to upgrade the
hardware utilization rate by multiple users concurrently. The idea was implemented in the IBM
VM/370 in the 1960s. More recently, the Xen hypervisor has been applied to virtualize x86-based
machines to run Linux or other guest OS applications.

Department of Information Technology


Subject: Cloud Computing and Services Academic Year: 2019-20

Fig: Machine Level Abstraction

Operating System Level

This refers to an abstraction layer between traditional OS and user applications. OSlevel
virtualization creates isolated containers on a single physical server and the OS instances to utilize
the hard-ware and software in data centers. The containers behave like real servers. OS-level
virtualization is commonly used in creating virtual hosting environments to allocate hardware
resources among a large number of mutually distrusting users. It is also used, to a lesser extent, in
consolidating server hardware by moving services on separate hosts into containers or VMs on one
server.

Example: User ISA,OS system call

Department of Information Technology


Subject: Cloud Computing and Services Academic Year: 2019-20

Fig: OS level abstraction

Library Support Level

Most applications use APIs exported by user-level libraries rather than using lengthy system calls
by the OS. Since most systems provide well-documented APIs, such an interface becomes another
candidate for virtualization. Virtualization with library interfaces is possible by controlling the
communication link between applications and the rest of a system through API hooks. The
software tool WINE has implemented this approach to support Windows applications on top of
UNIX hosts. Another example is the vCUDA which allows applications executing within VMs to
leverage GPU hardware acceleration. 1.5 User-Application Level Virtualization at the application
level virtualizes an application as a VM. On a traditional OS, an application often runs as a process.
Therefore, application-level virtualization is also known as process-level virtualization. The most
popular approach is to deploy high level language (HLL) on VMs. In this scenario, the
virtualization layer sits as an application program on top of the operating system, and the layer
exports an abstraction of a VM that can run programs written and compiled to a particular abstract
Department of Information Technology
Subject: Cloud Computing and Services Academic Year: 2019-20

machine definition. Any program written in the HLL and compiled for this VM will be able to run
on it. The Microsoft .NET CLR and Java Virtual Machine (JVM) are two good examples of this
class of VM.

Other forms of application-level virtualization are known as application isolation, application


sandboxing, or application streaming. The process involves wrapping the application in a layer that
is isolated from the host OS and other applications. The result is an application that is much easier
to distribute and remove from user workstations. An example is the LANDesk application
virtualization platform which deploys software applications as self-contained, executable files in an
isolated environment without requiring installation, system modifications, or elevated security
privileges.

Fig: Library level abstraction

Department of Information Technology

You might also like