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

Unit1 Virtualization

This document discusses different types of virtualization including full virtualization, para-virtualization, and hardware-assisted virtualization. It explains that full virtualization allows unmodified guest operating systems but has lower performance, while para-virtualization requires guest OS modifications but has better performance. Hardware-assisted virtualization uses CPU instructions to virtualize and has good performance while still supporting unmodified guest OSs. Key terms like hypervisor, hypercalls, and virtual machines are also defined.

Uploaded by

dsklfhkshf
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)
44 views

Unit1 Virtualization

This document discusses different types of virtualization including full virtualization, para-virtualization, and hardware-assisted virtualization. It explains that full virtualization allows unmodified guest operating systems but has lower performance, while para-virtualization requires guest OS modifications but has better performance. Hardware-assisted virtualization uses CPU instructions to virtualize and has good performance while still supporting unmodified guest OSs. Key terms like hypervisor, hypercalls, and virtual machines are also defined.

Uploaded by

dsklfhkshf
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/ 38

CSE 423

• Unit-1
• Part a

Abhishek
Virtualization
Modern computing is more efficient
due to virtualization
Lets think like this
• Have you ever wished you could clone yourself?
• If you could, would you be more efficient?
Would you do more?
• Virtualization enables computers to be more
efficient in a similar fashion
• Computers that use virtualization optimize the
available compute resources
Lets ponder on this...
• Do you use a smartphone, laptop or home
computer?
• Smartphones, laptops or home computers are
hardware
• Similar to how your brain controls your actions,
software controls hardware
• There are different types of software that control
computer actions
What is a VM
• Virtualization creates virtual hardware by
cloning physical hardware
• The hypervisor uses virtual hardware to create
a virtual machine (VM)
• A VM is a set of files
• With a hypervisor and VMs, one computer can
run multiple OS simultaneously
Terminologies
• Host Operating System: The operating system via which the Virtual
Machines are run. For Type 1 Hypervisors, as in Hyper-V, the hypervisor itself
is the Host OS which schedules the virtual machines and allocates memory.
For Type 2 hypervisors, the OS on which the hypervisor applications run is the
Host OS.
• Guest Operating System: The operating system that uses virtualized
hardware. It can be either Fully Virtualized or Para Virtualized. An enlightened
guest OS knows that its a virtualized system which can improve performance.
• Virtual Machine Monitor: VMM is the application that virtualizes hardware
for a specific virtual machine and executes the guest OS with the virtualized
hardware.
Concepts
• Virtualization is technology that allows you to
create multiple simulated environments or
dedicated resources from a single, physical
hardware system.
• Software called a hypervisor connects directly to
that hardware and allows you to split 1 system
into separate, distinct, and secure environments
known as virtual machines (VMs). 
Hypervisors
• A hypervisor is a process or a function to isolate operating system
and applications from the underlying hardware.
• Though virtual machines operate on the same physical hardware,
they are separated from each other. This also depicts that if one
virtual machine undergoes a crash, error, or a malware attack, it
doesn't affect the other virtual machines.
• Another benefit is that virtual machines are very mobile as they
don't depend on the underlying hardware. Since they are not linked
to physical hardware, switching between local or remote virtualized
servers gets a lot easier as compared to traditional applications.
Types of Hypervisor
• A type-I hypervisor operates directly on the host's
hardware to monitor hardware and guest virtual
machines, and it's referred to as the bare metal.
• A type-II, also called a hosted hypervisor because
it is usually installed onto an existing operating
system. They are not much capable to run more
complex virtual tasks. Used for basic
development, testing, and emulation.
Type 2 Hypervisor Type 1 Hypervisor
Differences
What's the difference between virtualization and cloud
computing?
• It's easy to confuse the two, particularly because they both
revolve around separating resources from hardware to create a
useful environment. Virtualization helps create clouds, but
that doesn't make it cloud computing. Think about it like this:
• Virtualization is a technology that separates functions from
hardware
• Cloud computing is more of a solution that relies on that split
X86 Virtualization
• 1990’s
– x86 virtualization was achieved by complex software techniques
• 2005’s
– Intel: VT-X
• (codenamed: Vanderpool)
– AMD:AMD-V
• (codenamed Pacifica)
– limited hardware virtualization support that allowed simpler
virtualization software but offered very few speed benefits.
• 2008
– Microsoft’s Hyper V
– (codenamed: Viridian)
X86 Virtualization
• x86 virtualization refers to hardware and
software-based mechanisms to support
virtualization for processors based on
the x86 architecture. 
• Using a hypervisor , it
allows several operating systems to be run
in parallel on an x86 processor and
resources to be distributed in an isolated
and efficient manner between the
operating systems running in parallel. 
X86 Virtualization
• x86 virtualization refers to hardware and
software-based mechanisms to support
virtualization for processors based on
the x86 architecture. 
• Using a hypervisor , it
allows several operating systems to be run
in parallel on an x86 processor and
resources to be distributed in an isolated
and efficient manner between the
operating systems running in parallel. 
X86 Virtualization
• In order to be able to allocate resources exclusively to the guest systems running in
parallel, only the host operating system or the hypervisor may be granted direct
access to the processor hardware,
• while the guest systems, like all other applications, may only have limited access
rights to the hardware. 
• In particular, it can be prevented that the guest systems can see or change memory
areas that the hypervisor needs for management.
• The protected mode was introduced in the x86 world . 
• With it, four different protection levels or privilege levels, known as rings,
were introduced.
• These levels, grant the code segments running on them different rights. 
• Only with the introduction of this concept was it possible to implement virtualization
based on the x86 architecture:
• In protected mode, the operating system kernel runs in a more privileged mode, called 
Ring 0 , and applications in a less privileged mode, in usually either ring 1 or ring 3.
• The hypervisor or the host
operating system are
executed with ring 0
authorization due to their
privileged position in
resource management. 
• In order to guarantee the
protection of the
hypervisor resources,
guest systems must
therefore be run either at
authorization level Ring 1
(in the so-called Ring 3).
Types of Hardware Virtualization

