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

Xen Hypervisor.pptx
Xen Hypervisor.pptxXen Hypervisor.pptx
Xen Hypervisor.pptxRiyaBatool
 
Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Stefano Stabellini
 
virtualization and hypervisors
virtualization and hypervisorsvirtualization and hypervisors
virtualization and hypervisorsGaurav Suri
 
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
 
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
 
Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Stefano Stabellini
 
Virtualization VMWare technology
Virtualization VMWare technologyVirtualization VMWare technology
Virtualization VMWare technologysanjoysanyal
 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022Stefano Stabellini
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...The Linux Foundation
 
Linux vs Windows | Edureka
Linux vs Windows | EdurekaLinux vs Windows | Edureka
Linux vs Windows | EdurekaEdureka!
 
From printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debuggingFrom printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debuggingThe Linux Foundation
 
Microsoft Hyper-V explained
Microsoft Hyper-V explainedMicrosoft Hyper-V explained
Microsoft Hyper-V explainedTTEC
 
VMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-VVMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-VDavid Ramirez
 
Vmware overview
Vmware overviewVmware overview
Vmware overviewSyed Zeeshan
 
Android Storage - Vold
Android Storage - VoldAndroid Storage - Vold
Android Storage - VoldWilliam Lee
 
DMA Survival Guide
DMA Survival GuideDMA Survival Guide
DMA Survival GuideKernel TLV
 

What's hot (20)

Xen Hypervisor.pptx
Xen Hypervisor.pptxXen Hypervisor.pptx
Xen Hypervisor.pptx
 
Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022
 
virtualization and hypervisors
virtualization and hypervisorsvirtualization and hypervisors
virtualization and hypervisors
 
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
 
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
 
Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)
 
Virtualization VMWare technology
Virtualization VMWare technologyVirtualization VMWare technology
Virtualization VMWare technology
 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
 
Proxmox 5.0
Proxmox 5.0Proxmox 5.0
Proxmox 5.0
 
Linux PV on HVM
Linux PV on HVMLinux PV on HVM
Linux PV on HVM
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
Linux vs Windows | Edureka
Linux vs Windows | EdurekaLinux vs Windows | Edureka
Linux vs Windows | Edureka
 
From printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debuggingFrom printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debugging
 
Linux basics
Linux basicsLinux basics
Linux basics
 
Microsoft Hyper-V explained
Microsoft Hyper-V explainedMicrosoft Hyper-V explained
Microsoft Hyper-V explained
 
Intro to linux
Intro to linuxIntro to linux
Intro to linux
 
VMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-VVMWARE VS MS-HYPER-V
VMWARE VS MS-HYPER-V
 
Vmware overview
Vmware overviewVmware overview
Vmware overview
 
Android Storage - Vold
Android Storage - VoldAndroid Storage - Vold
Android Storage - Vold
 
DMA Survival Guide
DMA Survival GuideDMA Survival Guide
DMA Survival Guide
 

Similar to Xen architecture q1 2008

OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training The Linux Foundation
 
Open source hypervisors in cloud
Open source hypervisors in cloudOpen source hypervisors in cloud
Open source hypervisors in cloudChetna Purohit
 
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 & virtualization
Xen & virtualizationXen & virtualization
Xen & virtualizationSusheel Thakur
 
Virtual Machine
Virtual MachineVirtual Machine
Virtual MachineMehul Boghra
 
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
 
2010 xen-lisa
2010 xen-lisa2010 xen-lisa
2010 xen-lisaTodd Deshane
 
xen.pptx
xen.pptxxen.pptx
xen.pptxMsRAMYACSE
 
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
 
Aplura virtualization slides
Aplura virtualization slidesAplura virtualization slides
Aplura virtualization slidesThe Linux Foundation
 

Similar to Xen architecture q1 2008 (20)

OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training
 
Open source hypervisors in cloud
Open source hypervisors in cloudOpen source hypervisors in cloud
Open source hypervisors in cloud
 
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
 
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
 

Recently uploaded

Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
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
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
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
 
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
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 

Recently uploaded (20)

LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
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
 
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
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
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
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
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
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 

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