0% found this document useful (0 votes)
33 views98 pages

Understanding Virtualization Techniques

Basics of Virtualization - Types of Virtualizations, Taxonomy of Virtualization Techniques, Implementation Levels of Virtualization

Uploaded by

channahalladha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views98 pages

Understanding Virtualization Techniques

Basics of Virtualization - Types of Virtualizations, Taxonomy of Virtualization Techniques, Implementation Levels of Virtualization

Uploaded by

channahalladha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Module 2- Virtualization

Basics of Virtualization - Types of Virtualizations, Taxonomy of


Virtualization Techniques, Implementation Levels of Virtualization

3/26/2024 Virtualization-Module 2
Contents
3.1 Basics of Virtualization
3.1.1 Introduction
3.1.2 Characteristic of Virtualized Environments
3.3 Taxonomy of Virtualization Techniques
3.3.1 Execution Environment
1. Machine Reference Model
2. Hardware Level Virtualization
3. Hardware Virtualization Techniques
4. Operating system-level virtualization
5. Programming language-level virtualization
6. Application-level virtualization
3.3.2 Types of Virtualization
[Link] Virtualization.
[Link] Virtualization.
[Link] Virtualization.
[Link] Virtualization.
[Link] Virtualization.
[Link] virtualization.
3.4 Implementation Level of Virtualization
3/26/2024 Virtualization-Module 2
3.1 Basics of Virtualization

3/26/2024 Virtualization-Module 2
3.1.1 Introduction
Virtualization
• Virtualization is the creation of a virtual rather
than actual version of something, such as an
operating system, a server, a storage device or
network resources
• One of the fundamental Concepts of Cloud
Computing

3/26/2024 Virtualization-Module 2
What is Virtualization?

3/26/2024 Virtualization-Module 2
3/26/2024 Virtualization-Module 2
Why are virtualized environments so popular
today?
– Increased performance and computing capacity
● PCs are having immense computing power.
– Underutilized hardware and software resources
● Limited use of increased performance & computing
capacity.
– Lack of space
● Continuous need for additional capacity.
– Greening initiatives
● Reduce carbon footprints
● Reducing the number of servers, reduce power
consumption.
– Rise of administrative costs
● Power and cooling costs are higher then IT equipments.
3/26/2024 Virtualization-Module 2
Virtualized Environments
• Virtualization is a method of logically dividing
the system resources between different
applications
• Application Virtualization
• Desktop Virtualization
• Server Virtualization
• Network Virtualization
• Storage Virtualization
3/26/2024 Virtualization-Module 2
Applications
Application - level
Virtualization

Execution Stack Programming Languages


Programming
Language level
Virtualization

Operative Systems
OS- level Virtualization

Hardware
Hardware - level
Virtualization

3/26/2024 Virtualization-Module 2
● Three major components of
Virtualized Environments
– Guest – system component that interacts
with Virtualization Layer.
– Host – The host represents the original
environment where the guest is
supposed to be managed.
– Virtualization Layer –The virtualization
layer is responsible for recreating the same
or a different environment where the guest
3/26/2024
will operate. Virtualization-Module 2
Guest Virtual Image Applications Applications

Virtual Hardware Virtual Storage Virtual Networking


Virtualization Layer
Software Emulation

Host Physical Hardware Physical Storage Physical Networking

Virtualization Reference Model


3/26/2024 Virtualization-Module 2
3.1.2 Characteristics of VE
• Increased Security
• Managed Execution
✔ - Sharing
✔ - Aggregation
✔ - Emulation
✔ - Isolation
• Portability

3/26/2024 Virtualization-Module 2
Increased Security
– Ability to control the execution of a guest
– Guest is executed in emulated environment.
– Virtual Machine Manager control and filter the
activity of the guest.
– Hiding of resources.
– Having no effect on other
users/guest environment.

3/26/2024 Virtualization-Module 2
Managed Execution types
– Sharing
● Creating separate computing environment within the
same host.
● Underline host is fully utilized.
– Aggregation
● A group of separate hosts can be tied together and
represented as single virtual host.
– Emulation
● Controlling & Tuning the environment exposed to
guest.
– Isolation
● Complete separate environment for guests.
3/26/2024 Virtualization-Module 2
Managed Execution

