�Chapter 3 – Virtualisation�
1
9/6/2024
Virtualization
2
9/6/2024
Virtualization
It is the ability of a computer program or a combination of software and hardware—to emulate an executing environment separate from the one that hosts such programs.
It is the process of creating a software-based (or virtual) representation of something rather than a physical one.
3
9/6/2024
Motivation for Virtualization
4
9/6/2024
can be resolved using server consolidation
3 Components of virtualized environments
5
9/6/2024
6
9/6/2024
Virtualization Layer
Virtual Hardware
Virtual Networking
Virtual Storage
Software Emulation
Host
Physical Hardware
Physical Storage
Physical Networking
Guest
Applications
Applications
Virtual Image
Virtualization Reference Model.
Characteristics of virtualized environments
7
9/6/2024
8
9/6/2024
Aggregation
Sharing
Emulation
Isolation
Virtualization
Physical Resources
Virtual Resources
Levels of virtualization techniques
9
9/6/2024
Operative Systems
Execution Stack
Hardware - level Virtualization
Hardware
Programming Languages
Applications
OS- level Virtualization
Programming Language level Virtualization
Application - level Virtualization
Taxonomy of virtualization techniques
10
9/6/2024
Other types of virtualization techniques
11
Virtualization
Execution Environment
Storage
Network
….
Emulation
High-Level VM
Multiprogramming
Hardware-assisted
Virtualization
Process Level
System Level
Paravirtualization
Full Virtualization
How it is done?
Technique
Virtualization Model
Application
Programming Language
Operating System
Hardware
Partial Virtualization
Execution virtualization
Aims to emulate an execution environment that is separate from the one hosting the virtualization layer.
12
9/6/2024
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
Based on layer approach
13
9/6/2024
Machine reference model
14
9/6/2024
Security rings and privilege modes
15
9/6/2024
Hardware-level virtualization
16
9/6/2024
Hypervisors
2 types
17
9/6/2024
Hardware virtualization techniques
18
9/6/2024
Limitations:
1.full virtualization is usually bit slower, because of all emulation.
2.hypervisor contain the device driver and it might be difficult for new device drivers to be installed by users.
Hardware virtualization techniques
19
9/6/2024
3. Para virtualization:
1.unlike full virtualization, guest servers are aware of one another.
2. Hypervisor does not need large amounts of processing power to manage guest os.
3 .The entire system work as a cohesive unit.
Advantages:
Limitations:
Partial virtualization
20
9/6/2024
Operating system-level virtualization
21
9/6/2024
Operating system-level virtualization offers the opportunity to create different and separated execution environments for applications that are managed concurrently
Programming Language level Virtualization
22
9/6/2024
23
9/6/2024
Storage virtualization
24
9/6/2024
Host
VMM
Virtual Machine
binary translation
instruction mapping
interpretation
……
Guest
In memory
representation
Storage
Virtual Image
Host emulation
25
9/6/2024
ABI
Hardware
Operative System
ISA
Virtual Machine Manager
ISA
VM
VM
VM
VM
Hardware
ISA
Virtual Machine Manager
ISA
VM
VM
VM
VM
26
9/6/2024
Virtual Machine Manager
ISA
Virtual Machine Instance
Instructions (ISA)
Interpreter
Routines
Interpreter
Routines
Allocator
Dispatcher
27
9/6/2024
User Instructions
Sensitive Instructions
Privileged Instructions
28
9/6/2024
Server A
(running)
VM
VM
VM
VM
Server B
(running)
Virtual Machine Manager
VM
VM
Server A
(running)
VM
VM
VM
VM
Server B
(inactive)
Virtual Machine Manager
VM
VM
Before Migration
After Migration
Advantages of virtualization
29
9/6/2024
Xen: paravirtualization
30
9/6/2024
31
9/6/2024
Xen Hypervisor (VMM)
User Domains (Domain U)
User Applications
(unmodified ABI)
Management Domain (Domain 0)
Ring 3
Ring 2
Ring 1
Ring 0
Hardware (x86)
Privileged instructions
Hardware trap
VMware: full virtualization
32
9/6/2024
33
9/6/2024
Hypervisor
Guest Operating System
User Applications
(unmodified ABI)
Ring 3
Ring 2
Ring 1
Ring 0
Hardware (x86)
Hardware trap (sensitive instructions)
Dynamic / cached translation
(sensitive instructions)
Microsoft Hyper-V
34
9/6/2024
Latest Pictures.
35
9/6/2024
Hardware (x86)
Hypervisor
(Ring -1)
Hypercalls
MSRs
APIC
Scheduler
Address Management
Partition
Management
Root / Parent Partition
VMWPs
VMMS
WMI
Hypervisor-aware Kernel (Ring 0)
VSPs
VID
WinHv
I/O Stack
Drivers
VMBus
Enlightened Child Partition
User Applications
(Ring 3)
Hypervisor-aware
Wndows Kernel (Ring 0)
VSCs / ICs
WinHv
I/O Stack
Drivers
VMBus
Enlightened Child Partition
User Applications
(Ring 3)
Hypervisor-aware
Linux Kernel (Ring 0)
VSCs / ICs
LinuxHv
I/O Stack
Drivers
VMBus
Unenlightened Child Partition
User Applications
(Ring 3)
Hypervisor-unaware
Kernel (Ring 0)
Processor
Memory
36
9/6/2024
Hardware (x86)
Host Operating System
VMware Hypervisor (VMM)
VMware Driver
Virtual Machine Instance
User Applications
VMware Workstation
Guest Operating System
User Applications
I/O
37
9/6/2024
Hardware (x86)
Host Operating System
VMware Hypervisor (VMM)
VMware Driver
VM Instance
serverd
(daemon)
VMware
VMware
VMware
Web Server
VM Instance
VM Instance
38
9/6/2024
Hardware
VMkernel
hostd
VMX
CIM broker
VM
User world API
Resource
scheduling
Device drivers
Storage stack
Network stack
Distributed VM file system
Virtual Ethernet adapter and switch
VM
VM
VMM
VMM
VMM
VMX
VMX
DCUI
syslog
vxpa
SNMP
Third-party CIM plug-ins
39
9/6/2024
Server
ESXi
ESX
vSphere
Server
ESXi
ESX
vSphere
Data Center
vCenter
Server
ESXi
ESX
vSphere
Server
ESXi
ESX
vSphere
Data Center
vCenter
vCloud
Cloud
Infrastructure
Virtualization
vFabric
Platform
Virtualization
Zimbra
Application
Virtualization