Introduction to Virtual Machines
Administration Presentation and class participation: 40% –Each student will present two and a half times this semester Full: two papers Half: One paper (first four weeks) –Other student read one paper by random assignment Project: 60% –A group project starts from week 4 Two students each group Choose your own project or discuss with me Topic settled in week 4 Each group submit a term paper and present in week 14
Presentation Assignment Choose one paper from week 2 to 3 Choose one topic each from each part
Definition A virtual machine is an efficient, isolated duplicate of the real machine Two categories –System virtual machine –Process virtual machine
System Virtual Machine Virtualizing hardware resources: CPU, I/O, memory, networking and GUI –The virtualizing software is called VMM (virtual machine monitor) or hypervisor Hardware VMM Guest OS Applications Hardware VMM Guest OS Applications Guest OS Applications
Process Virtual Machine A virtual platform that executes an individual process Hardware OS Application Process Virtualizing software
Virtual Machine Taxonomy Process VMs System VMs Same ISA Different ISA Multiprogrammed Systems Same-ISA binary optimizers Dynamic translators Same ISA Different ISA Classic System VMs Host VMs Whole-System VMs Codesigned VMs High-level- language VMs
Why Virtualization: history In 1960s, VMM is to use multiplexing mainframe –Why is this important? In 1980s and 1990s, VM study became cold –Multitasking OS –Drop in hardware cost In 2000s, VM study resurgent –Security, resource utilization, reliability
VMM Characteristics Essentially identical –Any program running under VMM shows the same effect as running on the original machine Efficient –No significant decrease in speed Resource control –VMM has complete control of resources
Implementation Issues CPU Memory I/O
CPU Virtualization A CPU is virtualizable if –It supports direct execution –VMM retains ultimate control of the CPU VM runs in unprivileged mode and VMM runs in privileged mode –X86 does not provide a good support –Solution Paravirtulization Full virtualization with binary translation
Memory Virtualization Page table –Shadow mechanism Memory reallocation –Balloning Hardware support
I/O Virtualization Challenge of variety of I/O devices –Use hosted VM Hardware support –Channel like I/O devices