3/26/2024 Virtualization-Module 2
Portability

– safely moved and executed on top of


different virtual machine.
– Application Development Cycle more flexible and
application deployment very straight forward
– Availability of system is with you.

3/26/2024 Virtualization-Module 2
3.3 Taxonomy of Virtualization
Techniques

3/26/2024 Virtualization-Module 2
Taxonomy of Virtualization Techniques
• Virtualization covers a wide range of emulation techniques
that are applied to different areas of computing.
• A classification of these techniques helps to better
understand their characteristics and use.
• Virtualization is mainly used to emulate execution
environment , storage and networks.
• Execution Environment classified into two :-
– Process-level – implemented on top of an existing operating
system.
– System-level – implemented directly on hardware and do not or
minimum requirement of existing operating system

3/26/2024 Virtualization-Module 2
Taxonomy of virtualization

3/26/2024 Virtualization-Module 2
3.3.1 Execution Virtualization
● It defines the interfaces between
the levels of abstractions, which
hide implementation details.
● Virtualization techniques actually replace
one of the layers and intercept the calls
that are directed towards it.

3/26/2024 Virtualization-Module 2
1. Machine Reference Model

● The model for Hardware is expressed in terms of the Instruction Set


Architecture (ISA).
– ISA for processor, registers, memory and the interrupt management.
● Application Binary Interface (ABI) separates the OS layer from the
application and libraries which are managed by the OS.
– System Calls defined
– Allows probabilities of applications and libraries across OS.
3/26/2024 Virtualization-Module 2
Machine Reference Model [Cont.]

● API – it interfaces applications to libraries


and/or the underlying OS.
● Layered approach simplifies the
development and implementation
of computing system.
● ISA has been divided into two security
classes:-
– Privileged Instructions
– Nonprivileged Instructions
3/26/2024 Virtualization-Module 2
ISA: Security Classes
● Nonprivileged instructions
– That can be used without interfering with other
tasks because they do not access shared
resources. Ex. Arithmetic , floating & fixed point.
● Privileged instructions
– That are executed under specific restrictions
and are mostly used for sensitive operations,
which expose (behavior-sensitive) or modify
(control-sensitive) the privileged state.
● Behavior-sensitive – operate on the I/O
● Control-sensitive – alter the state of the CPU
register.
3/26/2024 Virtualization-Module 2
Privileged
Hierarchy:
● Ring-0 is in mostSecurity Ring
privileged level
, used by the kernel.
● Ring-1 & 2 used by the OS-level
services
● and , R3 in the least privileged
level , used by the user.
● Recent system support two
levels :-
– Ring 0 – supervisor mode
– Ring 3 – user mode
3/26/2024 Virtualization-Module 2
2. Hardware-level virtualization
● It is a virtualization technique that provides an
abstract execution environment in terms of
computer hardware on top of which a guest OS
can be run.
● It is also called as system virtualization.
● A fundamental element of hardware virtualization
is the hypervisor, or Virtual Machine Manager
(VMM).
● It recreates a hardware environment, where guest
operating systems are installed.
3/26/2024 Virtualization-Module 2
Hardware-level virtualization

3/26/2024 Virtualization-Module 2
Hypervisor
● Hypervisor runs above the supervisor mode.
● It runs in supervisor mode.
● It recreates a h/w environment.
● It is a piece of s/w that enables us to run one
or more VMs on a physical server(host).
● Two major types of hypervisor
– Type -I
– Type-II

3/26/2024 Virtualization-Module 2
Type-I Hypervisor
● It runs directly on top of the hardware.
● Takes place of OS.
● Directly interact with the ISA exposed by the
underlying hardware.

● Also known as native virtual machine.


3/26/2024 Virtualization-Module 2
3/26/2024 Virtualization-Module 2
Type-II Hypervisor
● It require the support of an
operating system to provide
virtualization services.
● Programs managed by the
OS.
● Emulate the ISA of virtual
h/w.
● Also called hosted virtual
machine.

3/26/2024 Virtualization-Module 2
Virtual Machine Manager (VMM)
● Main Modules :-
– Dispatcher
● Entry Point of VMM
● Reroutes the instructions issued by VM instance.
– Allocator
● Deciding the system resources to be provided to the
VM.
● Invoked by dispatcher
– Interpreter
● Consists of interpreter routines
● Executed whenever a VM executes a privileged
instruction.
● Trap is triggered and the corresponding routine is
3/26/2024 executed. Virtualization-Module 2
Virtual Machine Manager (VMM)

3/26/2024 Virtualization-Module 2
Criteria of VMM

● The criteria that need to be met by a virtual


machine manager to efficiently support
virtualization were established by Goldberg
and Popek in 1974. Three properties have
to be satisfied:
● Equivalence – a guest running under the
control of a virtual machine manager
should exhibit the same behavior as when
executed directly on the physical host.
3/26/2024 Virtualization-Module 2
● Resource control – The virtual
machine manager should be in
complete control of virtualized
resources.
● Efficiency – a statistically
dominant fraction of the machine
instructions should be executed
without intervention from the
VMM. All safe guest instructions
are executed by the hardware
directly.
3/26/2024 Virtualization-Module 2
Theorems
● Popek and Goldberg provided a
classification of the instruction set and
proposed three theorems that define the
properties that hardware instructions need
to satisfy in order to efficiently support
virtualization.
● Classification of IS-
– Privileged Instructions
● Those that trap if the processor is in user mode and do not trap if it is in
system mode (supervisor mode).

● Control sensitive Instructions


● Those that attempt to change the configuration of resources in the
system.
3/26/2024 Virtualization-Module 2
Theorems-1
● Theorems 1
– For any conventional third-generation
computer, a VMM may be constructed if the
set of sensitive instructions for that computer
is a subset of the set of privileged
instructions.

3/26/2024 Virtualization-Module 2
Theorems
● Theorems 2
– A conventional third-generation computers is recursively
virtualizable if:
● It is virtualizable and
● A VMM without any timing dependencies can be constructed
for it.
● Recursive virtualization is the ability to run a virtual machine
manager on top of another virtual machine manager.
● This allows nesting hypervisors as long as the capacity of the
underlying resources can accommodate that. Virtualizable
hardware is a prerequisite to recursive virtualization

3/26/2024 Virtualization-Module 2
● Theorems 3 Theorems
– A hybrid VMM may be constructed third- generation machine in
which the set of user- sensitive instructions is a subset of the set
of privileged instructions.
– In HVM, more instructions are interpreted rather than being
executed directly.
– All instructions in virtual supervisor mode are interpreted.
Whenever there is an attempt to execute a behavior-sensitive
or control-sensitive instruction, HVM controls the execution
directly via a trap.
– Here all sensitive instructions are caught by HVM that are
simulated
Virtualization-Module 2
Full virtualization
● Full virtualization refers to the ability to run a program,
most likely an operating system, directly on top of a virtual
machine and without any modification,
● as though it were run on the raw hardware.
● To make this possible, virtual machine managers are
required to provide a complete emulation of the entire
underlying hardware

3/26/2024 Virtualization-Module 2
Full virtualization
-The principal advantage of full virtualization is complete
isolation, which leads to enhanced security, ease of
emulation of different architectures, and coexistence of
different systems on the same platform.

3/26/2024 Virtualization-Module 2
Full Virtualiztion

3/26/2024 Virtualization-Module 2
Full virtualization
- VMware can virtualize any x86 operating system using a
combination of binary translation and direct execution
techniques.
- This approach translates kernel code to replace non
virtualizable instructions with new sequences of
instructions that have the intended effect on the virtual
hardware.
- Meanwhile, user level code is directly executed on the
processor for high performance virtualization.

