- Have a Hypervisor which simulates the execution of another operating
system.
Levels of virtualization
#
- Bare-metal
- hypervisor runs on top of hardware
- Hosted
- hpyervisor runs inside a hosting OS (Virtual Box, …)
- OS-lvel
- containerization, containers share the OS host kernel
Virtualization techniques
#
- Full virtualization
- Use existing OS (unchanged), hypervisor has to
intercept some calls (binary rewriting). At runtime detect if the OS
wants to execute a privileged instruction and rewrite it into code that
contacts the hypervisor
- Paravirtualization
- OS is changed to communicate with the hypervisor
- Hardware assisted virtualization
- Hardware supports orthogonal mode of
CPU operation: VM mode and hypervisor mode
- Reduced overhead but only on newer processors
- Instructions / events can be reserved for hypervisor mode
- if they occurr in VM mode, then execution switches to hypervisor mode