Presentation on theme: "CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels."— Presentation transcript:
CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels
CS533 - Concepts of Operating Systems 2 Questions Is Disco a micro-kernel? Is it a minimal kernel running in privileged mode? Does it run OS code at user level? Does it support modularization of OS code? What granularity are the modules? How does it implement protection? Is virtualization a sandboxing technique? How does it implement inter-module communication? Does it support extensibility? What abstractions does it export to its clients? o What system call interface does it export?
CS533 - Concepts of Operating Systems 3 Questions At what granularity do VM monitors support multitasking? o How does this differ from conventional multitasking? o How do virtualized CPUs differ from threads/processes? o How do virtualized CPUs differ from scheduler activations?
CS533 - Concepts of Operating Systems 4 Questions Do micro-kernels do virtualization? Is a micro-kernel’s use of trap redirection for application binary compatibility the same as a virtual machine approach? What else is needed for complete virtualization of a machine, such that an OS binary can run on it?
Questions What characteristics would make a hardware architecture “difficult” to virtualize? What characteristics would make a hardware architecture “expensive” to virtualize? What hardware support would be useful for virtualization? Does virtualization hide any critical characteristics of the real hardware?
Questions How does virtualization help scalability? o Aren’t we just adding a level of indirection to the same hardware/software base that would not scale? Why not just use a network of small cheap machines? o What is the advantage of pretending a large shared memory machine is a network of independent machines?
CS533 - Concepts of Operating Systems 7 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 are tagged TLBs better for virualization? 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 8 Questions What is the difference between full virtualization and para virtualization? Is Xen a micro-kernel? Does Xen use colocation? How does the Xen hypervisor enforce safety?
CS533 - Concepts of Operating Systems 9 Questions Does Xen hide any critical characteristics of the real hardware? Why are there three distinct “time” abstractions? Why might a guest OS need machine addresses instead of just virtual physical addresses? What hardware support would be nice to have?
CS533 - Concepts of Operating Systems 10 Questions What do Exokernel and Disco have in common? What do Exokernel and Xen have in common? What is the difference between virtualization and secure multiplexing? o Do Xen or Disco do secure multiplexing? o Does Exokernel create virtual machines? Is Exokernel a micro-kernel? o What abstractions does it support?
CS533 - Concepts of Operating Systems 11 Questions How does Exokernel’s visible revocation relate to scheduler activations and strands in Spin? o How does it differ from Mach, L3/4, Disco, and Xen in this respect? Does the Exokernel "paravirtualize" privileged instructions? How are address translations and physical memory managed in the Exokernel? How does PCT relate to LRPC? o What is the difference between synchronous and asynchronous PCT?
CS533 - Concepts of Operating Systems 12 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? o How does this relate to Sandboxing? o How does this relate to SPIN?