Upload
cameroon45
View
720
Download
3
Embed Size (px)
Citation preview
An Introduction to Xen:
Everyone close your eyes and touch the tip of your first finger to your thumb and chant softly
The University of Utah
History of virtualization development
1965 IBM M44/44X paging system
1965 IBM System/360-67 virtual memory hardware
1967 IBM CP-40 (January) and CP-67 (April) time-sharing
1972 IBM VM/370 run VM under VM
1997 Connectix First version of Virtual PC
1998 VMWare U.S. Patent 6,397,242
1999 VMware Virtual Platform for the Intel IA-32 architecture
2000 IBM z/VM
2001 Connectix Virtual PC for Windows
2003 Microsoft acquired Connectix
2003 EMC acquired Vmware
2003 VERITAS acquired Ejascent
2005 HP Integrity Virtual Machines
2005 Intel VT
2006 AMD VT
2005 XEN
2006 VMWare Server
2006 Virtual PC 2006
2006 HP IVM Version 2.0
2006 Virtual Iron 3.1
2007 InnoTek VirtualBox
2007 KVM in Linux Kernel
2007 XEN in Linux Kernel
The University of Utah
Definitions
Guest Operating System The operating system that Xen hosts
Domain The virtual machine under which a guest operating
system executes Guest OS and a domain similar to idea of a
program and a process Hypervisor
A particular Xen version which handles low level functionality
The University of Utah
Xen 3.0
Available from Xen Source (http://www.xensource.com)
In association with University of Cambridge (http://www.cl.cam.ac.uk/Research/SRG/netos/xen/)
Support for 64-Bit and 32-way machines Supports IntelVT Linux support only, Windows expected later this
year Open Source Product – One of the most actively
maintained projects in the open source community $ - Free
The University of Utah
Types of virtualization
Two categories exist Full Virtualization
Disco and VMWare Paravirtualization
Xen
The University of Utah
VMM Approach
In traditional VMM (Virtual Machine Monitor) the virtual hardware is functionally equivalent to the physical hardware Possibly difficult to implement (x86 systems in
particular) Potentially useful to provide real and virtual
resource information The “guest” machine would not have access to
this information
The University of Utah
Xen Approach
Virtual machine is NOT 100% functionally equivalent to the hardware
Xen uses paravirtualization instead Paravirtualization is a process where the guest
operating system is modified to run in parallel with other modified systems Advantage: Improved performance Disadvantage: The hosted operating system must
be modified before it can be hosted by the Xen Hypervisor (can be difficult)
The University of Utah
Xen Design
The University of Utah
Xen Implementation
What Xen does differently-- CPU
Virtualization of the CPU CPU Scheduling Time & Timers
Memory Management Virtual Address Translation Physical Memory
Device I/O Network Disk
Control Transfer
The University of Utah
CPU
Most change is required here by the guest OS
Xen takes exception to the basic idea that an OS is the most privileged
Privileged instructions Instructions are paravirtualized by requiring to
be validated/executed within Xen
The University of Utah
CPU Virtualization
Virtualization easier with x86
Why? Has built in security
levels (Rings 0, 1, 2, 3)
Ring 0 – OS Software (most privileged)
Ring 3 – User software
Ring 1 & 2 – Not used Xen modifies the OS to
execute on Ring 1
Increasing Privilege Level
Ring 0
Ring 1
Ring 2
Ring 3
The University of Utah
Hypervisor Control
In Xen Domain0 is given
greater access to the hardware and the hypervisor. It has: A guest OS running
above the domain Hypervisor Manager
software to manage elements within other existing domains.
In VMWare Host OS acts
underneath the domain.
Host Operating System
VMWare Drivers
Other Drivers
Guest OS
VMWare
Guest OS
VM VM
VM Specific Drivers
VM Specific Drivers
Guest OS on Domain 0
Hypervisor
Domain 0
Hypervisor Manager
Guest OS on Domain X
Domain 1
The University of Utah
Currently Xen patches the kernel. Future processors will support virtualization
so that the kernel can run on it unpatched. For example,
Both Intel VT and AMD Pacifica processors will include such support.
The University of Utah
Xen
Xen already is bundled in some distributions,
Fedora Core 4, Debian and SuSE Professional 9.3
And it will be included in RHEL5. The Fedora Project has RPMs for installing Xen, and other Linux distros have prepared installation packages for Xen as well.
The University of Utah
DONE
Questions