3/26/2024 Virtualization-Module 2
Full virtualization
- Each virtual machine monitor provides each Virtual
Machine with all the services of the physical system,
including a virtual BIOS, virtual devices and virtualized
memory management.
- This combination of binary translation and direct
execution provides Full Virtualization as the guest OS is
fully abstracted (completely decoupled) from the
underlying hardware by the virtualization layer.
- The guest OS is not aware it is being virtualized and
requires no modification.

3/26/2024 Virtualization-Module 2
Full virtualization
- Full virtualization is the only option that requires no
hardware assist or operating system assist to virtualize
sensitive and privileged instructions.
- The hypervisor translates all operating system
instructions on the fly and caches the results for future
use, while user level instructions run unmodified at native
speed.

3/26/2024 Virtualization-Module 2
3/26/2024 Virtualization-Module 2
● Paravirtualization
– Para-“ is an English affix of Greek origin that means "beside,"
"with," or "alongside.” Given the meaning “alongside
virtualization,” para virtualization refers to communication
between the guest OS and the hypervisor to improve performance
and efficiency.
– Para virtualization, involves modifying the OS kernel to replace non
virtualizable instructions with hyper calls that communicate directly
with the virtualization layer hypervisor.
– The hypervisor also provides hyper call interfaces for other critical
kernel operations such as memory management, interrupt
handling and time keeping.
3/26/2024 Virtualization-Module 2
3/26/2024 Virtualization-Module 2
- This is possible when the source code of the
operating system is available, and this is the reason
that para virtualization was mostly explored in the
open source and academic environment.
- While it is very difficult to build the more
sophisticated binary translation support necessary for
full virtualization, modifying the guest OS to enable
para virtualization is relatively easy

3/26/2024 Virtualization-Module 2
3/26/2024 Virtualization-Module 2
● Partial virtualization
● Partial virtualization provides a partial emulation of
the underlying hardware, thus not allowing the
complete execution of the guest operating system in
complete isolation.
● Partial virtualization allows many applications to run
transparently, but not all the features of the operating
system can be supported, as happens with full
virtualization.
3/26/2024 Virtualization-Module 2
An example of partial virtualization is address
space virtualization used in time-sharing
systems; this allows multiple applications and
users to run concurrently in a separate memory
space, but they still share the same hardware
resources (disk, processor, and network).

3/26/2024 Virtualization-Module 2
3/26/2024 Virtualization-Module 2
Hardware Assisted Virtualization
- Hardware vendors are rapidly embracing virtualization and
developing new features to simplify virtualization techniques.
- First generation enhancements include Intel Virtualization
Technology (VT-x) and AMD’s AMD-V which both target privileged
instructions with a new CPU execution mode feature that allows
the VMM to run in a new root mode below ring 0.
- privileged and sensitive calls are set to automatically trap to the
hypervisor, removing the need for either binary translation or para
virtualization.
- The guest state is stored in Virtual Machine Control Structures
(VT-x) or Virtual Machine Control Blocks (AMD-V). Processors with
Intel VT and AMD-V became available in 2006, so only newer
systems contain these hardware
3/26/2024 assist2 features
Virtualization-Module
3/26/2024 Virtualization-Module 2
Comparison between the Full Virtualization and
paravirtualization in Operating System
[Link] Full Virtualization ParaVirtualization

In paravirtualization, a virtual
In Full virtualization, virtual machines
machine does not implement full
permit the execution of the instructions
1 isolation of OS but rather provides a
with the running of unmodified OS in an
different API which is utilized when
entirely isolated way.
OS is subjected to alteration.

While the Paravirtualization is more


2. Full Virtualization is less secure.
secure than the Full Virtualization.

Full Virtualization uses binary translation While Paravirtualization uses


3. and a direct approach as a technique for hypercalls at compile time for
operations. operations.

Paravirtualization is faster in
Full Virtualization is slow than
3/26/20244. Virtualization-Module 2 operation as compared to full
paravirtualization in operation.
virtualization.
[Link] Full Virtualization ParaVirtualization

Full Virtualization is more portable and Paravirtualization is less portable and


5.
compatible. compatible.

Examples of full virtualization are Examples of paravirtualization are Microsoft


