Virtual Machines Kenneth Westrom ELEC6620 ELEC 6200 Fall

  • Slides: 13
Download presentation
Virtual Machines Kenneth Westrom ELEC-6620 ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines

Virtual Machines Kenneth Westrom ELEC-6620 ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 1

Overview �Intro �Abstraction versus Virtualization �Interfaces �Process Virtual Machines �System Virtual Machines �Conclusion �References

Overview �Intro �Abstraction versus Virtualization �Interfaces �Process Virtual Machines �System Virtual Machines �Conclusion �References ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 2

Intro �Virtual machines are “an efficient, isolated duplicate of a real machine” -Popek and

Intro �Virtual machines are “an efficient, isolated duplicate of a real machine” -Popek and Goldberg introduced conditions for computer architecture to efficiently support system virtualization. ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 3

Abstraction versus Virtualization �Computer architecture benefits from Abstraction �Well-defined interfaces for hardware and software

Abstraction versus Virtualization �Computer architecture benefits from Abstraction �Well-defined interfaces for hardware and software to use � Hard Drives, Networking, I/O devices �Limits based on the hardware implementation �Virtualization �Maps interfaces and resources to various hardware, even different architectures ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 4

Architecture Interfaces Virtualization can take place at these junctures ISA – Instruction Set Architecture

Architecture Interfaces Virtualization can take place at these junctures ISA – Instruction Set Architecture ABI – Application Binary Interface API – Application Programming Interface ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 5

Process Virtual Machines �Also known as Application VM �Virtualization below the API or ABI,

Process Virtual Machines �Also known as Application VM �Virtualization below the API or ABI, providing virtual resources to a single process executed on a machine �Created for the process alone, destroyed when process finishes ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 6

Process VM, continued �Multiprogrammed systems �Each application is given effectively separate access to resources,

Process VM, continued �Multiprogrammed systems �Each application is given effectively separate access to resources, managed by the OS �Emulators and translators �Executes program binaries compiled for different instruction sets. �Slower, requiring hardware interpretation � Optimization through storing blocks of converted code for repeated execution ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 7

Process VM, continued �Optimizers, Same ISA �Perform code optimization during translation and execution �High-level-language

Process VM, continued �Optimizers, Same ISA �Perform code optimization during translation and execution �High-level-language VM �Cross-platform compatibiltiy �Programs written for an abstract machine, which is mapped to real hardware through a virtual machine � Sun Microsystems Java VM � Microsoft Common Language Infrastructure, . NET framework ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 8

System Virtual Machines �Virtualized hardware below the ISA �Single host can run multiple isolated

System Virtual Machines �Virtualized hardware below the ISA �Single host can run multiple isolated operating systems �Servers running different operating systems �Isolation between concurrent systems, security �Hardware Managed by the VMM – Virtual Machine Manager ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 9

System VM, continued �Classically, VMM runs on bare hardware, directly interacting with resources, �Intercepts

System VM, continued �Classically, VMM runs on bare hardware, directly interacting with resources, �Intercepts and interprets guest OS actions �Hosted VM �Installed application that relies on the OS to access hardware, using same ISA �Whole System VM �Emulate both application and system code for different ISAs � Classically: ELEC 6200, Fall 07, Oct 29 Virtual PC, run windows on old Mac hardware Westrom: Virtual Machines 10

System VM, continued �Multiple operating systems on one machine �Processor/resources timeshared �Quality-of-service isolation �Testing

System VM, continued �Multiple operating systems on one machine �Processor/resources timeshared �Quality-of-service isolation �Testing of insecure or questionable software and systems �Better debugging ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 11

Conclusions �Virtual Machines can be useful in crossing boundaries based on ISA differences �Hardware

Conclusions �Virtual Machines can be useful in crossing boundaries based on ISA differences �Hardware consolidation �Cross-platform compatability ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 12

References �Smith, Daniel E. ; Nair, Ravi. "The Architecture of Virtual Machines". Computer 38

References �Smith, Daniel E. ; Nair, Ravi. "The Architecture of Virtual Machines". Computer 38 (5): 32– 38. IEEE Computer Society. �Wikipedia, “Virtual Machine”. http: //en. wikipedia. org/wiki/Virtual_machine ELEC 6200, Fall 07, Oct 29 Westrom: Virtual Machines 13