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

Chapter 2 (1)

Virtualization creates secure, customizable, and isolated environments for running applications, enhancing security and resource utilization. It encompasses various implementation levels, including full and paravirtualization, each with distinct characteristics and use cases. While virtualization offers significant benefits in cloud computing, such as efficient hardware utilization and disaster recovery, it also presents challenges like data security risks and high initial investments.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Chapter 2 (1)

Virtualization creates secure, customizable, and isolated environments for running applications, enhancing security and resource utilization. It encompasses various implementation levels, including full and paravirtualization, each with distinct characteristics and use cases. While virtualization offers significant benefits in cloud computing, such as efficient hardware utilization and disaster recovery, it also presents challenges like data security risks and high initial investments.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 30

Chapter 2:

Virtualization
Virtualization
• Virtualization allows the creation of a secure, customizable, and isolated execution
environment for running applications, even if they are untrusted, without affecting
other users’ applications.
• Virtualization is a large umbrella of technologies and concepts that are meant to
provide an abstract environment—whether virtual hardware or an operating system—to
run applications.
• Virtualization technologies have gained renewed interested recently due to the
confluence of several phenomena:
• Increased performance and computing capacity.
• Underutilized hardware and software resources.
• Lack of space
• Greening initiatives.
• Rise of administrative costs
Characteristics of virtualized environments
Increased security
• Increased security is a requirement when
dealing with untrusted code.
• For example,applets downloaded from the
Internet run in a sandboxed3 version of the
Java Virtual Machine(JVM), which provides
them with limited access to the hosting
operating system resources. Both the JVM and
the .NET runtime provide extensive security
policies for customizing the execution
environment of applications
Managed execution
• Virtualization of the execution environment not only allows increased security, but a wider range of features
also can be implemented.
• Sharing, aggregation, emulation, and isolation are them most relevant features

• Sharing. Virtualization allows the creation of a separate computing environments within the same host.
• Aggregation. Not only is it possible to share physical resource among several guests, but virtualization also
allows aggregation, which is the opposite process.
• Emulation. Guest programs are executed within an environment that is controlled by the virtualization layer,
which ultimately is a program. This allows for controlling and tuning the environment that is exposed to
guests.
• Isolation. Virtualization allows providing guests—whether the yare operating systems, applications, or other
entities—with a completely separate environment, in which they are executed.
Portability
• portability allows having your own system always with you and ready to use as long as the
required virtual machine manager is available.
• This requirement is, in general, less stringent than having all the applications and services you
need available to you anywhere you go.
Implementation Levels of
Virtualization.
• Virtualization is not that
easy to implement.
• A computer runs an OS that
is configured to that
particular hardware.
• Running a different OS on
the same hardware is not
exactly feasible.
• To tackle this, there exists a
hypervisor.
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 ISA, it is possible to make the virtual machine hardware
agnostic.
• This is one of the five implementation levels of virtualization in cloud
computing.
Hardware Abstraction Level
(HAL)
• At this level, the virtual machine is formed, and this manages the
hardware using the process of virtualization.
• 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.
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.
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.
Application Level
• 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.
Full Virtualization
• In this, the guest OS is fully isolated
using the virtual machine from the
virtualization layer and hardware.
• Examples of full virtualization include
Microsoft and Parallels systems.
• The virtual machine permits the
execution of the instructions in
addition to running the unmodified
OS in a completely isolated method.
• It is considered to be less secure in
comparison to paravirtualization.
Paravirtualization
• Here, the guest OS isn't isolated fully,
but is partially isolated from the
virtualization layer and hardware
with the help of the virtual machine.
• Examples of paravirtualization
include VMware and Xen.
• The virtual machine doesn't
implement full isolation of OS.
• It just provides a different API that
can be utilized when the OS is
subjected to changes.
Difference between Full Virtualization and
Paravirtualization:
S.No. Full Virtualization Paravirtualization
In paravirtualization, virtual machine does not
In Full virtualization, virtual machine permit the
implement full isolation of OS but rather provides a
1. execution of the instructions with running of
different API which is utilized when OS is subjected to
unmodified OS in an entire isolated way.
alteration.
While the Paravirtualization is more secure than the Full
2. Full Virtualization is less secure.
Virtualization.
Full Virtualization uses binary translation and While Paravirtualization uses hypercalls at compile time
3.
direct approach as a technique for operations. for operations.
Full Virtualization is slow than paravirtualization Paravirtualization is faster in operation as compared to
4.
in operation. full virtualization.
Full Virtualization is more portable and
5. Paravirtualization is less portable and compatible.
compatible.
Examples of full virtualization are Microsoft and
6. Examples of paravirtualization are VMware and Xen.
Parallels systems.
A taxonomy of virtualization
techniques
3.3.1 Execution virtualization