6.
Microsoft and Parallels systems. Hyper-V, Citrix Xen, etc.

The guest operating system has to be


It supports all guest operating systems
7. modified and only a few operating systems
without modification.
support it.

The guest operating system will issue Using the drivers, the guest operating system
8.
hardware calls. will directly communicate with the hypervisor.

It is less streamlined compared to


9. It is more streamlined.
para-virtualization.

It provides less isolation compared to full


10. It provides the best isolation.
3/26/2024 virtualization.
Virtualization-Module 2
Operating system-level virtualization
● Operating system-level virtualization offers the opportunity to create
different and separated execution environments for applications that are
managed concurrently.
● Differently from hardware virtualization, there is no virtual machine
manager or hypervisor, and the virtualization is done within a single
operating system, where the OS kernel allows for multiple isolated user
space instances.
• The kernel is also responsible for sharing the system resources among
instances and for limiting the impact of instances on each other.
• A user space instance in general contains a proper view of the file system,
which is completely isolated, and separate IP addresses, software
3/26/2024 Virtualization-Module 2
configurations, and access to devices.
Operating System Level Virtualization

3/26/2024 Virtualization-Module 2
• This virtualization technique can be considered an evolution of
the chroot mechanism in Unix systems.

• The chroot operation changes the file system root directory for a
process and its children to a specific directory.

• As a result, the process and its children cannot have access to


other portions of the file system than those accessible under the
new root directory.

• Because Unix systems also expose devices as parts of the file


system, by using this method it is possible to completely isolate a
set of processes.
3/26/2024 Virtualization-Module 2
• Following the same principle, operating system-level
virtualization aims to provide separated and multiple execution
containers for running application
• Compared to hardware virtualization, this strategy imposes little
or no overhead because applications directly use OS system
calls and there is no need for emulation.
• . On the other hand, operating system-level virtualization does
not expose the same flexibility of hardware virtualization, since all
the user space instances must share the same operating system
• Examples of operating system-level virtualizations are FreeBSD
Jails, IBM Logical Partition (LPAR), SolarisZones and Containers,
Parallels Virtuozzo Containers, OpenVZ, iCore Virtual Accounts,
Free Virtual Private Server (FreeVPS), and others.
3/26/2024 Virtualization-Module 2
5. Programming language-level
virtualization
● It is mostly used to achieve ease of deployment of
application, managed execution and portability
across different platform and OS.
● It consists of a virtual machine executing the byte
code of a program, which is the result of the
compilation process.
● Produce a binary format representing the machine
code for an abstract architecture.
● Example
– Java platform – Java virtual machine (JVM)
– .NET provides Common Language Infrastructure (CLI)

3/26/2024
● They are stack-based virtual machines
Virtualization-Module 2
• The Java virtual machine was originally designed for the
execution of programs written in the Java language, but
other languages such as Python, Pascal, Groovy, and
Ruby were made available.
• The ability to support multiple programming languages
has been one of the key elements of the Common
Language Infrastructure (CLI), which is the specification
behind .NET Framework

3/26/2024 Virtualization-Module 2
Advantage and Disadvantages

● The main advantage of programming-level virtual machines,


also called process virtual machines, is the ability to provide a
uniform execution environment across different platforms.
● Programs compiled into byte code can be executed on any
operating system and platform for which a virtual machine able
to execute that code has been provided.
● Virtual machine programming languages generally expose an
inferior performance compared to languages compiled against
the real architecture.
3/26/2024 Virtualization-Module 2
6. Application-level virtualization
● Application-level virtualization is a technique allowing
applications to be run in runtime environments that do not
natively support all the features required by such
applications.
● In this scenario, applications are not installed in the
expected runtime environment but are run as though they
were.
● In general, these techniques are mostly concerned with
partial file systems, libraries, and operating system
component emulation. Virtualization-Module 2
3/26/2024
Interpretation: In this technique every source instruction is
interpreted by an emulator for executing native ISA instructions,
leading to poor performance.
Interpretation has a minimal startup cost but a huge overhead, since
each instruction is emulated.
• Binary translation. In this technique every source instruction is
converted to native instructions with equivalent functions. After a
block of instructions is translated, it is cached and reused.
Binary translation has a large initial overhead cost, but over time it is
subject to better performance, since previously translated instruction
blocks are directly executed.

