Transcript ppt

CS533 Concepts of Operating Systems
Class 13
Virtualization
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
2
Questions

At what granularity do VM monitors support
multitasking?
o
o
o
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
3
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
4
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?
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
7
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
8
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
9