• Full Virtualization
• Para-virtualization
• Hardware Assisted Virtualization
What to change
•Based on how much change is required and at what level
•Categories
–Modified Guest OS
•Operating system level
•Para-virtualization.
–Unmodified Guest OS
•Binary Translations
•Hardware assisted
Full virtualization
• In the full virtualization technique, the hypervisor completely simulates the
underlying hardware.
• The main advantage of this technique is that it allows the running of the
unmodified OS.
• In full virtualization, the guest OS is completely unaware that it’s being
virtualized.
• Full virtualization uses a combination of direct execution and binary
translation.
– This allows direct execution of non-sensitive CPU instructions,
– whereas sensitive CPU instructions are translated on the fly. To improve
performance, the
• hypervisor maintains a cache of the recently translated instructions.
• VMware’s ESXi server uses this technique to achieve server virtualization.
Para Virtualization
• In paravirtualization, the hypervisor doesn’t simulate underlying hardware.
• Instead, it provides hypercalls.
• The guest OS uses hypercalls to execute sensitive CPU instructions.
• This technique is not as portable as full virtualization, as it requires
modification in the guest OS.
• However, it provides better performance because the guest OS is aware that it’s
being virtualized.
• Hypercalls are similar to kernel system calls. They allow the guest OS to
communicate with the hypervisor.
• The open-source Xen project uses the paravirtualization technique.
Hardware-assisted Virtualization
• Also known as native virtualization, in this technique, underlying
hardware provides special CPU instructions to aid virtualization.
This technique is also highly portable as the hypervisor can run an
unmodified guest OS. This technique makes hypervisor
implementation less complex and more maintainable.
• Intel’s Intel-VT and AMD’s AMD-V processors provide CPU
virtualization instructions that software vendors use to implement
hardware-assisted virtualization.
Comparisons
HARDWARE
FULL PARA
PARAMETER ASSISTED
VIRTUALIZATION VIRTUALIZATION
VIRTUALIZATION
Generation 1st 2nd 3rd
Better in certain
Performance Good Fair
cases
VMware, Microsoft, VMware, Xen,
Used By VMware, Xen
KVM Microsoft, Parallels
Guest OS Codified to issue
Unmodified Unmodified
modification hypercalls
Guest OS hypervisor XenLinux runs only
Yes Yes
independent? on Hypervisor
Exit to root mode on
Technique Direct execution Hypercalls
privileged instruction
Compatibility Excellent
Poor Excellent
Types of Virtualization
• Apart from hardware virtualization,
other types of virtualization include:
» Application Virtualization
» Data Virtualization
» Desktop Virtualization
» Network Virtualization
» Server Virtualization
» Storage Virtualization
Application virtualization
• The process of installing an application
on a central server (single computer
system) that can virtually be operated
on multiple systems is known as
application virtualization.
• For end users, the virtualized
application works exactly like a native
application installed on a physical
machine.
• With application virtualization, it’s easier
for organizations to update, maintain,
and fix applications centrally.
• Admins can control and modify access
permissions to the application without
logging in to the user’s desktop.
• Virtualizing an app allows for seamless use for the end-user, making it possible for the
employee to work remotely with the same key programs installed in the office.
• When virtualized, apps work in what is called a sandbox, an environment that runs
separately from the operating system.
• While operating in this sandbox, any changes will appear to run in the operating
system, though the app is pulling operating power from the sandbox.
• There are two distinct kinds of application virtualization:
– Remote applications run on a server that mimics the user desktop and can be
accessed by authorized users regardless of their location.
– Streaming apps run just one instance on the server and provide local access to the
app.
• Remote app streaming is the more popular approach, thanks to the extended reach it
grants.
• With just one instance of the app to manage and fix, an organization’s IT professionals
can save time and effort through app virtualization compared to installing the app on
each user’s computer.
Data Virtualization
• Data virtualization is a logical data layer that
integrates all enterprise data siloed (isolated from
others.) across the disparate systems, manages the
unified data for centralized security and
governance, and delivers it to business users in
real time..
Desktop virtualization
• Desktop virtualization is a method of simulating a user workstation
so it can be accessed from a remotely connected device. By
abstracting the user desktop in this way, organizations can allow
users to work from virtually anywhere with a network connecting,
using any desktop laptop, tablet, or smartphone to access enterprise
resources without regard to the device or operating system employed
by the remote user.
• Remote desktop virtualization is also a key component of digital
workspaces Virtual desktop workloads run on desktop virtualization
servers which typically execute on virtual machines (VMs) either at
on-premises data centers or in the public cloud.
• Since the user devices is basically a display, keyboard, and mouse, a
lost or stolen device presents a reduced risk to the organization. All
user data and programs exist in the desktop virtualization server, not
on client devices.
Network virtualization
• Network virtualization helps manage and monitor the entire
computer network as a single administrative entity. Admins
can keep a track of various elements of network infrastructure
such as routers and switches from a single software-based
administrator’s console. Network virtualization helps network
optimization for data transfer rates, flexibility, reliability,
security, and scalability. It improves the overall network’s
productivity and efficiency. It becomes easier for
administrators to allocate and distribute resources
conveniently and ensure high and stable network
performance.
Server virtualization
Storage virtualization
• Storage virtualization performs resource abstraction in a
way that the multiple physical storage arrays are
virtualized as a single storage pool with direct and
independent access.
• The storage virtualization software aggregates and
manages storage in various storage arrays and serves it to
applications whenever needed.
• The centralized virtual storage increases flexibility and
availability of resources needed. This data virtualization
and centralization is easily manageable from a central
console. It allows users to manage and access multiple
arrays as a single storage unit.

You might also like