You are on page 1of 15

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 Microsofts Hyper-V[3] and Citrixs 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 164177, 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: Microsofts 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.

You might also like