3/26/2024 Virtualization-Module 2
3.3.2 Types of Virtualization

3/26/2024 Virtualization-Module 2
1. Application Server Virtualization
• Application virtualization helps a user to have
remote access of an application from a server.
• The server stores all personal information and other
characteristics of the application but can still run on
a local workstation through the internet.
• Example of this would be a user who needs to run
two different versions of the same software.
• Technologies that use application virtualization are
hosted applications and packaged applications.
3/26/2024 • Virtualization-Module 2
2. Network Virtualization
● It combines h/w appliances and specific
software for the creation and management of a
virtual n/w.
● It can aggregate different physical networks
into a single logical network.
● The ability to run multiple virtual networks with
each has a separate control and data plan. It
co-exists together on top of one physical
network. It can be managed by individual
parties that potentially confidential to each
3/26/2024 Virtualization-Module 2
other.
2. Network Virtualization
•Network virtualization provides a facility to create and
provision virtual networks—logical switches, routers,
firewalls, load balancer, Virtual Private Network (VPN),
and workload security within days or even in weeks.

Examples of Network Virtualization :


Virtual LAN (VLAN) –
• The performance and speed of busy networks can be
improved by VLAN.
• VLAN can simplify additions or any changes to the
network.
3/26/2024 Virtualization-Module 2
3/26/2024 Virtualization-Module 2
3. Desktop Virtualization

• Desktop virtualization allows the users’ OS to be


remotely stored on a server in the data centre. It
allows the user to access their desktop virtually,
from any location by a different machine.
• Users who want specific operating systems
other than Windows Server will need to have a
virtual desktop.
• Main benefits of desktop virtualization are user
mobility, portability, easy management of
software installation, updates, and patches.
3/26/2024 Virtualization-Module 2
4. Storage Virtualization
• Storage virtualization is an array of servers that are
managed by a virtual storage system. The servers
aren’t aware of exactly where their data is stored,
and instead function more like worker bees in a hive.
• It makes managing storage from multiple sources
to be managed and utilized as a single
repository.
• storage virtualization software maintains smooth
operations, consistent performance and a
continuous suite of advanced functions despite
changes, break down and differences in the
3/26/2024 underlying equipment.
Virtualization-Module 2
Storage Virtualization

3/26/2024 Virtualization-Module 2
5. Server Virtualization
- The central-server(physical server) is divided into
multiple different virtual servers by changing the
identity number, processors. So, each system can
operate its own operating systems in isolate manner.
Where each sub-server knows the identity of the central
server.
- It causes an increase in the performance and reduces the
operating cost by the deployment of main server
resources into a sub-server resource.
- It’s beneficial in virtual migration, reduce energy
consumption, reduce infrastructural cost, etc.
3/26/2024 Virtualization-Module 2
6. Data Virtualization
- This can be defined as the type of Virtualization wherein
data are sourced and collected from several sources
and managed from a single location.
- No technical knowledge from where such data is
sourced and collected, stored, or formatted for such
data.
- The data is arranged logically, and the interested parties
and stakeholders then access the virtual view of such
data. These are reports are also accessed by end-users
on a remote basis.
3/26/2024 Virtualization-Module 2
3.4 Virtualization and cloud computing
• Virtualization plays an important role in cloud
computing
• Virtualization technologies are primarily used
to offer configurable computing environments
and storage.
• Hardware virtualization is an enabling factor
for solutions in the (IaaS) market segment
• programming language virtualization is a
3/26/2024 technology leveraged in (PaaS)
Virtualization-Module 2 offerings.
Server Consolidation and VM Migration

Server consolidation- when resources are under utilized,


because it allows reducing the number of active resources by
aggregating virtual machines over a smaller number of
resources that become fully utilized.

VM Migration - the movement of virtual machine instances


among servers is called virtual machine migration

