introduction to virtual machines. administration presentation and class participation: 40% –each...
TRANSCRIPT
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
MultiprogrammedSystems
Same-ISA binaryoptimizers
Dynamictranslators
Same ISA Different ISA
ClassicSystemVMs
Host VMs
Whole-SystemVMs
CodesignedVMs
High-level-languageVMs
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