Week 14: Virtualization Flashcards
Virtualization :
the ability for a computer to run multiple operating systems on the
same physical machine
Host :
the underlying physical machine hardware
Virtual machine manager or hypervisor
software that allows creating and
running virtual machines on the host machine; the VM’s each then run with their
own operating systems and applications; the VMM manages the computing,
memory, and storage resources required for the VMs
Guest operating system
user-level process that usually runs an operating
system over the VMM hypervisor
Host operating system
the OS that runs on the hardware (for a type 2
hypervisor)
Type 0 hypervisor :
a hypervisor that’s implemented in firmware or hardware;
hardware is statically partitioned across different guest operating systems
Type 1 hypervisor:
the hypervisor itself essentially replaces the operating
system and runs in kernel mode; the guest OS believes it is running on bare
metal
Type 2 hypervisor:
the VMM hypervisor runs on top of the host operating
system in user mode as a process; the host doesn’t know that the VMM is running guest OSes
Sandboxing :
a type of virtualization in which a tightly controlled environment
with a guest operating system and isolated set of resources is created, to allow untested, unverified, or untrusted programs to run; This technique helps maintain
security for the host machine or host operating system
VM templating :
create an operating system and application image, and clone it
across multiple machines, saving installation the effort of doing manual software
installations
Virtual CPU:
a software emulation of a CPU that represents the state of the CPU
(including the PCB and execution state) for each of the guest operating systems
Trap and emulate :
when the guest OS of the VM attempts to execute a
privileged instruction, since it is in user mode, the action will cause a “trap”; the
VMM will handle the trap and execute the instruction attempted by the guest,
then return control to the guest in user mode
● Binary translation :
alternative to trap and emulate in which instead of doing
trap-and-emulate for every instruction that runs in the guest operating system,
the guest OS instructions are translated on the fly to equivalent instructions in the
VMM. The original assembly code from the guest OS is simply translated to code
for the equivalent implementation in the VMM
CPU scheduling for virtualization:
given multiple VCPUs and physical CPUs,
the scheduling algorithm decides which VCPU to run next on a given CPU
Memory management for virtualization:
Guest page table:
Host page table :
Shadow page table :