80 likes | 98 Views
Explore key concepts of virtualization in operating systems, including clock time abstractions, machine addresses, para-virtualization, hardware support, and performance optimization techniques.
E N D
CS533 Concepts of Operating SystemsClass 7 Virtualization and Exokernels
Questions • Why would a guest OS need real, virtual and wall clock time abstractions? • Why might a guest OS need machine addresses instead of just virtual physical addresses? • What kind of virtualization is needed for application binary compatibility? • Why isn’t an emulation library approach equivalent to a virtual machine approach? CS533 - Concepts of Operating Systems
Questions • Why is para-virtualization needed for high performance on architectures such as x86? • Why is it harder to virtualize CPUs with hardware specified page tables than software managed TLBs? • Why do tagged TLBs help? • Xen is not transparent to a guest OS. In what ways can the OS distinguish execution on Xen from execution on bare hardware? CS533 - Concepts of Operating Systems
Questions • What is the difference between … • full virtualization and para virtualization? • virtualizing and multiplexing resources? • Are Disco and Xen micro-kernels? • Do they support modularization of operating system code? • Do micro-kernels do virtualization? • Does Xen use colocation? • How do VM monitors/hypervisors ensure safety? • Is virtualization a sandboxing technique? CS533 - Concepts of Operating Systems
Questions • At what granularity do VM monitors support multitasking? • How does it differ from conventional multitasking? • How do virtualized CPUs differ from threads/processes? • Does virtualization hide any critical characteristics of the real hardware? • Why is it difficult to virtualize the x86? • What aspect of the x86 helps virtualization? • What hardware support would be nice to have? CS533 - Concepts of Operating Systems
Questions • What is the difference between virtualization and secure multiplexing? • What do Exokernel and Disco have in common? • What do Exokernel and Xen have in common? • Do Xen or Disco do secure multiplexing? • Does Exokernel create virtual machines? • Is Exokernel a micro-kernel? • What abstractions does it support? CS533 - Concepts of Operating Systems
Questions • What is a "process" in the Exokernel? • Does the Exokernel "paravirtualize" privileged instructions? • How are address translations and physical memory managed in the Exokernel? • How does Exokernel’s visible revocation relate to scheduler activations? • How does it differ from Xen and Disco in this respect? • How does PCT relate to LRPC? • What is the difference between synchronous and asynchronous PCT? CS533 - Concepts of Operating Systems
Questions • How does Exokernel use hardware support to improve performance? • How are "software caches" used to improve performance? • How is "downloaded code" used to improve performance? • How does this relate to Sandboxing? • How does this relate to SPIN? • How does this relate to Specialization? • What do hardware support, software caches and downloaded code have in common? CS533 - Concepts of Operating Systems