3/26/2024 Virtualization-Module 2
Server consolidation and virtual machine
migration
3/26/2024 Virtualization-Module 2
Pros and cons of virtualization
• Advantages of Virtualization
✔ Reduced spending
✔ Portability
✔ Efficient use of resources.
✔ Easier backup and disaster recovery
✔ Better business continuity

3/26/2024 Virtualization-Module 2
Pros and cons of virtualization
• Disadvantages of Virtualization
✔ Performance decrease of guest systems as a result of the
intermediation performed by the virtualization layer.
✔ In addition, suboptimal use of the host because of the
abstraction layer introduced by virtualization management
software can lead to a very inefficient utilization of the host or a
degraded user experience.
✔ more dangerous, are the implications for security, which are
mostly due to the ability to emulate a different execution
environment.
3/26/2024 Virtualization-Module 2
3.4 Implementation levels of virtualization
Levels of Virtualization

3/26/2024 Virtualization-Module 2
Levels of Virtualization
1) Instruction Set Architecture Level (ISA)
- ISA virtualization can work through ISA emulation.
This is used to run many legacy codes that were written
for a different configuration of hardware. These codes
run on any virtual machine using the ISA.
- With this, a binary code that originally needed some
additional layers to run is now capable of running on
the x86 machines. It can also be tweaked to run on the
x64 machine..

3/26/2024 Virtualization-Module 2
- For the basic emulation, an interpreter is needed, which
interprets the source code and then converts it into a
hardware format that can be read. This then allows
processing.

3/26/2024 Virtualization-Module 2
Levels of Virtualization
2) Hardware Abstraction Level (HAL)
- HAL lets the virtualization perform at the level of the hardware.
This makes use of a hypervisor which is used for functioning.
- At this level, the virtual machine is formed, and this manages
the hardware using the process of virtualization.
- It allows the virtualization of each of the hardware components,
which could be the input-output device, the memory, the
processor, etc.
- Multiple users will not be able to use the same hardware and
also use multiple virtualization instances at the very same
time. This is mostly used in the cloud-based infrastructure.
3/26/2024 Virtualization-Module 2
Levels of Virtualization
3) Operating System Level
- At the level of the operating system, the virtualization model is
capable of creating a layer that is abstract between the operating
system and the application. This is an isolated container that is
on the operating system and the physical server, which makes use
of the software and hardware. Each of these then functions in
the form of a server.
- When there are several users, and no one wants to share the
hardware, then this is where the virtualization level is used. Every
user will get his virtual environment using a virtual hardware
resource that is dedicated. In this way, there is no question of any
conflict.
3/26/2024 Virtualization-Module 2
Levels of Virtualization

4) Library Level
- The operating system is cumbersome, and this is when the
applications make use of the API that is from the libraries at a
user level. These APIs are documented well, and this is why
the library virtualization level is preferred in these
scenarios. API hooks make it possible as it controls the link
of communication from the application to the system.

3/26/2024 Virtualization-Module 2
Levels of Virtualization
5) Application Level
- The application-level virtualization is used when there is a desire to
virtualize only one application and is the last of the implementation
levels of virtualization in cloud computing. One does not need to
virtualize the entire environment of the platform.
- This is generally used when you run virtual machines that use
high-level languages. The application will sit above the virtualization
layer, which in turn sits on the application program.
- It lets the high-level language programs compiled to be used in the
application level of the virtual machine run seamlessly.

3/26/2024 Virtualization-Module 2
Tools and Products available for Virtualization
RedHat Virtualization

This system was developed by Red Hat Software. It is written in Java. Its first version was released in June
2010. Red Hat Enterprise Virtualization, or RHEV, provides a RHEL-based centralized management server
with a web-based interface for managing virtual machines (VMs) called the RHEV Manager. Red Hat
Enterprise Virtualization is based on open standards and works with Linux and Windows, as well as
enterprise applications like SAP, SAS and Oracle

Features
∙ Applications run fast in virtualization as well. Hence in the top features, they promise improved
performance.
∙ It is an open-source system. So you can make it, to integrate with the systems as per your requirement.
∙ It is easy to use, setup and manage.

