1 / 17

University of Palestine Faculty of Information Technology Multimedia specialist

University of Palestine Faculty of Information Technology Multimedia specialist. ESGD2204 Computer Architecture Virtual Machine Prepared By: Ibtihal Saiful Islam Makki . ID: 120061094 Supervised By: Eng. Mohammed Timraz Second semester. PROBLEMS WITH TRADITIONAL COMPUTER SYSTEM.

eleanor-gay
Download Presentation

University of Palestine Faculty of Information Technology Multimedia specialist

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. University of Palestine Faculty of Information Technology Multimedia specialist ESGD2204Computer ArchitectureVirtual MachinePrepared By: IbtihalSaiful Islam Makki .ID:120061094Supervised By: Eng. Mohammed TimrazSecond semester

  2. PROBLEMS WITH TRADITIONAL COMPUTER SYSTEM • Software compatibility • Limitation by the need to support old interfaces • Optimization across interfaces • Hardware restriction

  3. Question • Can a “small” operating system simulate the hardware of some machine so that • Another operating system can run in that simulated hardware? • More than one instance of that operating system run on the same hardware at the same time? • More than one different operating system can share the same hardware at the same time? • Answer: Yes

  4. Solution – Virtual Machine • A virtual machine provides interface identical to underlying bare hardware • I.e., all devices, interrupts, memory, page tables, etc. • Virtual Machine Operating System creates illusion of multiple processors • Each capable of executing independently • No sharing, except via network protocols

  5. Virtual Machines

  6. Virtual machine basics • A virtual machine is a software implementation of a machine (computer) that executes programs like a real machine.

  7. Virtual machine applications • Emulation • Emulating one instruction set with another

  8. Virtual machine applications • Optimization • Optimizing an existing application binary for the same instruction set

  9. Virtual machine applications • Replication • Replicating a virtual machine so that multiple Oses can be supported simultaneously

  10. Virtual machine applications • Composing virtual machine software to form a more complex flexible system

  11. Virtual machine architecture • Virtualization: A piece of software that provides an interface identical to the underlying bare hardware. - the upper-layer software has the illusion of running directly on hardware - the virtualization software is called virtual machine monitor • Multiplexing: It may provide several virtualized machines on top of a single piece of hardware. - resources of physical computer are shared among the virtual machines - each VM has the illusion of owning a complete machine • Trust and privilege - the VM monitor does not trust VMs - only the VM monitor runs in full privilege • Compared to an operating system VM monitor is a resource manager, but not an extended machine

  12. Process and system VM • A process virtual machine is capable of supporting an individual process. • A process virtual machine is created along with its guest process and terminates when the guest process terminates • A system virtual machine provides a complete system enviroment. • This enviroment can support multiple user processes: a file system, I/O devices, GUI…

  13. Why Virtual Machine? • Allow flexible management of “machines” at software level 􀂄 experimenting with new architecture 􀂄 debugging an OS 􀂄 checkpointing and migrating all state on a machine • Enhanced reliability and security 􀂄 VM monitor much smaller than OS, therefore: 􀂄 the full privileged code base (VM monitor) is small 􀂄 the trusted code base (VM monitor) is small • Strong isolation between VMs 􀂄 fault and resource isolation

  14. Virtualization Approach – Direct Execution • Directly executing VM code to attain high speed • CPU virtualization - VM monitor catches timer interrupts and switches VM if necessary • I/O access virtualization - cause a trap to VM monitor, which processes appropriately • - extra overhead is not too bad • Memory virtualization - a trap at each memory access is not a very good idea

  15. Memory Virtualization Under DirectExecution (protected page table) • From the VM OS’s view, the page table • contains mapping from virtual to VM physical addresses • For proper operation, the page table hooked • up with MMU must map virtual to real • machine addresses • VM OS cannot directly access the page table: - each page table write is trapped, for a translation (the physical address field is translated from VM).

  16. Memory Virtualization Under DirectExecution (shadow page table) • VM OS maintains virtual to VM physical (V2P) page table • VM monitor - maintains a VM physical to machine (P2M) mapping table . - combines V2P and P2M table into a virtual to machine mapping table. • (V2M) - supplies the V2M table to the MMU hardware • Page table updates - any VM change on its V2P page table must be trapped by VM monitor - VM monitor modifies V2M table appropriately

  17. Virtual Machine Transparency • Sometimes you want OS work differently from original: - for correctness: - e.g., non-faulting access to privileged state - for performance: - e.g., batched multiple monitor traps through a single explicit monitor call - e.g., a quick check of whether a monitor call is necessary • Less-than-full transparency (para-virtualization): - modified OS runs within VM - Example: Xen • Full transparency (perfect virtualization): - stock OS (without change) can run within VM - Example: VMware - binary translation for unvirtualizable instructions

More Related