28. Xen and the Art of Virtualization Flashcards
What kind of paper is Xen and the Art of Virtualization?
A big idea paper AND a wrong way paper
What’s the wrong way part of Xen and the Art of Virtualization?
Full virtualization
What is the tradeoff to employing paravirtualization?
Trade off small changes to the guest OS for big improvements in performance and VMM simplicity
What are the four design principles of Xen?
- Support for unmodified application binaries is essential, or users will not transition to Xen. Hence we must virtualize all architectural features required by existing standard ABIs”
- Supporting full multi-application operating systems is important, as tihs allows complex server configurations to be virtualized within a single guest OS instance
- Paravirtualization is necessary to obtain high performance and strong resource isolation on uncooperative machine architectures such as x86
- Even on cooperative machine architectures, completely hiding the effects of resource virtualization from guest OSes risks both correctness and performance
What is a hypervisor?
A small piece of control software similar to the VMM running below all the operating systems running on the machine
Much of the typical VMM functionality is moved to contorl plane software that runs inside a Xen guest
How does Xen avoid the drawbacks of full virtualization?
Presenting a virtual machine abstraction that is similar but not identical to the underlying hardware – an approach which has been dubbed paravirtualization.
This promises improved performance, although it does require modifications to the guest OS.
It is important to note, however, that we do not require changes to the application binary interface (ABI), and hence no modifications are required to guest applications
What does it mean to leave the Application Binary Interface (ABI) alone?
We don’t have to change the binary code at all, meaning we don’t have to recompile and rebuild all of our programs.
This is especially good because some of those binaries might be irrecoverable because we got them from source code we no longer have or from proprietary sources
What changes does Xen make to segmentation?
Memory Management
Cannot install fully-privileged segment descriptors and cannot overlap with the top end of the linear address space
What changes does Xen make to paging?
Memory Management
Guest OS has direct read access to hardware page tables, but updates are batched and validated by the hypervisor. A domain may be allocated discontiguous machine pages
What changes does Xen make to protection?
CPU
Guest OS must run at a lower privilege level than Xen
What changes does Xen make to exceptions?
CPU
Guest OS must register a descriptor table for exception handlers with Xen. Aside from page faults, the handlers remain the same.
What changes does Xen make to system calls?
CPU
Guest OS may install a ‘fast’ handler for system calls, allowing direct calls from an application into its guest OS and avoid indirecting trough Xen on every call
What changes does Xen make to interrupts?
CPU
Hardware interrupts are replaced with a lightweight event system
What changes does Xen make to time?
CPU
East guess OS has a timer interface and is aware of both ‘real’ and ‘virtual’ time
What changes does Xen make to network, disk, etc?
Device I/O
Virtual devices are elegant and simple to access. Data is transferred using asynchronous I/O rings. An event mechanism replaces hardware interrupts for notifications