Transcript ppt

CS533 Concepts of Operating Systems
Class 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
2
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
3
Questions

What is the difference between …
o
o

Are Disco and Xen micro-kernels?
o
o
o

full virtualization and para virtualization?
virtualizing and multiplexing resources?
Do they support modularization of operating system code?
Do micro-kernels do virtualization?
Does Xen use colocation?
How do VM monitors/hypervisors ensure safety?
o
Is virtualization a sandboxing technique?
CS533 - Concepts of Operating Systems
4
Questions

At what granularity do VM monitors support
multitasking?
o
o


Does virtualization hide any critical characteristics
of the real hardware?
Why is it difficult to virtualize the x86?
o

How does it differ from conventional multitasking?
How do virtualized CPUs differ from threads/processes?
What aspect of the x86 helps virtualization?
What hardware support would be nice to have?
CS533 - Concepts of Operating Systems
5
Questions

What is the difference between virtualization and
secure multiplexing?
o
o
o
o

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?
o
What abstractions does it support?
CS533 - Concepts of Operating Systems
6
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?
o

How does it differ from Xen and Disco in this respect?
How does PCT relate to LRPC?
o
What is the difference between synchronous and
asynchronous PCT?
CS533 - Concepts of Operating Systems
7
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
o
o

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
8