120 likes | 135 Views
CS533 Concepts of Operating Systems Class 7. Virtualization and Exokernels. 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?
E N D
CS533 Concepts of Operating SystemsClass 7 Virtualization and Exokernels
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? • What system call interface does it export? CS533 - Concepts of Operating Systems
Questions • At what granularity do VM monitors support multitasking? • How does this differ from conventional multitasking? • How do virtualized CPUs differ from threads/processes? • How do virtualized CPUs differ from scheduler activations? CS533 - Concepts of Operating Systems
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? CS533 - Concepts of Operating Systems
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? • 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? • What is the advantage of pretending a large shared memory machine is a network of independent machines?
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
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
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
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? • 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 • How does Exokernel’s visible revocation relate to scheduler activations and strands in Spin? • 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? • 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? CS533 - Concepts of Operating Systems