140 likes | 285 Views
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%
E N D
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 Applications Applications Applications Guest OS Guest OS Guest OS VMM VMM Hardware Hardware
Process Virtual Machine • A virtual platform that executes an individual process Application Process Virtualizing software OS Hardware
Virtual Machine Taxonomy Process VMs System VMs Different ISA Different ISA Same ISA Same ISA Whole-System VMs Codesigned VMs Classic System VMs Host VMs Multiprogrammed Systems Same-ISA binary optimizers Dynamic translators 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