1 / 13

Virtual Machines

Virtual Machines. Kenneth Westrom ELEC-6620. Overview. Intro Abstraction versus Virtualization Interfaces Process Virtual Machines System Virtual Machines Conclusion References. Intro. Virtual machines are “an efficient, isolated duplicate of a real machine” -Popek and Goldberg

Download Presentation

Virtual Machines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Virtual Machines Kenneth Westrom ELEC-6620 Westrom: Virtual Machines

  2. Overview • Intro • Abstraction versus Virtualization • Interfaces • Process Virtual Machines • System Virtual Machines • Conclusion • References Westrom: Virtual Machines

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

  4. 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 Westrom: Virtual Machines

  5. Architecture Interfaces • Virtualization can take place at these junctures • ISA – Instruction Set Architecture • ABI – Application Binary Interface • API – Application Programming Interface Westrom: Virtual Machines

  6. 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 Westrom: Virtual Machines

  7. 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 Westrom: Virtual Machines

  8. 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 Westrom: Virtual Machines

  9. 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 Westrom: Virtual Machines

  10. 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: Virtual PC, run windows on old Mac hardware Westrom: Virtual Machines

  11. 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 Westrom: Virtual Machines

  12. Conclusions • Virtual Machines can be useful in crossing boundaries based on ISA differences • Hardware consolidation • Cross-platform compatability Westrom: Virtual Machines

  13. 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 Westrom: Virtual Machines

More Related