Virtualization and Cloud Flashcards
Hypervisor should have full control of virtualized resources
Safety in VM
Behavior of a program should be the same as running program on baremetal
Fidelity in VM
Much of the code in VM should run without intervention
Efficiency in VM
Can directly access resources of underlying machine and implement resource allocation strategies to service VMs
Type 1 hypervisor
Must negotiate resources with base operating system
Type 2 hypervisor
Only uses hypercalls to get system services like I/O
microkernel
Modify sourcecode of guest operating system
paravirtualization
Executes hypercalls, defined in API and exposed to guest OS
paravirtualization
When sensitive instruction occurs, trap in host OS and delegate to hypervisor
true virtualization
Generic set of procedures that can be executed by any hypervisor
Virtual machine interface
- On demand service
- Broad network access
- Resource pooling
- Rapid elasticity
- Measured service
Requirements of cloud platform
any x86 OS any app can run without modification
Challenges in virtualization of x86 - compatability
performs all UI functions, starts VM and performs most drive emulation, as well as proxying calls to base OS
VMX
Small kernel-mode driver that is installed alongside host OS to allow VMM to run by briefly suspending OS
VMX driver
Holds all software to multiplex CPU and memory, including exception handlers, trap and emulate handlers, etc
Virtual memory manager
Context of VMM changes from host OS to VMM
World switch
Swaps all memory and registers, including exception handlers and privileged requests
world switch