• Execution virtualization includes all techniques that aim to emulate an execution


environment that is separate from the one hosting the virtualization layer.
• Therefore, execution virtualization can be implemented directly on top of the hardware by
the operating system, an application, or libraries dynamically or statically linked to an
application image
Machine reference model
• Virtualizing an execution
environment at different levels of the
computing stack requires a reference
model that defines the interfaces
between the levels of abstractions,
which hide implementation details.
Privileged and nonprivileged instructions
• Nonprivileged instructions are those instructions that can be used without interfering with
other tasks because they do not access shared resources.
• Privileged instructions are those that are executed under specific restrictions and are
mostly used for sensitive operations.
hierarchy of privileges
• A possible implementation features a hierarchy of privileges in the form of ring-based
security: Ring 0, Ring 1, Ring 2, and Ring 3
Hardware-level virtualization
• In this model, the guest is represented
by the operating system, the host by
the physical computer hardware, the
virtual machine by its emulation, and
the virtual machine manager by the
hypervisor.

A hardware virtualization reference model


Hypervisors
• Fundamental element of
hardware virtualization is the
hypervisor, or virtual machine
manager (VMM).
• It recreates a hardware
environment in which guest
operating systems are
installed.
• There are two major types of
hypervisor:
Type I and Type II
A hypervisor reference architecture.
• Three main modules, dispatcher,
allocator, and interpreter
Hardware virtualization techniques
• Full virtualization.
• Paravirtualization
• Partial virtualization.
Operating system-level virtualization
• Operating system-level virtualization offers the opportunity to create different and
separated execution environments for applications that are managed concurrently.
• The kernel is also responsible for sharing the system resources among instances and for
limiting the impact of instances on each other.
• Operating systems supporting this type of virtualization are general-purpose, time- shared
operating systems
• 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.h the capability
to provide stronger namespace and resource isolation.
Programming language-level virtualization
• It is mostly used to achieve ease of deployment of applications, managed
execution, and portability across different platforms and operating
systems.
• It consists of a virtual machine executing the byte code of a program,
which is the result of the compilation process.
• The characteristics of this architecture vary from implementation to
implementation.
Application-level virtualization
• These techniques are mostly concerned with partial file systems,
libraries, and operating system component emulation.
• Following strategies can be implemented:
• Interpretation.
• Binary translation.
Other types of virtualization
• Storage virtualization : Using this technique, users do not have to
be worried about the specific location of their data, which can be identified using a
logical path

• Network virtualization : Network virtualization can aggregate different physical


networks into a single logical network or provide network-like functionality to an
operating system partition.

• Desktop virtualization : provides the same outcome of hardware virtualization


but serves a different purpose.

• Application server virtualization : Application server virtualization abstracts a


collection of application servers.
Virtualization and cloud computing
Pros and cons of virtualization
Pros of Virtualization in Cloud Computing :
1. Utilization of Hardware Efficiently –
2. Availability increases with Virtualization –
3. Disaster Recovery is efficient and easy –
4. Virtualization saves Energy –
5. Quick and Easy Set up –
6. Cloud Migration becomes easy –

Cons of Virtualization :
7. Data can be at Risk –
8. Learning New Infrastructure –
9. High Initial Investment –

You might also like