Please enable JavaScript.
Coggle requires JavaScript to display documents.
Virtual Machines - Coggle Diagram
Virtual Machines
Benefits
Multiple operating systems
Host is protected to security risks in Guest
Suspend (freeze)
Snapshots (copies in time)
Resume
Clone
Operating- system Research
System-development time
Consolidation
Templating
Live migration
Cloud computing
Remote Desktop Protocol (RDP)
Methods
Host
Guest
Virtual Machine Manager (VMM) / Hyperviser
Type 1 Hypervisor (Software on native hardware)
Type 2 Hypervisor (Software)
Type 0 Hypervisor (Firmware)
Paravirtualization (Guest works together with VMM)
Programming-environment virtualization
Emulators
Application containment
Types and implementations
The Virtual Machine Life Cycle
Setup with parameters
Virtual Machine Sprawl
Too many machines for tracking
Deleted
Type 0 Hypervisor
Firmware (software in the hardware)
Loaded at boottime
Control partition
Paravirtualization
Type 1 Hypervisor
Company datacenters
Can run on type 0 Hypervisors
Can not run on type 1 Hypervisors
Running on native hardware
Type 2 Hypervisor
Software applications
Little operating-system involvement
Poorer overall performance
Can run on any system
Paravirtualization
Operating system is aware of virtualization
Hypercall
Still used in Type 0 Hypervisors
Programming-Environment Virtualization
Java Virtual Machine (JVM)
Interpreted languages
Emulation
Guest system was compiled for different architecture
Slower because of being fake
Application contiainment
Alternative to complete virtualisation for when all applications are compiled for the same operating system
Containers / Zones
LXC container (Linux)
Docker && Kubernetes
History
Minidisks (tracks on original disk)
Fidelity
Performance
Safety
Xen
VMware
Building Blocks
Trap-and-Emulate
Virutal User mode
Virtual Kernel mode (User mode Host)
Hardware Assistance
AMD-V
Multimode processor
VT-x
Virtual Machine Control Structures (VMCSs)
Protection domains
Nested Page Tables
Binary Translation
Virtual CPU (VCPU)
Operating-System Components
CPU Scheduling
Overcommitment (More VCPU's than actual CPU's)
Memory Management
Pseudo-device driver
Device-driver intervaces
VMM sharing pages between Guests
Page tabel management -> (nested page table management)
I/O
VMM can deliver indirect access to I/O drivers
Hypervisor and hardware combination for direct access
Performance may suffer when a Hypervisor shares I/O devices
Bridging
Network address translation (NAT)
Storage Management
Disk image
Physical-to-Virtual (P-to-V)
Virtual-to-Physical (V-to-P) (Debugging)
Live Migration
Type 0 and 1 Hypervisors
Steps
3 Source sends all read-only memory pages
4 Source sends all read-write pages to the target
Marked as clean
2 Target creates new guest
new VCPU
new Nested page table
other state storage
5 Repeat step 4
1 VMM Establishes connection
6 When the cycle of step 4 and 5 become very short
1 The source VMM freezes guest.
2 sends VCPU final state
3 other state details
4 final dirty pages
5 start new guest
6 terminate old guest
Research areas