3/26/2024 Virtualization-Module 2
Tools and Products available for Virtualization
Microsoft Hyper-V

Microsoft released Hyper-V in 2016. Hyper-V is virtualization software that, well, virtualizes software. It
can not only virtualize operating systems but also entire hardware components, such as hard drives and
network switches. Unlike other virtualization tools, Hyper-V is not limited to the user’s device. You can use
it for server virtualization, too.

Features
∙ Hardware virtualization.
∙ It can run multiple virtual machines.
∙ These virtual machines can be used with Azure. Thus, we can say that Microsoft Hyper-V supports a
cloud-based platform

3/26/2024 Virtualization-Module 2
Tools and Products available for Virtualization
VMware Workstation

With the help of this system, you can run multiple OS. This system is for Linux or Windows OS users. This
system is specially developed for IT professionals and developers. It will help developers to develop the
software to be compatible for multiple OS/platform..
Features
∙ It supports multiple OS that can be run on Linux or Windows PC.
∙ This system can work with the cloud. This feature is ‘vSphere Connectivity’. VMware vSphere is a
cloud-based platform for virtualization.
∙ It will allow you to keep different privacy settings and network configurations for another PC that is
virtual.
∙ Transferring data to and from the virtual machine to your PC is easier.
∙ ‘Helpful Snapshot’ feature helps in software testing.

3/26/2024 Virtualization-Module 2
Tools and Products available for Virtualization
VMware Fusion

VMware Fusion is an easy-to-use application that gives you the possibility to set up and use a virtual
machine of the Windows operating system on your Intel-based Mac. In addition to Windows, you can
install Linux, NetWare, or Solaris. VMware Fusion gives Mac users the power to run Windows on Mac
along with hundreds of other operating systems side by side with Mac applications, without rebooting.
Fusion is simple enough for home users and powerful enough for IT professionals, developers and
businesses.
Features
∙ It provides solutions for IT professionals, developers, and businesses.
∙ You can use multiple applications on different OS at the same time. There will be no need to reboot.
∙ Fusion Pro provides the facility of integration with many development tools.
∙ VMware Fusion can be connected with VMware vSphere. vSphere provides a cloud-based platform for
virtualization.
∙ It can be integrated with third-party software for data center topologies. This feature is available with
Fusion Pro.
3/26/2024 Virtualization-Module 2
Tools and Products available for Virtualization
Vagrant

Vagrant is an open source virtualization tool which developed by Hashicorp and written in Ruby, but it can
be used in projects written in other programming languages such as PHP, Python, Java, C#, and
JavaScript. This tool which works on command-line that provides a framework and configuration format
for creating, managing and distributing virtualized development environments. These environments can
live on your computer or in the cloud, and are portable between Linux, Mac OS X, and Windows.

Vagrant has a differentiating feature – Vagrant Share that enables users to share their running Vagrant
environment via the internet. This makes it easy to collaborate and share on development environments
thus creating consistent working environments for teams of software developers using a virtual machine.
Vagrant can also work alongside configuration management tools like Puppet and Chef.

3/26/2024 Virtualization-Module 2
Tools and Products available for Virtualization
Features-
∙ Creates a virtual machine for you based on an operating system of your choice.
∙ Modifies the physical properties of this virtual machine (e.g., RAM, number of CPUs, etc.).
∙ Establishes network interfaces so that you can access your virtual machine from your own computer,
another device on the same network, or even from another virtual machine.
∙ Sets up shared folders so that you can continue editing files on your own machine and have those
modifications mirror over to the guest machine.
∙ Boots the virtual machine so that it is running.
∙ Sets the hostname of the machine, since a lot of software depends on this being properly set.
∙ Provisions software on the machine via a shell script or configuration management solution such as
Chef, Puppet, or a custom solution

3/26/2024 Virtualization-Module 2
3/26/2024 Virtualization-Module 2
3/26/2024 Virtualization-Module 2
3/26/2024 Virtualization-Module 2
3/26/2024 Virtualization-Module 2

You might also like