virt hw - Practice Problems ECE/CS153a Introduction to...

Info icon This preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Sheet1 Page 1 Practice ProblemsIntroduction to Virtualization and Emulation ECE/CS153a 1) Define virtualization. A software technique that abstracts and/or multiplexes resources (hardware or software) for processes and entire systems. 2) What is the difference between abstraction and virtualization? abstraction = representation of an entity with the details hidden/masked. virtualization can provide abstraction or not -- ie, we could have a VM that is a binary optimizer -- does no abstraction since it looks the same as the hardware or software system that it virtualizes. 3) What are the two primary jobs of virtualizing software? - emulation of the ISA - state mapping for registers and memory from the guest process or system the the host (local) system. 4) Describe 6 uses for virtualization. - support multiple operating system versions on the same machine without rebooting - make better use (utilization) of a multiprocessor/server while providing complete system isolation - enable investigation of new ISAs and OS interfaces (ABIs) - dynamic binary optimization - make software portable across platforms (ISAs/OSs) - enable software that does not target any machine Grader: be generous here, the answers can be variations on these 5) What is the "machine" from the perspective of (a) An OS Process the OS and the hardware/devices (b) The OS itself the hardware/devices 6) What is the difference between a system VM and a process VM? - system VMs can support/run/boot an operating system 7) Give two real-world examples of a system VM. - VMWare, user mode linux, Xen 8) Give two real-world examples of a process VM. - Wine, Apple OSx, IA32-EL, FX!32 9) Is a Java Virtual Machine a system VM or a process VM? process
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Sheet1 Page 2 10) In what primary ways is the Java Virtual Machine different from other VMs? the programs will not run on any machine -- the machine for which their binaries were created is virtual, does not exist 12) What are the main differences between interpretation and translation of binaries? interpretation - line by line execution, that is repeated/performed-again/redundant when the instructions repeat. There is no storage of binary code only emulation of a single instruction at a time. translation - groups of instructions are translated to their binary equivalent, the translated executable code is stored in memory, the next time the block is executed, the system transfers control to the block and they executed without interruption, at high-speed, the same if it were a native binary.
Image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern