SlideShare a Scribd company logo
1 of 9
Xen Architecture Overview




Date:      February 13, 2008
Version:   1.2
Table of Contents

Executive Summary ............................................................................................................ 3
Xen Components ................................................................................................................. 3
  Xen Hypervisor ............................................................................................................... 3
  Domain 0 ......................................................................................................................... 4
  Domain U ........................................................................................................................ 4
  Domain Management and Control .................................................................................. 6
    Xend ............................................................................................................................ 6
    Xm............................................................................................................................... 6
    Xenstored .................................................................................................................... 6
    Libxenctrl .................................................................................................................... 6
    Qemu-dm .................................................................................................................... 7
    Xen Virtual Firmware ................................................................................................. 7
Xen Operation ..................................................................................................................... 7
  Domain 0 to Domain U Communication ........................................................................ 8
Glossary .............................................................................................................................. 9




Xen Architecture Overview                                                                                                              2
Executive Summary
This document contains a high level architectural overview of the Xen hypervisor and the
associated tools and applications necessary to support a complete virtualization
environment. The architecture is based on Xen 3.2 released in late January 2008 and is
only an introduction to the overall Xen architecture. For a more complete description of
the architecture please reference the many Xen books available.

Xen Components
A Xen virtual environment consist of several items that work together to deliver the
virtualization environment a customer is looking to deploy:

       Xen Hypervisor
       Domain 0
       Domain Management and Control (Xen DM&C)
       Domain U (Dom U) PV Guest
       Domain U (Dom U) HVM Guest

The diagram below shows the basic organization of these components.




      Domain 0
                             DOM U                            DOM U

     Xen DM&C               PV Guest                           HVM
                                                               Guest




                                       Xen Hypervisor




Xen Hypervisor
The Xen hypervisor is the basic abstraction layer of software that sits directly on the
hardware below any operating systems. It is responsible for CPU scheduling and memory
partitioning of the various virtual machines running on the hardware device. The
hypervisor not only abstracts the hardware for the virtual machines but also controls the
execution of virtual machines as they share the common processing environment. It has



Xen Architecture Overview                                                               3
no knowledge of networking, external storage devices, video, or any other common I/O
functions found on a computing system.

Domain 0
Domain 0, a modified Linux kernel, is a unique virtual machine running on the Xen
hypervisor that has special rights to access physical I/O resources as well as interact with
the other virtual machines (Domain U: PV and HVM Guests) running on the system. All
Xen virtualization environments require Domain 0 to be running before any other virtual
machines can be started.

Two drivers are included in Domain 0 to support network and local disk requests from
Domain U PV and HVM Guests (see below); the Network Backend Driver and the Block
Backend Driver. The Network Backend Driver communicates directly with the local
networking hardware to process all virtual machines requests coming from the Domain U
guests. The Block Backend Driver communicates with the local storage disk to read and
write data from the drive based upon Domain U requests.



                                        Domain 0

                            PV Drivers:

                              Network Backend Driver


                              Block Backend Driver




Domain U
All paravirtualized virtual machines running on a Xen hypervisor are referred to as
Domain U PV Guests and are run modified Linux operating systems, Solaris, FreeBSD,
and other UNIX operating systems. All fully virtualized machines running on a Xen
hypervisor are referred to as Domain U HVM Guests and run on standard Windows or
any other unchanged operating system.

The Domain U PV Guest virtual machine is aware that it does not have direct access to
the hardware and recognizes that other virtual machines are running on the same
machine. The Domain U HVM Guest virtual machine is not aware that it is sharing
processing time on the hardware and that other virtual machines are present.




Xen Architecture Overview                                                                  4
A Domain U PV Guest contains two drivers for network and disk access, PV Network
Driver and PV Block Driver.


                                     Domain U
                                     PV Guest
                            PV Drivers:

                             Network Driver


                             Block Driver




A Domain U HVM Guest does not have the PV drivers located within the virtual
machine; instead a special daemon is started for each HVM Guest in Domain 0, Qemu-
dm. Qemu-dm supports the Domain U HVM Guest for networking and disk access
requests.

The Domain U HVM Guest must initialize as it would on a typical machine so software
is added to the Domain U HVM Guest, Xen virtual firmware, to simulate the BIOS an
operating system would expect on startup. More information on the Xen virtual firmware
is presented later in this document.




             Domain 0                                     Domain U
                                                         HVM Guest




              Qemu-DM
                                                     Xen virtual
                                                      firmware




Xen Architecture Overview                                                            5
Domain Management and Control
A series of Linux daemons are classified as Domain Management and Control by the
open source community. These services support the overall management and control of
the virtualization environment and exist within the Domain 0 virtual machine. The
diagrams below show the daemons outside the Domain 0 diagram for a clearer
understanding of the architecture.

Xend
The Xend daemon is a python application that is considered the system manager for the
Xen environment. It leverages the libxenctrl library (see below) to make requests of the
Xen hypervisor. All requests processed by the Xend are delivered to it via an XML RPC
interface by the Xm (see below) tool.


                                                   XML RPC
                                     Xend                         XM


                                  Libxenctrl

     Domain 0




                                       Xen Hypervisor




Xm
The command line tool that takes user input and passes to Xend via XML RPC.

Xenstored
The Xenstored daemon maintains a registry of information including memory and event
channel links between Domain 0 and all other Domain U Guests. The Domain 0 virtual
machine leverages this registry to setup device channels with other virtual machines on
the system. (See Domain 0 to Domain U Communication for more details).

Libxenctrl
Libxenctrl is a C library that provides Xend the ability to talk with the Xen hypervisor via
Domain 0. A special driver within Domain 0, privcmd delivers the request to the
hypervisor.


Xen Architecture Overview                                                                  6
Xend


     Domain 0                      Libxenctrl




     privcmd




                                        Xen Hypervisor




Qemu-dm
Every HVM Guest running on a Xen environment requires its own Qemu daemon. This
tool handles all networking and disk requests from the Domain U HVM Guest to allow
for a fully virtualized machine in the Xen environment. Qemu must exist outside the Xen
hypervisor due to its need for access to networking and I/O and is therefore found in
Domain 0.

A new tool, Stub-dm, is in development for future versions of Xen that will remove the
need for a Qemu running for every Domain U HVM Guest and will instead provide a set
of services available to every Domain U HVM Guest. This feature is not available in Xen
3.2 but is currently part of the xen-unstable tree and will be released as part of Xen 3.3.

Xen Virtual Firmware
The Xen Virtual Firmware is a virtual BIOS that is inserted into every Domain U HVM
Guest to ensure that the operating system receives all the standard start-up instructions it
expects during normal boot-up providing a standard PC-compatible software
environment.

Xen Operation
This section demonstrates how a paravirtualized Domain U is able to communicate with
external networks or storage via the Xen hypervisor and Domain 0.




Xen Architecture Overview                                                                      7
Domain 0 to Domain U Communication
As stated earlier, the Xen hypervisor is not written to support network or disk requests
thus a Domain U PV Guest must communicate via the Xen hypervisor with the Domain 0
to accomplish a network or disk request. The example presented below shows a Domain
U PV Guest writing data to the local hard disk.

The Domain U PV Guest PV block driver receives a request to write to the local disk and
writes the data via the Xen hypervisor to the appropriate local memory which is shared
with Domain 0. An event channel exists between Domain 0 and the Domain U PV Guest
that allows them to communicate via asynchronous inter-domain interrupts in the Xen
hypervisor. Domain 0 will receive an interrupt from the Xen hypervisor causing the PV
Block Backend Driver to access the local system memory reading the appropriate blocks
from the Domain U PV Guest shared memory. The data from shared memory is then
written to the local hard disk at a specific location.

The event channel is shown below as a direct link between Domain 0 and Domain U PV
Guest which is a simplified view of the way the system works. In fact, the event channel
runs through the Xen hypervisor with specific interrupts registered in Xenstored allowing
both the Domain 0 and Domain U PV Guest to quickly share information across local
memory.

The figure below shows the previously described situation:



         Domain 0                                                       Domain U
                                                                        PV Guest

                                      Event Channel

         PV Block
         Backend                                                         PV Block
          Driver                                                          Driver



                                       Xen Hypervisor


                                      Shared Memory
                                        Data Dom U
                                        Data Dom U




Xen Architecture Overview                                                               8
Glossary
C: http://www.cprogramming.com/; a computer programming language

Daemons: http://en.wikipedia.org/wiki/Daemon_(computer_software); a program
running in the background rather than under direct control of a user

Driver: http://en.wikipedia.org/wiki/Device_driver; program allowing software to
interact with hardware

Full Virtualization: http://en.wikipedia.org/wiki/Full_virtualization; a virtual machine not
aware of its virtualization

Interrupt: http://en.wikipedia.org/wiki/Interrupt; signal from hardware to software
requesting a specific action in software

Kernel: http://en.wikipedia.org/wiki/Linux_kernel; the central component of a computer
operating system

Paravirtualized: http://en.wikipedia.org/wiki/Paravirtualization; virtual machine running
on a hypervisor that is aware of it being virtualized]

Python: http://www.python.org/; a dynamic object oriented programming language

ROM BIOS: http://en.wikipedia.org/wiki/BIOS; software instructions run on a machine
when turned on

XML PRC: http://www.xmlrpc.com/; method for an application to leverage another
application using HTTP for the remote procedure call and XML as the encoding




Xen Architecture Overview                                                                  9

More Related Content

What's hot

Silberschatz / OS Concepts
Silberschatz /  OS Concepts Silberschatz /  OS Concepts
Silberschatz / OS Concepts Alanisca Alanis
 
ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)The Linux Foundation
 
ELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for EmbeddedELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for EmbeddedStefano Stabellini
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGlobalLogic Ukraine
 
What is Kernel, basic idea of kernel
What is Kernel, basic idea of kernelWhat is Kernel, basic idea of kernel
What is Kernel, basic idea of kernelNeel Parikh
 
Virtualization VMWare technology
Virtualization VMWare technologyVirtualization VMWare technology
Virtualization VMWare technologysanjoysanyal
 
LCA13: Xen on ARM
LCA13: Xen on ARMLCA13: Xen on ARM
LCA13: Xen on ARMLinaro
 
RunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edgeRunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edgeStefano Stabellini
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxThe Linux Foundation
 
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...The Linux Foundation
 
VMworld 2013: vSphere Distributed Switch – Design and Best Practices
VMworld 2013: vSphere Distributed Switch – Design and Best Practices VMworld 2013: vSphere Distributed Switch – Design and Best Practices
VMworld 2013: vSphere Distributed Switch – Design and Best Practices VMworld
 
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMHypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMvwchu
 
Using Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And TestingUsing Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And Testingelliando dias
 
Virtual machines and their architecture
Virtual machines and their architectureVirtual machines and their architecture
Virtual machines and their architectureMrinmoy Dalal
 
AIX Administration Knowledge Share
AIX Administration Knowledge ShareAIX Administration Knowledge Share
AIX Administration Knowledge Share.Gastón. .Bx.
 

What's hot (20)

Silberschatz / OS Concepts
Silberschatz /  OS Concepts Silberschatz /  OS Concepts
Silberschatz / OS Concepts
 
ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)
 
ELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for EmbeddedELC21: VM-to-VM Communication Mechanisms for Embedded
ELC21: VM-to-VM Communication Mechanisms for Embedded
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
 
What is Kernel, basic idea of kernel
What is Kernel, basic idea of kernelWhat is Kernel, basic idea of kernel
What is Kernel, basic idea of kernel
 
Virtualization VMWare technology
Virtualization VMWare technologyVirtualization VMWare technology
Virtualization VMWare technology
 
LCA13: Xen on ARM
LCA13: Xen on ARMLCA13: Xen on ARM
LCA13: Xen on ARM
 
OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training
 
RunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edgeRunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edge
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
Paravirtualization
ParavirtualizationParavirtualization
Paravirtualization
 
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
 
Xvisor: embedded and lightweight hypervisor
Xvisor: embedded and lightweight hypervisorXvisor: embedded and lightweight hypervisor
Xvisor: embedded and lightweight hypervisor
 
VMworld 2013: vSphere Distributed Switch – Design and Best Practices
VMworld 2013: vSphere Distributed Switch – Design and Best Practices VMworld 2013: vSphere Distributed Switch – Design and Best Practices
VMworld 2013: vSphere Distributed Switch – Design and Best Practices
 
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMHypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
 
Using Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And TestingUsing Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And Testing
 
Virtual machines and their architecture
Virtual machines and their architectureVirtual machines and their architecture
Virtual machines and their architecture
 
DHCP and NIS
DHCP and NISDHCP and NIS
DHCP and NIS
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
 
AIX Administration Knowledge Share
AIX Administration Knowledge ShareAIX Administration Knowledge Share
AIX Administration Knowledge Share
 

Similar to Xen architecture q1 2008

XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...The Linux Foundation
 
Automated paravitualization of device drivers in xen
Automated paravitualization of device drivers in xenAutomated paravitualization of device drivers in xen
Automated paravitualization of device drivers in xenMPNIKHIL
 
Xen Project Update LinuxCon Brazil
Xen Project Update LinuxCon BrazilXen Project Update LinuxCon Brazil
Xen Project Update LinuxCon BrazilThe Linux Foundation
 
Xen and Client Virtualization: the case of XenClient XT
Xen and Client Virtualization: the case of XenClient XTXen and Client Virtualization: the case of XenClient XT
Xen and Client Virtualization: the case of XenClient XTThe Linux Foundation
 
Xen Hypervisor.pptx
Xen Hypervisor.pptxXen Hypervisor.pptx
Xen Hypervisor.pptxRiyaBatool
 
XenServer, Hyper-V, and ESXi - Architecture, API, and Coding
XenServer, Hyper-V, and ESXi -  Architecture, API, and CodingXenServer, Hyper-V, and ESXi -  Architecture, API, and Coding
XenServer, Hyper-V, and ESXi - Architecture, API, and Coding_Humair_Ahmed_
 
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCPLinuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCPThe Linux Foundation
 
LinuxCon NA 2012: Virtualization in the cloud featuring xen
LinuxCon NA 2012: Virtualization in the cloud featuring xenLinuxCon NA 2012: Virtualization in the cloud featuring xen
LinuxCon NA 2012: Virtualization in the cloud featuring xenThe Linux Foundation
 
Linaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARMLinaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARMThe Linux Foundation
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPOscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPThe Linux Foundation
 
LinuxTag13: 10 years of Xen and beyond
LinuxTag13: 10 years of Xen and beyondLinuxTag13: 10 years of Xen and beyond
LinuxTag13: 10 years of Xen and beyondThe Linux Foundation
 
Mobile Virtualization using the Xen Technologies
Mobile Virtualization using the Xen TechnologiesMobile Virtualization using the Xen Technologies
Mobile Virtualization using the Xen TechnologiesThe Linux Foundation
 
A510840101 24982 23_2020_lecture_2
A510840101 24982 23_2020_lecture_2A510840101 24982 23_2020_lecture_2
A510840101 24982 23_2020_lecture_2Krishna Kumar Singh
 
LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondThe Linux Foundation
 

Similar to Xen architecture q1 2008 (20)

XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
XPDDS19: The Xen-Blanket for 2019 - Christopher Clark and Kelli Little, Star ...
 
Automated paravitualization of device drivers in xen
Automated paravitualization of device drivers in xenAutomated paravitualization of device drivers in xen
Automated paravitualization of device drivers in xen
 
Xen Project Update LinuxCon Brazil
Xen Project Update LinuxCon BrazilXen Project Update LinuxCon Brazil
Xen Project Update LinuxCon Brazil
 
Xen and Client Virtualization: the case of XenClient XT
Xen and Client Virtualization: the case of XenClient XTXen and Client Virtualization: the case of XenClient XT
Xen and Client Virtualization: the case of XenClient XT
 
Xen & virtualization
Xen & virtualizationXen & virtualization
Xen & virtualization
 
Virtual Machine
Virtual MachineVirtual Machine
Virtual Machine
 
Xen Hypervisor.pptx
Xen Hypervisor.pptxXen Hypervisor.pptx
Xen Hypervisor.pptx
 
XenServer, Hyper-V, and ESXi - Architecture, API, and Coding
XenServer, Hyper-V, and ESXi -  Architecture, API, and CodingXenServer, Hyper-V, and ESXi -  Architecture, API, and Coding
XenServer, Hyper-V, and ESXi - Architecture, API, and Coding
 
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCPLinuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
 
LinuxCon NA 2012: Virtualization in the cloud featuring xen
LinuxCon NA 2012: Virtualization in the cloud featuring xenLinuxCon NA 2012: Virtualization in the cloud featuring xen
LinuxCon NA 2012: Virtualization in the cloud featuring xen
 
Linaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARMLinaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARM
 
2010 xen-lisa
2010 xen-lisa2010 xen-lisa
2010 xen-lisa
 
xen.pptx
xen.pptxxen.pptx
xen.pptx
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPOscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
 
LinuxTag13: 10 years of Xen and beyond
LinuxTag13: 10 years of Xen and beyondLinuxTag13: 10 years of Xen and beyond
LinuxTag13: 10 years of Xen and beyond
 
Mobile Virtualization using the Xen Technologies
Mobile Virtualization using the Xen TechnologiesMobile Virtualization using the Xen Technologies
Mobile Virtualization using the Xen Technologies
 
A510840101 24982 23_2020_lecture_2
A510840101 24982 23_2020_lecture_2A510840101 24982 23_2020_lecture_2
A510840101 24982 23_2020_lecture_2
 
Aplura virtualization slides
Aplura virtualization slidesAplura virtualization slides
Aplura virtualization slides
 
LinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and Beyond
 

Recently uploaded

Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 

Xen architecture q1 2008

  • 1. Xen Architecture Overview Date: February 13, 2008 Version: 1.2
  • 2. Table of Contents Executive Summary ............................................................................................................ 3 Xen Components ................................................................................................................. 3 Xen Hypervisor ............................................................................................................... 3 Domain 0 ......................................................................................................................... 4 Domain U ........................................................................................................................ 4 Domain Management and Control .................................................................................. 6 Xend ............................................................................................................................ 6 Xm............................................................................................................................... 6 Xenstored .................................................................................................................... 6 Libxenctrl .................................................................................................................... 6 Qemu-dm .................................................................................................................... 7 Xen Virtual Firmware ................................................................................................. 7 Xen Operation ..................................................................................................................... 7 Domain 0 to Domain U Communication ........................................................................ 8 Glossary .............................................................................................................................. 9 Xen Architecture Overview 2
  • 3. Executive Summary This document contains a high level architectural overview of the Xen hypervisor and the associated tools and applications necessary to support a complete virtualization environment. The architecture is based on Xen 3.2 released in late January 2008 and is only an introduction to the overall Xen architecture. For a more complete description of the architecture please reference the many Xen books available. Xen Components A Xen virtual environment consist of several items that work together to deliver the virtualization environment a customer is looking to deploy: Xen Hypervisor Domain 0 Domain Management and Control (Xen DM&C) Domain U (Dom U) PV Guest Domain U (Dom U) HVM Guest The diagram below shows the basic organization of these components. Domain 0 DOM U DOM U Xen DM&C PV Guest HVM Guest Xen Hypervisor Xen Hypervisor The Xen hypervisor is the basic abstraction layer of software that sits directly on the hardware below any operating systems. It is responsible for CPU scheduling and memory partitioning of the various virtual machines running on the hardware device. The hypervisor not only abstracts the hardware for the virtual machines but also controls the execution of virtual machines as they share the common processing environment. It has Xen Architecture Overview 3
  • 4. no knowledge of networking, external storage devices, video, or any other common I/O functions found on a computing system. Domain 0 Domain 0, a modified Linux kernel, is a unique virtual machine running on the Xen hypervisor that has special rights to access physical I/O resources as well as interact with the other virtual machines (Domain U: PV and HVM Guests) running on the system. All Xen virtualization environments require Domain 0 to be running before any other virtual machines can be started. Two drivers are included in Domain 0 to support network and local disk requests from Domain U PV and HVM Guests (see below); the Network Backend Driver and the Block Backend Driver. The Network Backend Driver communicates directly with the local networking hardware to process all virtual machines requests coming from the Domain U guests. The Block Backend Driver communicates with the local storage disk to read and write data from the drive based upon Domain U requests. Domain 0 PV Drivers: Network Backend Driver Block Backend Driver Domain U All paravirtualized virtual machines running on a Xen hypervisor are referred to as Domain U PV Guests and are run modified Linux operating systems, Solaris, FreeBSD, and other UNIX operating systems. All fully virtualized machines running on a Xen hypervisor are referred to as Domain U HVM Guests and run on standard Windows or any other unchanged operating system. The Domain U PV Guest virtual machine is aware that it does not have direct access to the hardware and recognizes that other virtual machines are running on the same machine. The Domain U HVM Guest virtual machine is not aware that it is sharing processing time on the hardware and that other virtual machines are present. Xen Architecture Overview 4
  • 5. A Domain U PV Guest contains two drivers for network and disk access, PV Network Driver and PV Block Driver. Domain U PV Guest PV Drivers: Network Driver Block Driver A Domain U HVM Guest does not have the PV drivers located within the virtual machine; instead a special daemon is started for each HVM Guest in Domain 0, Qemu- dm. Qemu-dm supports the Domain U HVM Guest for networking and disk access requests. The Domain U HVM Guest must initialize as it would on a typical machine so software is added to the Domain U HVM Guest, Xen virtual firmware, to simulate the BIOS an operating system would expect on startup. More information on the Xen virtual firmware is presented later in this document. Domain 0 Domain U HVM Guest Qemu-DM Xen virtual firmware Xen Architecture Overview 5
  • 6. Domain Management and Control A series of Linux daemons are classified as Domain Management and Control by the open source community. These services support the overall management and control of the virtualization environment and exist within the Domain 0 virtual machine. The diagrams below show the daemons outside the Domain 0 diagram for a clearer understanding of the architecture. Xend The Xend daemon is a python application that is considered the system manager for the Xen environment. It leverages the libxenctrl library (see below) to make requests of the Xen hypervisor. All requests processed by the Xend are delivered to it via an XML RPC interface by the Xm (see below) tool. XML RPC Xend XM Libxenctrl Domain 0 Xen Hypervisor Xm The command line tool that takes user input and passes to Xend via XML RPC. Xenstored The Xenstored daemon maintains a registry of information including memory and event channel links between Domain 0 and all other Domain U Guests. The Domain 0 virtual machine leverages this registry to setup device channels with other virtual machines on the system. (See Domain 0 to Domain U Communication for more details). Libxenctrl Libxenctrl is a C library that provides Xend the ability to talk with the Xen hypervisor via Domain 0. A special driver within Domain 0, privcmd delivers the request to the hypervisor. Xen Architecture Overview 6
  • 7. Xend Domain 0 Libxenctrl privcmd Xen Hypervisor Qemu-dm Every HVM Guest running on a Xen environment requires its own Qemu daemon. This tool handles all networking and disk requests from the Domain U HVM Guest to allow for a fully virtualized machine in the Xen environment. Qemu must exist outside the Xen hypervisor due to its need for access to networking and I/O and is therefore found in Domain 0. A new tool, Stub-dm, is in development for future versions of Xen that will remove the need for a Qemu running for every Domain U HVM Guest and will instead provide a set of services available to every Domain U HVM Guest. This feature is not available in Xen 3.2 but is currently part of the xen-unstable tree and will be released as part of Xen 3.3. Xen Virtual Firmware The Xen Virtual Firmware is a virtual BIOS that is inserted into every Domain U HVM Guest to ensure that the operating system receives all the standard start-up instructions it expects during normal boot-up providing a standard PC-compatible software environment. Xen Operation This section demonstrates how a paravirtualized Domain U is able to communicate with external networks or storage via the Xen hypervisor and Domain 0. Xen Architecture Overview 7
  • 8. Domain 0 to Domain U Communication As stated earlier, the Xen hypervisor is not written to support network or disk requests thus a Domain U PV Guest must communicate via the Xen hypervisor with the Domain 0 to accomplish a network or disk request. The example presented below shows a Domain U PV Guest writing data to the local hard disk. The Domain U PV Guest PV block driver receives a request to write to the local disk and writes the data via the Xen hypervisor to the appropriate local memory which is shared with Domain 0. An event channel exists between Domain 0 and the Domain U PV Guest that allows them to communicate via asynchronous inter-domain interrupts in the Xen hypervisor. Domain 0 will receive an interrupt from the Xen hypervisor causing the PV Block Backend Driver to access the local system memory reading the appropriate blocks from the Domain U PV Guest shared memory. The data from shared memory is then written to the local hard disk at a specific location. The event channel is shown below as a direct link between Domain 0 and Domain U PV Guest which is a simplified view of the way the system works. In fact, the event channel runs through the Xen hypervisor with specific interrupts registered in Xenstored allowing both the Domain 0 and Domain U PV Guest to quickly share information across local memory. The figure below shows the previously described situation: Domain 0 Domain U PV Guest Event Channel PV Block Backend PV Block Driver Driver Xen Hypervisor Shared Memory Data Dom U Data Dom U Xen Architecture Overview 8
  • 9. Glossary C: http://www.cprogramming.com/; a computer programming language Daemons: http://en.wikipedia.org/wiki/Daemon_(computer_software); a program running in the background rather than under direct control of a user Driver: http://en.wikipedia.org/wiki/Device_driver; program allowing software to interact with hardware Full Virtualization: http://en.wikipedia.org/wiki/Full_virtualization; a virtual machine not aware of its virtualization Interrupt: http://en.wikipedia.org/wiki/Interrupt; signal from hardware to software requesting a specific action in software Kernel: http://en.wikipedia.org/wiki/Linux_kernel; the central component of a computer operating system Paravirtualized: http://en.wikipedia.org/wiki/Paravirtualization; virtual machine running on a hypervisor that is aware of it being virtualized] Python: http://www.python.org/; a dynamic object oriented programming language ROM BIOS: http://en.wikipedia.org/wiki/BIOS; software instructions run on a machine when turned on XML PRC: http://www.xmlrpc.com/; method for an application to leverage another application using HTTP for the remote procedure call and XML as the encoding Xen Architecture Overview 9