The Xen Hypervisor TM
Destin Smith-Norris COP 4610 - Computer Operating Systems
The Xen Hypervisor • • • • •
What is Xen? Why Xen? Xen Architecture Functions of Xen Evaluation
What is Xen? • Xen is a platform for virtualizing Operating Systems • Its goals are to be efficient, secure, robust and scalable • Can handle up to 100 simultaneous OS instances including Linux and Windows • Can run either paravirtualized guests or fully virtualized guests
Why Virtualize with Xen? • The main advantages to OS virtualization are security, hardware reduction, efficiency, and application mobility [1] • The uses for such an environment are limitless • Can host many private services on dedicated operating system instances with complete isolation on single server
History of Xen • Xen is an open source operating system originally developed as a research project at the University of Cambridge in 2003 • It is included in many commercial Linux distributions, as well as influencing Microsoft’s Hyper-V[3] and Citrix’s virtualization products • It has been implemented into countless commercial products from companies including Sun, Oracle, Microsoft and Citrix
Architecture • The foundation of a Xen system is the Xen Hypervisor [4]. This is what sits directly on the hardware of a system below any other Operating Systems. • It is responsible for CPU scheduling between kernels and memory management for the various virtual machines running above it[4]. • The Hypervisor has no knowledge of networking, storage or any other standard I/O function found on the computer[4].
Architecture • A modified Linux kernel runs directly above the Xen Hypervisor, called Domain0 • This unique virtual machine is given access to the physical hardware resources available on the computer • Hosts the Xen Domain Management and Control
Architecture • Running parallel to Domain 0 are any number of other modified Operating Systems • These are called Domain U (Dom U) PV guests[4]. These are paravirtualized virtual machines running on top of the Xen hypervisor • It is also possible to run fully virtualized machines as Domain U HVM guests • Running a Windows operating system would be an example of this
Architecture
Memory Management • Xen is responsible for ensuring the complete isolation of VMs • Processes are given direct access to memory, Xen is only needed when a process needs to go out of its reserved memory space • The insures efficiency and security
CPU Virtualization • Xen runs on higher privilege level than guest OSes (hence ‘hypervisor’) • In x86 machines, Xen runs in most privileged ring 0, guests OS run in 1, and user land processes run in ring 3
CPU Scheduling • Guests control their own processes scheduling • Scheduling between guest OSes is controlled by Xen • Admin can select from multiple scheduling algorithms, including Borrowed Virtual Time, Simple Earliest Deadline First, and Credit
Evaluation • Xen – Less is More • Under 150,000 lines of code • Can save thousands in hardware and energy reductions • Used in production environments around the world • Security is a major issue
Sources •
[1] Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. Xen and the art of virtualization. In SOSP ’03: Proceedings of the nineteenth ACM symposium on Operating systems principles, pages 164–177, New York, NY, USA, 2003. ACM. • [2] L. Cherkasova, D. Gupta, and A. Vahdat. Comparison of the three CPU schedulers in Xen. PERFORMANCE EVALUATION REVIEW, 35(2):42, 2007. • [3] Mary Jo Foley. Review: Microsoft’s hyper-v puts vmware and linux on notice. http://blogs.zdnet.com/microsoft/?p=1182. • [4] Xenc . Xen Architecture Overview, 2008. •
Images taken from Xen and XenSource publications.