Jump to content

Xen: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Oracle's commercial Xen offering is available for SPARC systems. See http://www.oracle.com/us/technologies/virtualization/oracle-vm-server-for-sparc/overview/index.html
m Guests: it’s a conference paper, so it should use {{cite conference}}
 
(241 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
{{About|the virtualization software}}
{{About|the virtualization software}}
{{Short description|Type-1 hypervisor}}
{{lead too short|date=October 2012}}
{{Use mdy dates|date=June 2016}}
{{Infobox software
{{Infobox software
| title =
| name = Xen Project
| name = Xen Project
| title =
| logo = Xen hypervisor logo black.svg
| logo = Xen hypervisor logo black.svg
| screenshot = Xen screenshot.png
| logo_size = 200px
| caption = Xen running [[NetBSD]] and three [[Linux]] distributions
| logo_alt =
| collapsible =
| screenshot = [[File:Xen screenshot.png|300px]]
| author = Keir Fraser, Steven Hand, [[Ian Pratt (computer scientist)|Ian Pratt]], [[University of Cambridge Computer Laboratory]]
| caption = Xen Project running [[NetBSD]] and three [[Linux]] distributions
| developer = [[Linux Foundation]]<br>[[Intel]]
| collapsible =
| released = {{Start date and age|2003|10|02}}<ref name="ZnSIW"/><ref name="V2cS8"/>
| author = Keir Fraser, Steven Hand, [[Ian Pratt (computer scientist)|Ian Pratt]], [[University of Cambridge Computer Laboratory]]
| discontinued =
| developer = [[Linux Foundation]]
| latest release version = {{wikidata|property|preferred|references|edit|P348|P548=Q2804309}}
| released = {{start date|2003}}
| latest release date = {{Start date and age|{{wikidata|qualifier|preferred|single|P348|P548=Q2804309|P577}}}}
| discontinued =
| latest preview version =
| latest release version = 4.6<ref name="Blog.xen.org.20151013">{{cite web |url=https://blog.xenproject.org/2015/10/13/xen-4-6/ |title=Best Quality and Quantity of Contributions in the New Xen Project 4.6 Release |publisher=Xen.org |date=2015-10-13 |accessdate=2015-10-13}}</ref>
| latest release date = {{Start date and age|2015|10|13}}
| latest preview date =
| programming language = [[C (programming language)|C]]
| latest preview version =
| operating system =
| latest preview date =
| platform =
| programming language =
| size =
| operating system =
| language =
| platform =
| genre = [[Hypervisor]]
| size =
| license = [[GNU General Public License|GPLv2]]
| language =
| website = {{URL|https://xenproject.org/}}
| status =
| genre = [[Hypervisor]]
| license = [[GNU GPL]] version 2
| website = {{URL|http://www.xenproject.org/}}
}}
}}


'''Xen Project''' (pronounced as {{IPAc-en|ˈ|z|ɛ|n}} {{IPAc-en|p|r|'|ɒ|d|ʒ|ɛ|k|t}}) is a [[hypervisor]] using a [[microkernel]] design, providing services that allow multiple computer [[operating system]]s to execute on the same [[computer hardware]] concurrently.
'''Xen''' (pronounced {{IPAc-en|ˈ|z|ɛ|n}}) is a [[free and open-source]] type-1 [[hypervisor]], providing services that allow multiple computer [[operating system]]s to execute on the same [[computer hardware]] concurrently. It was
originally developed by the [[University of Cambridge Computer Laboratory]] and is now being developed by the [[Linux Foundation]] with support from [[Intel]], [[Citrix]], [[Arm Ltd]], [[Huawei]], [[AWS]], [[Alibaba Cloud]], [[AMD]], [[Bitdefender]] and [[EPAM Systems]].


The [[University of Cambridge Computer Laboratory]] developed the first versions of Xen. The Xen Project community develops and maintains Xen Project as [[free and open-source software]], subject to the requirements of the [[GNU General Public License]] (GPL), version 2. Xen Project is currently available for the [[IA-32]], [[x86-64]] and [[ARM architecture|ARM]] [[instruction set]]s.
The Xen Project community develops and maintains Xen Project as [[free and open-source software]], subject to the requirements of the [[GNU General Public License]] (GPL), version 2. Xen Project is currently available for the [[IA-32]], [[x86-64]] and [[ARM architecture|ARM]] [[instruction set]]s.<ref name="LK362">{{cite news |last1=jgross |title=What's New In XEN 4.12 |url=https://xenproject.org/2019/04/02/whats-new-in-xen-4-12/ |access-date=6 May 2019 |work=xenproject.org |date=2 April 2019}}</ref>


== Software architecture ==
== Software architecture ==
Xen Project runs in a more privileged CPU state than any other software on the machine.
Xen Project runs in a more privileged CPU state than any other software on the machine, except for [[firmware]].


Responsibilities of the hypervisor include memory management and CPU scheduling of all virtual machines ("domains"), and for launching the most privileged domain ("dom0") - the only virtual machine which by default has direct access to hardware. From the dom0 the hypervisor can be managed and unprivileged domains ("domU") can be launched.<ref>{{cite web |url=http://wiki.xen.org/wiki/Xen_Overview#Introduction_to_Xen_Architecture |title=Xen Overview |accessdate=2015-04-05}}</ref>
Responsibilities of the hypervisor include memory management and CPU scheduling of all virtual machines ("domains"), and for launching the most privileged domain ("dom0") - the only virtual machine which by default has direct access to hardware. From the dom0 the hypervisor can be managed and unprivileged domains ("domU") can be launched.<ref name="ma5XQ">{{cite web |url=http://wiki.xen.org/wiki/Xen_Overview#Introduction_to_Xen_Architecture |title=Xen Overview |access-date=April 5, 2015}}</ref>


The dom0 domain is typically a version of [[Linux]] or [[NetBSD|BSD]]. User domains may either be traditional operating systems, such as [[Microsoft Windows]] under which privileged instructions are provided by hardware virtualization instructions (if the host processor supports [[x86 virtualization]], e.g., [[Intel VT-x]] and [[AMD-V]]),<ref>{{cite web |url=http://wiki.xenproject.org/wiki/Category:Compatibility#OSCompatibility |title=OSCompatibility - Xen Project Wiki |publisher=Wiki.xenproject.org |date=2007-02-08 |accessdate=2013-06-08}}</ref> or ''para-virtualized'' operating systems whereby the operating system is aware that it is running inside a virtual machine, and so makes hypercalls directly, rather than issuing privileged instructions.
The dom0 domain is typically a version of [[Linux]] or [[NetBSD|BSD]]. User domains may either be traditional operating systems, such as [[Microsoft Windows]] under which privileged instructions are provided by hardware virtualization instructions (if the host processor supports [[x86 virtualization]], e.g., [[Intel VT-x]] and [[AMD-V]]),<ref name="n3NAX">{{cite web |url=http://wiki.xenproject.org/wiki/Category:Compatibility#OSCompatibility |title=OSCompatibility - Xen Project Wiki |publisher=Wiki.xenproject.org |date=February 8, 2007 |access-date=June 8, 2013}}</ref> or [[Paravirtualization|paravirtualized]] operating systems whereby the operating system is aware that it is running inside a virtual machine, and so makes hypercalls directly, rather than issuing privileged instructions.


Xen Project boots from a [[bootloader]] such as [[GNU GRUB]], and then usually loads a [[Paravirtualization|paravirtualized]] host operating system into the host domain (dom0).
Xen Project boots from a [[bootloader]] such as [[GNU GRUB]], and then usually loads a [[Paravirtualization|paravirtualized]] host operating system into the host domain (dom0).


== History ==
== History ==
Xen Project originated as a research project at the [[University of Cambridge]], led by [[Ian Pratt (computer scientist)|Ian Pratt]], [[lecturer|senior lecturer]] at Cambridge who co-founded XenSource, Inc. with [[Simon Crosby]] also of Cambridge University. The first public release of Xen was made in 2003.


Xen originated as a research project at the [[University of Cambridge]] led by [[Ian Pratt (computer scientist)|Ian Pratt]], a [[lecturer|senior lecturer]] in the [[University of Cambridge Computer Laboratory|Computer Laboratory]], and his PhD student Keir Fraser. The first public release of Xen was made in 2003, with v1.0 following in 2004. Soon after, Pratt and Fraser along with other Cambridge alumni including Simon Crosby and founding CEO Nick Gault created XenSource Inc. to turn Xen into a competitive enterprise product.
Xen Project has been supported originally by XenSource Inc., and since the acquisition of XenSource by Citrix in October 2007. This organisation supports the development of the [[free software]] project and also sells enterprise versions of the software.


To support embedded systems such as smartphone/ IoT with relatively scarce hardware computing resources, the Secure Xen ARM architecture on an ARM CPU was exhibited at Xen Summit on April 17, 2007, held in IBM TJ Watson.<ref name="G3T1m">{{Cite web|url=http://www-archive.xenproject.org/xensummit/xensummit_spring_2007.html|title=Xen Summit April 2007|date=April 2007|website=Xen Project}}</ref><ref name="TQ6DX">{{Cite web|url=http://www-archive.xenproject.org/files/xensummit_4/Secure_Xen_ARM_xen-summit-04_07_Suh.pdf|last=Suh|first=Sang-bum|date=April 2007|title=Secure Architecture and Implementation of Xen on the ARM for Mobile Devices|website=Xen Project}}</ref> The first public release of Secure Xen ARM source code was made at Xen Summit on June 24, 2008<ref name="B1VTw">{{Cite web|url=http://www-archive.xenproject.org/xensummit/xensummit_summer_2008.html|title=Xen Summit Boston 2008|date=June 2008|website=Xen Project}}</ref><ref name="feW3I">{{Cite web|url=http://www-archive.xenproject.org/files/xensummitboston08/SecureXenARM_XenSummitNorthAmerica2008.pdf|last=Suh|first=Sang-bum|date=June 2008|title=Secure Xen on ARM: Source Code Release and Update|website=Xen Project}}</ref> by [[Sang-bum Suh]],<ref name="ENmmB">{{Cite web|url=http://www-archive.xenproject.org/files/xensummitspeakers.pdf|title=XenSummit Speaker Profiles|date=June 2008|website=Xen Summit Boston 2008}}</ref> a Cambridge alumnus, in Samsung Electronics.
On 22 October 2007, [[Citrix Systems]] completed its acquisition of XenSource,<ref>{{cite web |title=Citrix Systems &raquo; Citrix Completes Acquisition of XenSource |publisher=Citrix Systems |date=2007-07-12 |url=http://www.citrix.com/English/NE/news/news.asp?newsID=683171}}</ref> and the Xen Project moved to the xen.org domain. This move had started some time previously, and made public the existence of the Xen Project Advisory Board (Xen AB), which had members from [[Citrix]], [[IBM]], [[Intel]], [[Hewlett-Packard]], [[Novell]], [[Red Hat]], [[Sun Microsystems]] and [[Oracle Corporation|Oracle]]. The Xen Advisory Board advises the Xen Project leader and is responsible for the Xen trademark,<ref>{{cite web |url=http://www-archive.xenproject.org/projects/trademark.html |title=Trademark |publisher=Xen.org |accessdate=2012-06-08}}</ref> which Citrix has freely licensed to all vendors and projects that implement the Xen [[hypervisor]].<ref>{{cite web |url=http://www-archive.xenproject.org/files/XenTMPolicy2008June.pdf |title=Trademark Policy |publisher=Xen.org |type=PDF |date=2008-06-01 |accessdate=2013-06-08}}</ref>


On October 22, 2007, [[Citrix Systems]] completed its acquisition of XenSource,<ref name="Yu2VJ">{{cite web |title=Citrix Systems » Citrix Completes Acquisition of XenSource |publisher=Citrix Systems |date=July 12, 2007 |url=http://www.citrix.com/English/NE/news/news.asp?newsID=683171 |access-date=October 26, 2007 |archive-url=https://web.archive.org/web/20120206091534/http://www.citrix.com/English/NE/news/news.asp?newsID=683171 |archive-date=February 6, 2012 |url-status=dead}}</ref> and the Xen Project moved to the xen.org domain. This move had started some time previously, and made public the existence of the Xen Project Advisory Board (Xen AB), which had members from [[Citrix]], [[IBM]], [[Intel]], [[Hewlett-Packard]], [[Novell]], [[Red Hat]], [[Sun Microsystems]] and [[Oracle Corporation|Oracle]]. The Xen Advisory Board advises the Xen Project leader and is responsible for the Xen trademark,<ref name="4DC2Y">{{cite web |url=http://www-archive.xenproject.org/projects/trademark.html |title=Trademark |publisher=Xen.org |access-date=June 8, 2012}}</ref> which Citrix has freely licensed to all vendors and projects that implement the Xen [[hypervisor]].<ref name="jLyvF">{{cite web |url=http://www-archive.xenproject.org/files/XenTMPolicy2008June.pdf |title=Trademark Policy |publisher=Xen.org |type=PDF |date=June 1, 2008 |access-date=June 8, 2013}}</ref> Citrix also used the Xen brand itself for some proprietary products unrelated to Xen, including [[XenApp]] and [[XenDesktop]].
Citrix has also used the Xen brand itself for some proprietary products unrelated to Xen, including at least "XenApp" and "XenDesktop".


On 15 April 2013, it was announced that the Xen Project was moved under the auspices of the [[Linux Foundation]] as a Collaborative Project.<ref>{{cite web |url=http://www.linuxfoundation.org/content/xen-project |title=Linux Foundation Project |publisher=LinuxFoundation.org |accessdate=2013-05-03}}</ref> The Linux Foundation launched a new trademark for "Xen Project" to differentiate the project from any commercial use of the older "Xen" trademark. A new community website was launched at xenproject.org<ref>{{cite web |url=http://www.xenproject.org/ |title=XenProject.org Website |publisher=XenProject.org |accessdate=2013-05-03}}</ref> as part of the transfer. Project members at the time of the announcement included: Amazon, AMD, Bromium, CA Technologies, Calxeda, Cisco, Citrix, Google, Intel, Oracle, Samsung, and Verizon.<ref>{{cite web |url=http://www.xenproject.org/directory/project-members.html |title=Linux Foundation Xen Project Members |publisher=XenProject.org |accessdate=2013-05-03}}</ref> The Xen project itself is self-governing.<ref>{{cite web |url=http://xenproject.org/governance.html |title=Project Governance (Updated) |publisher=XenProject.org |accessdate=2013-05-03}}</ref>
On April 15, 2013, it was announced that the Xen Project was moved under the auspices of the [[Linux Foundation]] as a Collaborative Project.<ref name="0QHnD">{{cite web |url=http://www.linuxfoundation.org/content/xen-project |title=Linux Foundation Project |publisher=LinuxFoundation.org |access-date=May 3, 2013}}</ref> The Linux Foundation launched a new trademark for "Xen Project" to differentiate the project from any commercial use of the older "Xen" trademark. A new community website was launched at xenproject.org<ref name="tfthj">{{cite web |url=http://www.xenproject.org/ |title=XenProject.org Website |publisher=XenProject.org |access-date=May 3, 2013}}</ref> as part of the transfer. Project members at the time of the announcement included: Amazon, AMD, Bromium, CA Technologies, Calxeda, Cisco, Citrix, Google, Intel, Oracle, Samsung, and Verizon.<ref name="mNFDi">{{cite web |url=http://www.xenproject.org/directory/project-members.html |title=Linux Foundation Xen Project Members |publisher=XenProject.org |access-date=May 3, 2013}}</ref> The Xen project itself is self-governing.<ref name="CFWYB">{{cite web |url=http://xenproject.org/governance.html |title=Project Governance (Updated) |publisher=XenProject.org |access-date=May 3, 2013}}</ref>

Since version 3.0 of the [[Linux kernel]], Xen support for dom0 and domU exists in the mainline kernel.<ref name="DZLNi">{{cite web |url=http://blog.xen.org/index.php/2011/06/02/xen-celebrates-full-dom0-and-domu-support-in-linux-3-0/ |title=Xen celebrates full dom0 and domU support in Linux 3.0 – |publisher=Blog.xen.org |date=May 30, 2011 |access-date=October 18, 2012 |archive-url=https://web.archive.org/web/20110607003740/http://blog.xen.org/index.php/2011/06/02/xen-celebrates-full-dom0-and-domu-support-in-linux-3-0/ |archive-date=June 7, 2011 |url-status=dead}}</ref>

=== Release history ===


=== Release history for Xen Project (upstream project) ===
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Line 61: Line 62:
|-
|-
| 1.0
| 1.0
| {{date|2003-10-02|mdy}}<ref>{{cite web |url=http://sourceforge.net/mailarchive/message.php?msg_id=5533663 |title=Xen: |publisher=SourceForge.net |date=2003-10-02 |accessdate=2012-10-18}}</ref><ref>{{cite web |author=Jonathan Corbet |url=http://lwn.net/Articles/52033/ |title=The first stable Xen release |publisher=Lwn.net |date=2003-10-02 |accessdate=2012-10-18}}</ref>
| {{dts|2003-10-02}}<ref name="ZnSIW">{{cite web |url=http://sourceforge.net/mailarchive/message.php?msg_id=5533663 |title=Xen |publisher=SourceForge.net |date=October 2, 2003 |access-date=October 18, 2012}}</ref><ref name="V2cS8">{{cite web |author=Jonathan Corbet |url=https://lwn.net/Articles/52033/ |title=The first stable Xen release |publisher=Lwn.net |date=October 2, 2003 |access-date=October 18, 2012}}</ref>
|
|
|-
|-
| 2.0
| 2.0
| {{date|2004-11-05|mdy}}<ref>{{cite web |author=Jonathan Corbet |url=http://lwn.net/Articles/109789/ |title=Xen 2.0 released |publisher=Lwn.net |date=2004-11-05 |accessdate=2012-10-18}}</ref>
| {{dts|2004-11-05}}<ref name="7map7">{{cite web |author=Jonathan Corbet |url=https://lwn.net/Articles/109789/ |title=Xen 2.0 released |publisher=Lwn.net |date=November 5, 2004 |access-date=October 18, 2012}}</ref>
| [[Live migration]] of PV guests.
|
|-
|-
| 3.0
| 3.0
| {{date|2005-12-05|mdy}}<ref>{{cite web |author=Jonathan Corbet |url=http://lwn.net/Articles/162841/ |title=Xen 3.0 released |publisher=Lwn.net |date=2005-12-06 |accessdate=2012-10-18}}</ref><ref>{{cite web |url=http://www2.getxen.com/news/pr120505b.html |archiveurl=http://web.archive.org/web/20051210024853/http://www2.getxen.com/news/pr120505b.html |archivedate=2005-12-10 |title=Internet Archive Wayback Machine |publisher=Web.archive.org |date=2005-12-10 |accessdate=2012-10-18}}</ref>
| {{dts|2005-12-05}}<ref name="ihhab">{{cite web |author=Jonathan Corbet |url=https://lwn.net/Articles/162841/ |title=Xen 3.0 released |publisher=Lwn.net |date=December 6, 2005 |access-date=October 18, 2012}}</ref><ref name="R6Nsq">{{cite web |url=http://www2.getxen.com/news/pr120505b.html |archive-url=https://web.archive.org/web/20051210024853/http://www2.getxen.com/news/pr120505b.html |archive-date=December 10, 2005 |title=XenSource: Press Releases |publisher=XenSource, Inc. |date=December 10, 2005 |access-date=October 18, 2012}}</ref>
|
|
* Supports the [[Intel VT-x|Intel VT technology]] for HVM guests.
* Supports the [[Intel VT-x|Intel VT technology]] for HVM guests.
Line 75: Line 76:


The releases up to 3.0.4 also added:
The releases up to 3.0.4 also added:
* Support for the [[AMD virtualization|AMD SVM virtualization]] extensions.<ref>{{cite web |url=http://lists.xenproject.org/archives/html/xen-devel/2005-12/msg00543.html|title=AMD SVM Xen port is public|publisher=lists.xenproject.org |date=2005-12-14 |accessdate=2013-06-08}}</ref>
* Support for the [[AMD virtualization|AMD SVM virtualization]] extensions.<ref name="lG1ez">{{cite web |url=http://lists.xenproject.org/archives/html/xen-devel/2005-12/msg00543.html|title=AMD SVM Xen port is public|publisher=lists.xenproject.org |date=December 14, 2005 |access-date=June 8, 2013}}</ref>
* Support for the [[PowerPC]] architecture.<ref>{{cite web |url=http://lists.xenproject.org/archives/html/xen-devel/2006-10/msg00733.html |title=[Xen-devel&#93; Xen 3.0.3 released! - Xen Source |publisher=Lists.xenproject.org |date=2006-10-17 |accessdate=2013-06-08}}</ref>
* Support for the [[PowerPC]] architecture.<ref name="uMiL2">{{cite web |url=http://lists.xenproject.org/archives/html/xen-devel/2006-10/msg00733.html |title=[Xen-devel&#93; Xen 3.0.3 released! - Xen Source |publisher=Lists.xenproject.org |date=October 17, 2006 |access-date=June 8, 2013}}</ref>
* Graphical framebuffer support for paravirtualised guests.<ref>{{cite web |url=http://lists.xenproject.org/archives/html/xen-devel/2006-12/msg00889.html |title=[Xen-devel&#93; FW: Xen 3.0.4 released! - Xen Source |publisher=Lists.xenproject.org |date=2006-12-20 |accessdate=2013-06-08}}</ref>
* Graphical framebuffer support for paravirtualized guests.<ref name="PEwsL">{{cite web |url=http://lists.xenproject.org/archives/html/xen-devel/2006-12/msg00889.html |title=[Xen-devel&#93; FW: Xen 3.0.4 released! - Xen Source |publisher=Lists.xenproject.org |date=December 20, 2006 |access-date=June 8, 2013}}</ref>
|-
|-
| 3.1
| 3.1
| {{date|2007-05-18|mdy}}<ref>{{cite web |url=http://lists.xenproject.org/archives/html/xen-announce/2007-05/msg00002.html |title=[Xen-devel&#93; Xen 3.1 released! - Xen Source |publisher=Lists.xenproject.org |date=2007-05-18 |accessdate=2013-06-08}}</ref>
| {{dts|2007-05-18}}<ref name="H8x1r">{{cite web |url=http://lists.xenproject.org/archives/html/xen-announce/2007-05/msg00002.html |title=[Xen-devel&#93; Xen 3.1 released! - Xen Source |publisher=Lists.xenproject.org |date=May 18, 2007 |access-date=June 8, 2013}}</ref>
| Live migration for HVM guests, XenAPI
| [[Live migration]] for HVM guests, XenAPI
|-
|-
| 3.2
| 3.2
| {{date|2008-01-17|mdy}}<ref>{{cite web |url=http://vmblog.com/archive/2008/01/17/xen-3-2-0-officially-released.aspx |title=Xen 3.2.0 Officially Released : VMblog.com - Virtualization Technology News and Information for Everyone |publisher=VMblog.com |accessdate=2012-10-18}}</ref>
| {{dts|2008-01-17}}<ref name="sGqkg">{{cite web |url=http://vmblog.com/archive/2008/01/17/xen-3-2-0-officially-released.aspx |title=Xen 3.2.0 Officially Released : VMblog.com - Virtualization Technology News and Information for Everyone |publisher=VMblog.com |access-date=October 18, 2012}}</ref>
| PCI passthrough and ACPI S3 standby mode for the host system.
| PCI passthrough and ACPI S3 standby mode for the host system.
|-
|-
| 3.3
| 3.3
| {{date|2008-08-24|mdy}}<ref>{{cite web |url=http://www.h-online.com/newsticker/news/item/Xen-3-3-0-hypervisor-ready-for-download-737027.html |archiveurl=http://web.archive.org/web/20120314024846/http://www.h-online.com/newsticker/news/item/Xen-3-3-0-hypervisor-ready-for-download-737027.html |archivedate=14 March 2012 |title=Xen 3.3.0 hypervisor ready for download - The H: Open Source, Security and Development |publisher=H-online.com |date=2008-08-25 |accessdate=2012-10-18}}</ref>
| {{dts|2008-08-24}}<ref name="ygRY8">{{cite web |url=http://www.h-online.com/newsticker/news/item/Xen-3-3-0-hypervisor-ready-for-download-737027.html |archive-url=https://web.archive.org/web/20120314024846/http://www.h-online.com/newsticker/news/item/Xen-3-3-0-hypervisor-ready-for-download-737027.html |archive-date=March 14, 2012 |title=Xen 3.3.0 hypervisor ready for download - The H: Open Source, Security and Development |publisher=H-online.com |date=August 25, 2008 |access-date=October 18, 2012}}</ref>
| Improvements for the PCI passthrough and the power management.
| Improvements for the PCI passthrough and the power management. Xen ARM hypervisor source code released for ARM CPU support
|-
|-
| 3.4
| 3.4
| {{date|2009-05-18|mdy}}<ref>{{cite web |url=http://community.citrix.com/display/ocb/2009/05/18/Xen.org+Announces+Release+of+Xen+3.4+Hypervisor |title=Xen.org Announces Release Of Xen 3.4 Hypervisor &#124; Citrix Blogs |publisher=Community.citrix.com |date=2009-05-18 |accessdate=2012-10-18}}</ref>
| {{dts|2009-05-18}}<ref name="ArvrD">{{cite web |url=http://community.citrix.com/display/ocb/2009/05/18/Xen.org+Announces+Release+of+Xen+3.4+Hypervisor |title=Xen.org Announces Release Of Xen 3.4 Hypervisor &#124; Citrix Blogs |publisher=Community.citrix.com |date=May 18, 2009 |access-date=October 18, 2012 |archive-url=https://web.archive.org/web/20110315025808/http://community.citrix.com/display/ocb/2009/05/18/Xen.org+Announces+Release+of+Xen+3.4+Hypervisor |archive-date=March 15, 2011 |url-status=dead}}</ref>
| Contains a first version of the "Xen Client Initiative", shortly XCI.
| Contains a first version of the "Xen Client Initiative", shortly XCI.
|-
|-
| 4.0
| 4.0
| {{date|2010-04-07|mdy}}<ref>{{cite web |url=http://www.h-online.com/open/news/item/Virtualisation-Xen-is-looking-to-catch-up-by-releasing-version-4-974405.html |archiveurl=http://web.archive.org/web/20120314024856/http://www.h-online.com/open/news/item/Virtualisation-Xen-is-looking-to-catch-up-by-releasing-version-4-974405.html|archivedate=14 March 2012|title=Virtualisation: Xen is looking to catch up by releasing version 4 - The H Open: News and Features |publisher=H-online.com |date=2010-04-09 |accessdate=2012-10-18}}</ref>
| {{dts|2010-04-07}}<ref name="x1cjg">{{cite web |url=http://www.h-online.com/open/news/item/Virtualisation-Xen-is-looking-to-catch-up-by-releasing-version-4-974405.html |archive-url=https://web.archive.org/web/20120314024856/http://www.h-online.com/open/news/item/Virtualisation-Xen-is-looking-to-catch-up-by-releasing-version-4-974405.html|archive-date=March 14, 2012|title=Virtualisation: Xen is looking to catch up by releasing version 4 - The H Open: News and Features |publisher=H-online.com |date=April 9, 2010 |access-date=October 18, 2012}}</ref>
| Makes it possible to use a dom0 Linux kernel, which has been implemented by using PVOps. A Linux kernel of version 2.6.31 has been modified for this purpose, because the official Linux kernel actually does not support the usage as dom0 kernel (date July 2010).<ref>{{cite web |url=http://www.xen.org/files/Xen_4_0_Datasheet.pdf |title=Xen 4.0 Datasheet |publisher=Xen.org |type=PDF |accessdate=2012-10-18}}</ref>
| Makes it possible to use a dom0 Linux kernel, which has been implemented by using PVOps. A Linux kernel of version 2.6.31 has been modified for this purpose, because the official Linux kernel actually does not support the usage as dom0 kernel (date July 2010).<ref name="dhQqK">{{cite web |url=http://www.xen.org/files/Xen_4_0_Datasheet.pdf |title=Xen 4.0 Datasheet |publisher=Xen.org |type=PDF |access-date=October 18, 2012 |archive-date=May 10, 2012 |archive-url=https://web.archive.org/web/20120510232212/http://xen.org/files/Xen_4_0_Datasheet.pdf |url-status=dead }}</ref>
|-
|-
| 4.1
| 4.1
| {{date|2011-03-25|mdy}}<ref>{{cite web |url=http://blog.xen.org/index.php/2011/03/25/xen-4-1-releases/ |title=Xen 4.1 releases – |publisher=Blog.xen.org |date=2011-03-25 |accessdate=2012-10-18}}</ref>
| {{dts|2011-03-25}}<ref name="yo4nD">{{cite web |url=http://blog.xen.org/index.php/2011/03/25/xen-4-1-releases/ |title=Xen 4.1 releases – |publisher=Blog.xen.org |date=March 25, 2011 |access-date=October 18, 2012 |archive-url=https://web.archive.org/web/20110829033741/http://blog.xen.org/index.php/2011/03/25/xen-4-1-releases/ |archive-date=August 29, 2011 |url-status=dead}}</ref>
| Some of the improvements: Support for more than 255 processors, better stability. Linux kernel v2.6.37 and onward support usage as dom0 kernel.<ref>{{cite web |url=http://wiki.xenproject.org/wiki/XenParavirtOps |title=XenParavirtOps - Xen Wiki |publisher=Wiki.xenproject.org |accessdate=2013-06-08}}</ref>
| Some of the improvements: Support for more than 255 processors, better stability. Linux kernel v2.6.37 and onward support usage as dom0 kernel.<ref name="sGH8a">{{cite web |url=http://wiki.xenproject.org/wiki/XenParavirtOps |title=XenParavirtOps - Xen Wiki |publisher=Wiki.xenproject.org |access-date=June 8, 2013}}</ref>
|-
|-
| 4.2
| 4.2
| {{dts|2012-09-08}}<ref name="Blog.xen.org.20151013">{{cite web |url=https://blog.xenproject.org/2015/10/13/xen-4-6/ |title=Best Quality and Quantity of Contributions in the New Xen Project 4.6 Release |publisher=Xenproject.org |date=October 13, 2015 |access-date=October 13, 2015}}</ref>
| {{date|2012-09-08|mdy}}<ref name="Blog.xen.org.20151013" />
| XL became the default toolstack. Support for up to 4095 host processors and up to 512 guest processors.
| XL became the default toolstack. Support for up to 4095 host processors and up to 512 guest processors.
|-
|-
| 4.3
| 4.3
| {{date|2013-07-09|mdy}}<ref>{{cite web |url=http://blog.xen.org/index.php/2013/07/09/xen-4-3-0-released/ |title=Xen 4.3 released! – |publisher=Blog.xen.org |date=2013-07-09 |accessdate=2013-07-16}}</ref>
| {{dts|2013-07-09}}<ref name="GcvnA">{{cite web |url=http://blog.xen.org/index.php/2013/07/09/xen-4-3-0-released/ |title=Xen 4.3 released! – |publisher=Blog.xen.org |date=July 9, 2013 |access-date=July 16, 2013 |archive-url=https://web.archive.org/web/20130713083743/http://blog.xen.org/index.php/2013/07/09/xen-4-3-0-released/ |archive-date=July 13, 2013 |url-status=dead}}</ref>
| Experimental ARM support. NUMA-aware scheduling. Support for [[Open vSwitch]].
| Experimental ARM support. NUMA-aware scheduling. Support for [[Open vSwitch]].
|-
|-
| 4.4
| 4.4
| {{date|2014-03-10|mdy}}<ref>{{cite web |url=http://blog.xen.org/index.php/2014/03/10/xen-4-4-released/ |title=Xen 4.4 releases – |publisher=Blog.xen.org |date=2014-03-10 |accessdate=2014-03-10}}</ref>
| {{dts|2014-03-10}}<ref name="dRCS2">{{cite web |url=http://blog.xen.org/index.php/2014/03/10/xen-4-4-released/ |title=Xen 4.4 releases – |publisher=Blog.xen.org |date=March 10, 2014 |access-date=March 10, 2014 |archive-url=https://web.archive.org/web/20140310184516/http://blog.xen.org/index.php/2014/03/10/xen-4-4-released/ |archive-date=March 10, 2014 |url-status=dead}}</ref>
| Solid libvirt support for libxl, new scalable event channel interface, hypervisor ABI for ARM declared stable, Nested Virtualization on Intel hardware.<ref>{{cite web |url=http://wiki.xenproject.org/wiki/Xen_4.4_Release_Notes |title=Xen Project 4.4 Release Notes |publisher=Wiki.xenproject.org |accessdate=2014-03-10}}</ref><ref>{{cite web |url=http://wiki.xenproject.org/wiki/Xen_4.4_Feature_List |title=Xen 4.4 Feature List |publisher=Wiki.xenproject.org |accessdate=2014-03-10}}</ref>
| Solid libvirt support for libxl, new scalable event channel interface, hypervisor ABI for ARM declared stable, Nested Virtualization on Intel hardware.<ref name="AA4Sk">{{cite web |url=http://wiki.xenproject.org/wiki/Xen_4.4_Release_Notes |title=Xen Project 4.4 Release Notes |publisher=Wiki.xenproject.org |access-date=March 10, 2014}}</ref><ref name="oZao9">{{cite web |url=http://wiki.xenproject.org/wiki/Xen_4.4_Feature_List |title=Xen 4.4 Feature List |publisher=Wiki.xenproject.org |access-date=March 10, 2014}}</ref>
|-
|-
| 4.5
| 4.5
| {{date|2015-01-17|mdy}}<ref name="Blog.xen.org">{{cite web |url=https://blog.xenproject.org/2015/01/15/less-is-more-in-the-new-xen-project-4-5-release/ |title=Less is More in the New Xen Project 4.5 Release – |publisher=Blog.xen.org |date=2015-01-15 |accessdate=2015-01-17}}</ref>
| {{dts|2015-01-17}}<ref name="Blog.xen.org">{{cite web |url=https://blog.xenproject.org/2015/01/15/less-is-more-in-the-new-xen-project-4-5-release/ |title=Less is More in the New Xen Project 4.5 Release – |publisher=Blog.xen.org |date=January 15, 2015 |access-date=January 17, 2015}}</ref>
| With 43 major new features, 4.5 includes the most updates in the project’s history.<ref name="Blog.xen.org"/>
| With 43 major new features, 4.5 includes the most updates in the project's history.<ref name="Blog.xen.org" />
|-
|-
| 4.6
| 4.6
| {{date|2015-10-13|mdy}}<ref name="Blog.xen.org.20151013"/>
| {{dts|2015-10-13}}<ref name="Blog.xen.org.20151013" />
| Focused on improving code quality, security hardening, enablement of security appliances, and release cycle predictability.<ref name="Blog.xen.org.20151013"/>
| Focused on improving code quality, security hardening, enablement of security appliances, and release cycle predictability.<ref name="Blog.xen.org.20151013" />
|-
| 4.7
| {{dts|2016-06-24}}<ref name="Blog.xen.org.20170412">{{cite web |url=https://blog.xenproject.org/2017/04/12/xen-project-4-8-1-is-available/|title=Xen Project 4.8.1 is available |publisher=Xenproject.org|date=April 12, 2017|access-date=June 1, 2017}}</ref>
| Improved: security, live migrations, performances and workload. Hardware support (ARM and Intel Xeon).<ref name="Xen_Project_4.7_Feature_List">{{cite web|url=http://wiki.xenproject.org/wiki/Xen_Project_4.7_Feature_List|title=Xen Project 4.7 Feature List|publisher=Xen project|date=2016-06-24}}</ref>
|-
|4.8.1
|April 12, 2017<ref name="2WcUa">{{Cite web|url=https://blog.xenproject.org/2017/04/12/xen-project-4-8-1-is-available/|title=Xen Project 4.8.1 is available {{!}} Xen Project Blog|website=blog.xenproject.org|date=April 12, 2017|access-date=2018-02-19}}</ref>
|-
|4.9
|June 28, 2017<ref name="x0JGv">{{Cite web|url=https://blog.xenproject.org/2017/06/28/whats-new-in-the-xen-project-hypervisor-4-9/|title=What's New in the Xen Project Hypervisor 4.9|date=June 28, 2017|access-date=2018-04-26}}</ref>
|[https://wiki.xen.org/wiki/Xen_Project_4.9_Release_Notes Xen Project 4.9 Release Notes]
|-
|4.10
|December 12, 2017<ref name="D2HqW">{{Cite web|url=https://blog.xenproject.org/2017/12/12/whats-new-in-the-xen-project-hypervisor-4-10/|title=What's New in the Xen Project Hypervisor 4.10|date=December 12, 2017|access-date=2018-04-26}}</ref>
|[https://wiki.xenproject.org/wiki/Xen_Project_4.10_Release_Notes Xen Project 4.10 Release Notes]
|-
|4.11
|July 10, 2018<ref name="sOs1X">{{Cite web|url=https://blog.xenproject.org/2018/07/10/whats-new-in-the-xen-project-hypervisor-4-11/|title=What's New in the Xen Project Hypervisor 4.11|last=Gross|first=Juergen|date=July 10, 2018|access-date=January 17, 2018}}</ref>
|[https://wiki.xenproject.org/wiki/Xen_Project_4.11_Release_Notes Xen Project 4.11 Release Notes]
|-
|4.12
|April 2, 2019<ref name="uGxVp">{{Cite web|url=https://xenproject.org/2019/04/02/whats-new-in-xen-4-12/|title=WHAT'S NEW IN XEN 4.12|last=Gross|first=Juergen|date=April 2, 2019|access-date=April 29, 2019}}</ref>
|[https://wiki.xenproject.org/wiki/Xen_Project_4.12_Release_Notes Xen Project 4.12 Release Notes]
|-
|4.13
|December 18, 2019<ref name="nqlWy">{{Cite web|url=https://xenproject.org/2019/12/18/whats-new-in-xen-4-13/|title=What's new in Xen 4.13|last=Kurth|first=Lars|date=December 18, 2019|access-date=December 23, 2019}}</ref>
|[https://wiki.xenproject.org/wiki/Xen_Project_4.13_Release_Notes Xen Project 4.13 Release Notes]
|-
|4.14
|July 24, 2020
|[https://wiki.xenproject.org/wiki/Xen_Project_4.14_Release_Notes Xen Project 4.14 Release Notes]
|-
|4.15
|April 8, 2021
|[https://wiki.xenproject.org/wiki/Xen_Project_4.15_Release_Notes Xen Project 4.15 Release Notes]
|-
|4.16
|December 2, 2021
|[https://wiki.xenproject.org/wiki/Xen_Project_4.16_Release_Notes Xen Project 4.16 Release Notes]
|-
|4.17
|December 14, 2022
|[https://wiki.xenproject.org/wiki/Xen_Project_4.17_Release_Notes Xen Project 4.17 Release Notes]
|-
|4.18
|November 23, 2023
|[https://wiki.xenproject.org/wiki/Xen_Project_4.18_Release_Notes Xen Project 4.18 Release Notes]
|-
|4.19
|July 29, 2024
|[https://wiki.xenproject.org/wiki/Xen_Project_4.19_Release_Notes Xen Project 4.19 Release Notes]
|}
|}


== Uses ==
=== Xen in Linux distributions and Linux upstream ===
{{update|date=May 2016}}
Since version 3.0 of the Linux kernel, Xen support for dom0 and domU exists in the mainline kernel.<ref>{{cite web |url=http://blog.xen.org/index.php/2011/06/02/xen-celebrates-full-dom0-and-domu-support-in-linux-3-0/ |title=Xen celebrates full dom0 and domU support in Linux 3.0 – |publisher=Blog.xen.org |date=2011-05-30 |accessdate=2012-10-18}}</ref>


[[Internet hosting service]] companies use hypervisors to provide [[virtual private server]]s. [[Amazon Elastic Compute Cloud|Amazon EC2]] (from August 2006 to November 2017),<ref name="mtffd">{{Cite web|url=https://aws.amazon.com/es/blogs/aws/amazon_ec2_beta/|title = Amazon EC2 Beta|date = August 25, 2006}}</ref> IBM [[SoftLayer]],<ref name="DzJZj">{{cite web |url=http://cdn.softlayer.com/PS_EC2vsCL.pdf |title=CloudLayer Computing vs. Amazon EC2 |type=PDF |access-date=April 5, 2015 |archive-date=December 12, 2014 |archive-url=https://web.archive.org/web/20141212111150/http://cdn.softlayer.com/PS_EC2vsCL.pdf |url-status=dead }}</ref> Liquid Web, [[Fujitsu Global Cloud Platform]],<ref name="2eKCP">{{cite web |url=http://m.zdnetasia.com/fujitsu-s-global-cloud-launches-in-aus-62207108.htm |title=Fujitsu's global cloud launches in Aus |publisher=ZDNet Australia |author=Suzanne Tindal |date=February 28, 2011 |access-date=October 11, 2011 |archive-url=https://web.archive.org/web/20141031195924/http://www.zdnet.com/fujitsus-global-cloud-launches-in-aus-1339310379/ |archive-date=October 31, 2014 |url-status=dead}}</ref> [[Linode]], [[OrionVM]]<ref name="WuUIm">{{cite web |url=http://wiki.xenproject.org/wiki/Guest_VM_Images#OrionVM_PV-HVM_Templates |title=Xen Project - Guest VM Images - OrionVM PV-HVM Templates |date=April 1, 2012 |access-date=June 27, 2014}}</ref> and [[Rackspace Cloud]] use Xen as the primary VM hypervisor for their product offerings.<ref name="paGPM">{{cite web |url=http://www.rackspace.com/cloud/cloud_hosting_faq/ |title=Cloud FAQ |publisher=Rackspace.com |date=September 13, 2011 |access-date=October 18, 2012 |archive-date=October 17, 2012 |archive-url=https://web.archive.org/web/20121017104345/http://www.rackspace.com/cloud/cloud_hosting_faq/ |url-status=dead }}</ref>
=== Uses ===
[[Internet hosting service]] companies use hypervisors to provide [[virtual private server]]s. [[Amazon Elastic Compute Cloud|Amazon EC2]], IBM [[SoftLayer]],<ref>{{cite web |url=http://cdn.softlayer.com/PS_EC2vsCL.pdf |title=CloudLayer Computing vs. Amazon EC2 |type=PDF |accessdate=2015-04-05}}</ref> [[Liquid Web]], [[Fujitsu Global Cloud Platform]],<ref>{{cite web |url=http://m.zdnetasia.com/fujitsu-s-global-cloud-launches-in-aus-62207108.htm |title=Fujitsu's global cloud launches in Aus |publisher=ZDNet Australia |author=Suzanne Tindal |date=2011-02-28}}</ref> [[Linode]], [[OrionVM]]<ref>{{cite web |url=http://wiki.xenproject.org/wiki/Guest_VM_Images#OrionVM_PV-HVM_Templates |title=Xen Project - Guest VM Images - OrionVM PV-HVM Templates |date=2012-04-01 |accessdate=2014-06-27}}</ref> and [[Rackspace Cloud]] use Xen as the primary VM hypervisor for their product offerings.<ref>{{cite web |url=http://www.rackspace.com/cloud/cloud_hosting_faq/ |title=Cloud FAQ |publisher=Rackspace.com |date=2011-09-13 |accessdate=2012-10-18}}</ref>


Virtual machine monitors (also known as [[hypervisor]]s) also often operate on [[Mainframe computer|mainframes]] and large servers running [[IBM]], [[Hewlett-Packard|HP]], and other systems.{{Citation needed|date=April 2013}}
Virtual machine monitors (also known as hypervisors) also often operate on [[Mainframe computer|mainframes]] and large servers running IBM, HP, and other systems.{{Citation needed|date=April 2013}}
Server virtualization can provide benefits such as:
Server virtualization can provide benefits such as:
* Consolidation leading to increased utilization
* Rapid provisioning
* Dynamic [[fault tolerance]] against software failures (through rapid bootstrapping or rebooting)
* Hardware fault tolerance (through migration of a virtual machine to different hardware)
* Secure separations of virtual operating systems
* Support for legacy software as well as new OS instances on the same computer


Xen's support for virtual machine live migration from one host to another allows [[load balancing (computing)|load balancing]] and the avoidance of downtime.
* consolidation leading to increased utilization
* rapid provisioning
* dynamic [[fault tolerance]] against software failures (through rapid bootstrapping or rebooting)
* hardware fault tolerance (through migration of a virtual machine to different hardware)
* the ability to securely separate virtual operating systems
* the ability to support legacy software as well as new OS instances on the same computer

Xen's support for virtual machine live migration from one host to another allows [[Load balancing (computing)|workload balancing]] and the avoidance of downtime.


Virtualization also has benefits when working on development (including the development of operating systems): running the new system as a guest avoids the need to reboot the physical computer whenever a bug occurs. [[Sandbox (computer security)|Sandboxed]] guest systems can also help in computer-security research, allowing study of the effects of some [[computer virus|virus]] or [[computer worm|worm]] without the possibility of compromising the host system.
Virtualization also has benefits when working on development (including the development of operating systems): running the new system as a guest avoids the need to reboot the physical computer whenever a bug occurs. [[Sandbox (computer security)|Sandboxed]] guest systems can also help in computer-security research, allowing study of the effects of some [[computer virus|virus]] or [[computer worm|worm]] without the possibility of compromising the host system.


Finally, hardware appliance vendors may decide to ship their appliance running several guest systems, so as to be able to execute various pieces of software that require different operating systems.
Finally, hardware appliance vendors may decide to ship their appliance running several guest systems, so as to be able to execute various pieces of software that require different operating systems. {{Citation needed|date=May 2019}}


== Technology ==
== Types of virtualization ==


Xen offers five approaches to running the guest operating system:<ref>{{cite web |title=Understanding the Virtualization Spectrum |url=https://wiki.xenproject.org/wiki/Understanding_the_Virtualization_Spectrum |archive-date=5 February 2023 |archive-url=https://archive.today/20230205230022/https://wiki.xenproject.org/wiki/Understanding_the_Virtualization_Spectrum |website=xenproject.org |access-date=9 March 2022 }}</ref><ref name="EY1k6">{{cite web |url=http://bhyvecon.org/bhyvecon2015-Roger.pdf |title=Xen virtualization on FreeBSD |author=Roger Pau Monne |type=PDF |access-date=April 6, 2015}}</ref><ref name="qxjvd">{{cite web |url=https://support.rackspace.com/how-to/choosing-a-virtualization-mode-pv-versus-pvhvm/ |title=Choosing a virtualization mode (PV versus PVHVM) |author=<!--Not stated--> |date=January 12, 2016 |website=Rackspace Support Network |publisher=Rackspace |access-date=January 25, 2018 |archive-date=January 26, 2018 |archive-url=https://web.archive.org/web/20180126184949/https://support.rackspace.com/how-to/choosing-a-virtualization-mode-pv-versus-pvhvm/ |url-status=dead }}</ref>
=== Types of virtualization ===
Xen supports five different approaches to running the guest operating system: HVM (hardware virtual machine), HVM with PV drivers, PVHVM (HVM with PVHVM drivers), PVH (PV in an HVM container) and PV (paravirtualization).<ref>{{cite web |url=http://bhyvecon.org/bhyvecon2015-Roger.pdf |title=Xen virtualization on FreeBSD |author=Roger Pau Monne |type=PDF |accessdate=2015-04-06}}</ref>


* '''PV''' (paravirtualization): Virtualization-aware Guest and devices.
==== Paravirtualization - modified guests ====
* '''HVM''' (hardware virtual machine): Fully hardware-assisted virtualization with emulated devices.
Xen supports a form of virtualization known as [[paravirtualization]], in which guests run a modified operating system. The guests are modified to use a special hypercall [[Application binary interface|ABI]], instead of certain architectural features.
* '''HVM with PV drivers''': Fully hardware-assisted virtualization with PV drivers for IO devices.
* '''PVHVM''' (paravirtualization with hardware virtualization): PV supported hardware-assisted virtualization with PV drivers for IO devices.
* '''PVH''' (PV in an HVM container): Fully paravirtualized Guest accelerated by hardware-assisted virtualization where available.


Through paravirtualization, Xen can achieve high performance even on its host architecture (x86) which has a reputation for non-cooperation with traditional virtualization techniques.<ref>Robin and Irvine, [http://www.usenix.org/events/sec2000/robin.html "Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor"], 9th Usenix Security Symposium, 2000</ref><ref>Gil Neiger, Amy Santoni, Felix Leung, Dion Rodgers, Rich Uhlig. [http://www.intel.com/technology/itj/2006/v10i3/1-hardware/3-software.htm Intel Virtualization Technology: Software-only virtualization with the IA-32 and Itanium architectures], ''Intel Technology Journal'', Volume 10 Issue 03, August 2006.
Xen provides a form of virtualization known as paravirtualization, in which guests run a modified operating system. The guests are modified to use a special hypercall [[Application binary interface|ABI]], instead of certain architectural features. Through paravirtualization, Xen can achieve high performance even on its host architecture (x86) which has a reputation for non-cooperation with traditional virtualization techniques.<ref name="PXbqH">Robin and Irvine, [http://www.usenix.org/events/sec2000/robin.html "Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor"], 9th Usenix Security Symposium, 2000</ref><ref name="k2YBk">Gil Neiger, Amy Santoni, Felix Leung, Dion Rodgers, Rich Uhlig. [http://www.intel.com/technology/itj/2006/v10i3/1-hardware/3-software.htm Intel Virtualization Technology: Software-only virtualization with the IA-32 and Itanium architectures], ''Intel Technology Journal'', Volume 10 Issue 03, August 2006.</ref> Xen can run paravirtualized guests ("PV guests" in Xen terminology) even on CPUs without any explicit support for virtualization. Paravirtualization avoids the need to emulate a full set of hardware and firmware services, which makes a PV system simpler to manage and reduces the attack surface exposed to potentially malicious guests. On 32-bit x86, the Xen host kernel code runs in [[ring (computer security)|Ring 0]], while the hosted domains run in ''Ring 1'' (kernel) and ''Ring 3'' (applications).
</ref>


CPUs that support virtualization make it possible to run unmodified guests, including proprietary operating systems (such as Microsoft Windows). This is known as [[hardware-assisted virtualization]], however, in Xen this is known as hardware virtual machine (HVM). HVM extensions provide additional execution modes, with an explicit distinction between the most-privileged modes used by the hypervisor with access to the real hardware (called "root mode" in x86) and the less-privileged modes used by guest kernels and applications with "hardware" accesses under complete control of the hypervisor (in x86, known as "non-root mode"; both root and non-root mode have Rings 0–3). Both Intel and [[AMD]] have contributed modifications to Xen to exploit their respective Intel VT-x and AMD-V architecture extensions.<ref name="ruIb6">[http://www.intel.com/technology/itj/2006/v10i3/3-xen/1-abstract.htm Extending Xen with Intel Virtualization Technology], ''intel.com''</ref> Use of [[ARM architecture|ARM]] v7A and v8A virtualization extensions came with Xen 4.3.<ref name="EGpA6">{{cite web |url=http://www.xenproject.org/developers/teams/arm-hypervisor.html |title=The ARM Hypervisor&nbsp;— The Xen Project's Hypervisor for the ARM architecture |access-date=April 6, 2015}}</ref> HVM extensions also often offer new instructions to allow direct calls by a paravirtualized guest/driver into the hypervisor, typically used for I/O or other operations needing high performance. These allow HVM guests with suitable minor modifications to gain many of the performance benefits of paravirtualized I/O. In current versions of Xen (up to 4.2) only fully virtualized HVM guests can make use of hardware facilities for multiple independent levels of memory protection and paging. As a result, for some workloads, HVM guests with PV drivers (also known as PV-on-HVM, or PVH) provide better performance than pure PV guests. Xen HVM has device emulation based on the [[QEMU]] project to provide I/O virtualization to the virtual machines. The system emulates hardware via a patched QEMU "device manager" (qemu-dm) daemon running as a backend in dom0. This means that the virtualized machines see an emulated version of a fairly basic PC. In a performance-critical environment, PV-on-HVM disk and network drivers are used during the normal guest operation, so that the emulated PC hardware is mostly used for booting.
Xen can run paravirtualized guests ("PV guests" in Xen terminology) even on CPUs without any explicit support for virtualization.


== Features ==
Paravirtualization avoids the need to emulate a full set of hardware and firmware services, which makes a PV system simpler to manage and reduces the attack surface exposed to potentially malicious guests.


Administrators can "live migrate" Xen virtual machines between physical hosts across a LAN without loss of availability. During this procedure, the LAN iteratively copies the memory of the virtual machine to the destination without stopping its execution. The process requires a stoppage of around 60–300&nbsp;ms to perform final synchronization before the virtual machine begins executing at its final destination, providing an illusion of seamless migration. Similar technology can serve to suspend running virtual machines to disk, "freezing" their running state for resumption at a later date.
On 32-bit x86, the Xen host kernel code runs in [[ring (computer security)|Ring 0]], while the hosted domains run in ''Ring 1'' (kernel) and ''Ring 3'' (applications).


Xen can scale to 4095 physical CPUs, 256 VCPUs{{clarify|date=October 2024}} per HVM guest, 512 VCPUs per PV guest, 16&nbsp;TB of RAM per host, and up to 1&nbsp;TB of RAM per HVM guest or 512&nbsp;GB of RAM per PV guest.<ref name="2i3ix">{{cite web |url=http://wiki.xenproject.org/wiki/Xen_Release_Features |title=Xen Release Features | publisher = Xen Project | access-date=October 18, 2012}}</ref>
==== Hardware-assisted virtualization, allowing for unmodified guests ====
CPUs that support virtualization make it possible to support unmodified guests, including proprietary operating systems (such as Microsoft Windows). This is known as [[hardware-assisted virtualization]], however in Xen this is known as hardware virtual machine (HVM).


== Availability ==
HVM extensions provide additional execution modes, with an explicit distinction between the most-privileged modes used by the hypervisor with access to the real hardware (called "root mode" in x86) and the less-privileged modes used by guest kernels and applications with "hardware" accesses under complete control of the hypervisor (in x86, known as "non-root mode"; both root and non-root mode have Rings 0–3).

Both [[Intel]] and [[AMD]] have contributed modifications to Xen to support their respective [[Intel VT-x]] and [[AMD-V]] architecture extensions.<ref>[http://www.intel.com/technology/itj/2006/v10i3/3-xen/1-abstract.htm Extending Xen with Intel Virtualization Technology], ''intel.com''</ref> Support for [[ARM architecture|ARM]] v7A and v8A virtualization extensions came with Xen 4.3.<ref>{{cite web |url=http://www.xenproject.org/developers/teams/arm-hypervisor.html |title=The ARM Hypervisor - The Xen Project's Hypervisor for the ARM architecture |accessdate=2015-04-06}}</ref>

HVM extensions also often offer new instructions to support direct calls by a paravirtualized guest/driver into the hypervisor, typically used for I/O or other operations needing high performance. These allow HVM guests with suitable minor modifications to gain many of the performance benefits of paravirtualised I/O.

In current versions of Xen (up to 4.2) only fully virtualised HVM guests can make use of hardware support for multiple independent levels of memory protection and paging. As a result, for some workloads, HVM guests with PV drivers (also known as PV-on-HVM, or PVH) provide better performance than pure PV guests.

Xen HVM has device emulation based on the [[QEMU]] project to provide I/O virtualization to the virtual machines. The system emulates hardware via a patched QEMU "device manager" (qemu-dm) daemon running as a backend in dom0. This means that the virtualized machines see an emulated version of a fairly basic PC. In a performance-critical environment, PV-on-HVM disk and network drivers are used during normal guest operation, so that the emulated PC hardware is mostly used for booting.

=== Virtual machine migration ===
Administrators can "live migrate" Xen virtual machines between physical hosts across a LAN without loss of availability. During this procedure, the LAN iteratively copies the memory of the virtual machine to the destination without stopping its execution. The process requires a stoppage of around 60–300&nbsp;ms to perform final synchronization before the virtual machine begins executing at its final destination, providing an illusion of seamless migration. Similar technology can serve to suspend running virtual machines to disk, "freezing" their running state for resumption at a later date.


The Xen hypervisor has been ported to a number of processor families:
=== Target processors ===
* Intel: IA-32, IA-64 (before version 4.2<ref name="nhd1D">{{cite web |url=http://wiki.xen.org/wiki/Xen_4.2_Feature_List#Removed_Functionality |title=Xen 4.2 Feature List | publisher = Xen Project |date=December 17, 2012 |access-date=January 22, 2014}}</ref>), x86-64
The Xen hypervisor has been ported to a number of processor families.
* Intel: IA-32, IA-64 (before version 4.2<ref>{{cite web |url=http://wiki.xen.org/wiki/Xen_4.2_Feature_List#Removed_Functionality |title=Xen 4.2 Feature List - Xen |publisher=Wiki.xen.org |date=2012-12-17 |accessdate=2014-01-22}}</ref>), x86-64
* PowerPC: previously supported under the XenPPC project, no longer active after Xen 3.2<ref name="O05nA">{{cite web |url=http://new-wiki.xen.org/old-wiki/xenwiki/XenPPC.html |title=XenPPC | publisher = Xen Project |date=August 15, 2010 |access-date=January 22, 2014}}</ref>
* PowerPC: previously supported under the XenPPC project, no longer active after Xen 3.2<ref>{{cite web |url=http://new-wiki.xen.org/old-wiki/xenwiki/XenPPC.html |title=XenPPC - Xen Wiki |publisher=New-wiki.xen.org |date=2010-08-15 |accessdate=2014-01-22}}</ref>
* ARM: previously supported under the XenARM project for older versions of ARM without virtualization extensions, such as the Cortex-A9. Currently{{when|date=March 2015}} supported since Xen 4.3 for newer versions of the ARM with virtualization extensions, such as the [[ARM Cortex-A15 MPCore|
* ARM: previously supported under the XenARM project for older versions of ARM without virtualization extensions, such as the Cortex-A9. Currently{{when|date=March 2015}} supported since Xen 4.3 for newer versions of the ARM with virtualization extensions, such as the [[ARM Cortex-A15 MPCore|
Cortex-A15]].
Cortex-A15]].
* [[MIPS architecture|MIPS]]: XLP832 experimental port<ref>{{cite web |author=Mashable |url=http://www.slideshare.net/xen_com_mgr/porting-xen-paravirtualization-to-mips-architecture |title=Porting Xen Paravirtualization to MIPS Architecture |publisher=Slideshare.net |date=2012-09-04 |accessdate=2014-01-22}}</ref>
* [[MIPS architecture|MIPS]]: XLP832 experimental port<ref name="zvaQM">{{cite web |author=Mashable |url=http://www.slideshare.net/xen_com_mgr/porting-xen-paravirtualization-to-mips-architecture |title=Porting Xen Paravirtualization to MIPS Architecture |publisher=Slideshare.net |date=September 4, 2012 |access-date=January 22, 2014}}</ref>

=== Scalability ===
Xen can scale to 4095 physical CPUs, 256 VCPUs per HVM guest, 512 VCPUs per PV guest, 16&nbsp;TB of RAM per host, and up to 1&nbsp;TB of RAM per HVM guest or 512&nbsp;GB of RAM per PV guest.<ref>{{cite web |url=http://wiki.xenproject.org/wiki/Xen_Release_Features |title=Xen Release Features - Xen Project|publisher=Wiki.xenproject.org |accessdate=2012-10-18}}</ref>


== {{Anchor|XENSERVER}}Hosts ==
== {{Anchor|XENSERVER}}Hosts ==
Xen can be shipped in a dedicated virtualization platform, such as Citrix XenServer Enterprise Edition (formerly XenSource's XenEnterprise).
Xen can be shipped in a dedicated virtualization platform, such as [[XCP-ng]] or XenServer (formerly Citrix Hypervisor, and before that Citrix XenServer, and before that XenSource's XenEnterprise).


Alternatively, Xen is distributed as an optional configuration of many standard operating systems. Xen is available for and distributed with:
Alternatively, Xen is distributed as an optional configuration of many standard operating systems. Xen is available for and distributed with:

* [[Alpine Linux]] offers a minimal dom0 system ([[Busybox]], [[UClibc]]) that can be run from removable media, like USB sticks.
* [[Alpine Linux]] offers a minimal dom0 system ([[Busybox]], [[UClibc]]) that can be run from removable media, like USB sticks.
* [[Arch Linux]] provides the necessary packages with detailed setup instructions on their Wiki.<ref name="InlPU">{{cite web |url=https://aur.archlinux.org/packages/xen/|title=AUR (en) - xen|publisher=Aur.archlinux.org|access-date=April 12, 2018}}</ref><ref name="lMAk8">{{cite web|url=https://wiki.archlinux.org/index.php/Xen|title=Xen - ArchWiki |publisher=Wiki.archlinux.org |access-date=April 12, 2018}}</ref>
* [[Debian]] GNU/Linux (since version 4.0 "etch") and many of its derivatives
* [[Debian]] [[Linux]] (since version 4.0 "etch") and many of its derivatives;
* [[FreeBSD]] 11 includes experimental host support.<ref>{{cite web |url=https://wiki.freebsd.org/Xen |title=Xen - FreeBSD Wiki |publisher=wiki.freebsd.org |accessdate=2015-09-28}}</ref>
* [[Gentoo Linux|Gentoo]] and [[Arch Linux]] both have packages available to support Xen.<ref>{{cite web |url=https://aur.archlinux.org/packages/xen/ |title=AUR (en) - xen |publisher=Aur.archlinux.org |accessdate=2014-07-14}}</ref>
* [[FreeBSD]] 11 includes experimental host support.<ref name="LXjqp">{{cite web |url=https://wiki.freebsd.org/Xen |title=Xen - FreeBSD Wiki |publisher=wiki.freebsd.org |access-date=September 28, 2015}}</ref>
* [[Gentoo Linux|Gentoo]] has the necessary packages available to support Xen, along with instructions on their Wiki.<ref name="6Wztw">{{cite web |url=https://wiki.gentoo.org/wiki/Xen?style=printable|title=Xen|publisher=Wiki.gentoo.org|access-date=April 12, 2018}}</ref>
* [[Mageia]] (since version 4)
* [[Mageia]] (since version 4);
* [[NetBSD]] 3.x. includes host support for Xen 2, with host support for Xen 3.0 available from NetBSD 4.0.<ref>{{cite web |url=http://www.netbsd.org/ports/xen/ |title=NetBSD/xen |publisher=Netbsd.org |accessdate=2013-06-08}}</ref>
* [[NetBSD]] can function as domU and dom0.<ref name="VFWZ5">{{cite web |url=http://www.netbsd.org/ports/xen/ |title=NetBSD/xen |publisher=Netbsd.org |access-date=June 8, 2013}}</ref>
* [[OpenSolaris]]-based distributions can function as dom0 and domU from Nevada build 75 onwards.
* [[OpenSolaris]]-based distributions can function as dom0 and domU from Nevada build 75 onwards.
* [[openSUSE]] 10.x to 12.x;<ref>{{cite web |url=http://wiki.xenproject.org/wiki/XenDom0Kernels |title=XenDom0Kernels - Xen Wiki |publisher=Wiki.xenproject.org |date=2011-11-08 |accessdate=2013-06-08}}</ref> only 64-bit hosts are supported since 12.1
* [[openSUSE]] 10.x to 12.x:<ref name="abk5U">{{cite web |url=http://wiki.xenproject.org/wiki/XenDom0Kernels |title=XenDom0Kernels - Xen Wiki |publisher=Wiki.xenproject.org |date=November 8, 2011 |access-date=June 8, 2013}}</ref> only 64-bit hosts are supported since 12.1;
* [[Qubes OS]] uses Xen to isolate applications for a more secure desktop.<ref name="uGRsT">{{cite web |url=https://wiki.xen.org/wiki/Xen_in_Qubes_OS_Security_Architecture |title=Xen in Qubes OS Security Architecture|publisher=xenp.org|access-date=April 12, 2018}}</ref>
* [[Qubes OS]] for desktop usage
* [[SUSE Linux Enterprise Server]] (since version 10)
* [[SUSE Linux Enterprise Server]] (since version 10);
* [[Solaris (operating system)|Solaris]]
* [[Solaris (operating system)|Solaris]] (since 2013 with [[Oracle VM Server for x86]], before with [[Sun xVM]]);
* [[Ubuntu (operating system)|Ubuntu]] 12.04 "Precise Pangolin" and later releases; also 8.04 [[Hardy Heron]], but no dom0-capable kernel in 8.10 [[Intrepid Ibex]] until 12.04<ref>{{cite web |url=http://web.archiveorange.com/archive/v/UsR4nzBeS5vYtX5ylWMY |title=Xen dom0 support in Lucid - Kernel team discussions - ArchiveOrange |publisher=Web.archiveorange.com |accessdate=2014-01-22}}</ref><ref>{{cite web |url=https://help.ubuntu.com/community/Xen |title=Xen - Community Ubuntu Documentation |publisher=Help.ubuntu.com |date=2012-09-05 |accessdate=2012-10-18}}</ref>
* [[Ubuntu]] (since [[Ubuntu version history#0804|8.04 "Hardy Heron"]], but no dom0-capable kernel in [[Ubuntu version history#0810|8.10 "Intrepid Ibex"]] until [[Ubuntu version history#1204|12.04 "Precise Pangolin"]].<ref name="lMc6U">{{cite web |url=http://web.archiveorange.com/archive/v/UsR4nzBeS5vYtX5ylWMY |title=Xen dom0 support in Lucid - Kernel team discussions - ArchiveOrange |publisher=Web.archiveorange.com |access-date=January 22, 2014 |archive-url=https://web.archive.org/web/20110913013002/http://web.archiveorange.com/archive/v/UsR4nzBeS5vYtX5ylWMY |archive-date=September 13, 2011 |url-status=dead}}</ref><ref name="xXuNI">{{cite web |url=https://help.ubuntu.com/community/Xen |title=Xen - Community Ubuntu Documentation |publisher=Help.ubuntu.com |date=September 5, 2012 |access-date=October 18, 2012}}</ref>)


== Guests ==
== Guests ==


Guest systems can run fully virtualized (which requires hardware support), paravirtualized (which requires a modified guest operating system), or fully virtualized with paravirtualized drivers (PVHVM<ref name="xUdDS">{{cite web |url=https://wiki.xen.org/wiki/PV_on_HVM |title=PV on HVM |publisher=Wiki.xen.org |access-date=April 12, 2018}}</ref>).<ref name="4GdEW">{{cite web |url=https://wiki.xenproject.org/wiki/Understanding_the_Virtualization_Spectrum |title=Understanding the Virtualization Spectrum|publisher=Wiki.xenproject.org |access-date=April 12, 2018}}</ref> Most operating systems which can run on PCs can run as a Xen HVM guest. The following systems can operate as paravirtualized Xen guests:
=== Unix-like systems as guests ===
* [[Linux]]
Guest systems can run fully virtualized (which requires hardware support) or paravirtualized (which requires a modified guest operating system).
* [[FreeBSD]] in 32-bit, or 64-bit through PVHVM;<ref name="et1fq">{{cite web |url=http://wiki.freebsd.org/FreeBSD/Xen |title=FreeBSD/Xen - FreeBSD Wiki |publisher=Wiki.freebsd.org |date=June 25, 2012 |access-date=October 18, 2012 |archive-date=October 12, 2012 |archive-url=https://web.archive.org/web/20121012063521/http://wiki.freebsd.org/FreeBSD/Xen |url-status=dead }}</ref><ref name="Z30pD">{{cite web |url=https://www.freebsd.org/releases/11.0R/relnotes.html#hardware-virtualization |title=FreeBSD 11.0-RELEASE Release Notes |publisher=The FreeBSD Documentation Project |date=September 22, 2016 |access-date=October 23, 2016}}</ref>

* [[OpenBSD]], through PVHVM;<ref name="ZFmg7">{{cite web|url=https://man.openbsd.org/xen.4|title=xen(4) - OpenBSD Manual Pages|access-date=December 30, 2017}}</ref>
Most operating systems which can run on PC can run as a Xen HVM guest.
* [[NetBSD]]

Additionally the following systems have patches allowing them to operate as paravirtualized Xen guests:

* [[FreeBSD]]<ref>{{cite web |url=http://wiki.freebsd.org/FreeBSD/Xen |title=FreeBSD/Xen - FreeBSD Wiki |publisher=Wiki.freebsd.org |date=2012-06-25 |accessdate=2012-10-18}}</ref>
* [[Hurd|GNU/Hurd/Mach]] (gnumach-1-branch-Xen-branch)
* [[Linux kernel|Linux]], paravirtualization integrated in 2.6.23, patches for other versions exist
* [[MINIX]]
* [[MINIX]]
* [[GNU Hurd]] (gnumach-1-branch-Xen-branch)
* [[NetBSD]] (NetBSD 2.0 has support for Xen 1.2, NetBSD 3.0 has support for Xen 2.0, NetBSD 3.1 supports Xen 3.0, NetBSD 5.0 features Xen 3.3)
* [[NetWare]] (at [http://www.novell.com/brainshare/ Brainshare 2005], [[Novell]] showed a port that can run as a Xen guest)
* [[OpenSolaris]] (See [http://opensolaris.org/os/community/xen/ The Xen Community On OpenSolaris])
* OZONE (has support for Xen v1.2)
* [[Plan 9 from Bell Labs]]
* [[Plan 9 from Bell Labs]]


Xen version 3.0 introduced the capability to run Microsoft Windows as a guest operating system unmodified if the host machine's processor supports [[x86 virtualization|hardware virtualization]] provided by Intel VT-x (formerly codenamed Vanderpool) or AMD-V (formerly codenamed Pacifica). During the development of Xen 1.x, [[Microsoft Research]], along with the University of Cambridge Operating System group, developed a port of [[Windows XP]] to Xen — made possible by [[Microsoft]]'s Academic Licensing Program. The terms of this license do not allow the publication of this port, although documentation of the experience appears in the original Xen [[Symposium on Operating Systems Principles|SOSP]] paper.<ref name="FvK5T">{{cite conference |last1=Barham |first1=Paul |last2=Dragovic |first2=Boris |last3=Fraser |first3=Keir |last4=Hand |first4=Steven |last5=Harris |first5=Tim |last6=Ho |first6=Alex |last7=Neugebauer |first7=Rolf |last8=Pratt |first8=Ian |last9=Warfield |first9=Andrew |title=Xen and the art of virtualization |date=19 October 2003 |pages=164–177 |doi=10.1145/945445.945462 |conference=SOSP '03: Proceedings of the nineteenth ACM symposium on Operating systems principles |url=https://www.cl.cam.ac.uk/research/srg/netos/papers/2003-xensosp.pdf}}</ref> James Harper and the Xen open-source community have started developing free software paravirtualization drivers for Windows. These provide front-end drivers for the Xen block and network devices and allow much higher disk and network performance for Windows systems running in HVM mode. Without these drivers all disk and network traffic has to be processed through QEMU-DM.<ref name="yZJZl">{{cite web |url=https://wiki.xen.org/wiki/Xen_Windows_GplPv |title=Xen Windows GplPv |access-date=June 26, 2019}}</ref> Subsequently, Citrix has released under a BSD license (and continues to maintain) PV drivers for Windows.<ref name="lfOSS">{{cite web |url=https://www.slideshare.net/xen_com_mgr/xpdds18-windows-pv-drivers-project-status-and-updates-paul-durrant-citrix-systems |title=XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citrix Systems |date=June 29, 2018 |access-date=June 26, 2019}}</ref>
=== Microsoft Windows systems as guests ===
Xen version 3.0 introduced the capability to run [[Microsoft Windows]] as a guest operating system unmodified if the host machine's processor supports [[x86 virtualization|hardware virtualization]] provided by Intel VT-x (formerly codenamed Vanderpool) or AMD-V (formerly codenamed Pacifica).


== Management ==
During the development of Xen 1.x, [[Microsoft Research]], along with the University of Cambridge Operating System group, developed a port of [[Windows XP]] to Xen — made possible by [[Microsoft]]'s Academic Licensing Program. The terms of this license do not allow the publication of this port, although documentation of the experience appears in the original Xen [[Symposium on Operating Systems Principles|SOSP]] paper.<ref>{{cite web |url=http://www.cl.cam.ac.uk/research/srg/netos/papers/2003-xensosp.pdf |title=Xen and the Art of Virtualization |publisher=University of Cambridge SOSP'03 paper |type=PDF |accessdate=2012-10-18}}</ref>


Third-party developers have built a number of tools (known as Xen Management Consoles) to facilitate the common tasks of administering a Xen host, such as configuring, starting, monitoring and stopping of Xen guests. Examples include:
James Harper and the Xen open-source community have started developing [http://wiki.xenproject.org/wiki/XenWindowsGplPv GPL'd Paravirtualisation] drivers for Windows. These provide front-end drivers for the Xen block and network devices, and allow much higher disk and network performance for Windows systems running in HVM mode. Without these drivers all disk and network traffic has to be processed through QEMU-DM.<ref>The information on the XenSource wiki seems to be outdated, but newer information is here: {{cite web |url=http://jolokianetworks.com/70Knowledge/Virtualization/Open_Source_Windows_Paravirtualization_Drivers_for_Xen |title=Open Source Windows Paravirtualization Drivers for Xen (GPLPV) |publisher=Jolokia Networks |accessdate=2012-10-18}}</ref>


* The [[OpenNebula]] cloud management toolkit
== Xen Management Consoles ==
Third-party developers have built a number of tools (known as Xen Management Consoles) to facilitate the common tasks of administering a Xen host, such as configuring, starting, monitoring and stopping of Xen guests. Examples include:
* the web-based [[HyperVM]]
* Web-based [http://www.convirture.com ConVirt]
* the [[OpenNebula]] cloud management toolkit
* On openSUSE [[YaST]] and virt-man offer graphical VM management
* On openSUSE [[YaST]] and virt-man offer graphical VM management
* [[OpenStack]] natively supports Xen as a Hypervisor/Compute target
* Web-based [https://xen-orchestra.com/ Xen Orchestra]
* [[Apache CloudStack]] also supports Xen as a Hypervisor

[[Novell]]'s [[PlateSpin]] Orchestrate also manages Xen virtual machines for Xen shipping in [[SUSE Linux distributions|SUSE]] Linux Enterprise Server.
* Novell's [[PlateSpin]] Orchestrate also manages Xen virtual machines for Xen shipping in [[SUSE Linux]] Enterprise Server.
* [https://xen-orchestra.com Xen Orchestra] for both [[XCP-ng]] and Citrix Hypervisor platforms

{{clear}}


== Commercial versions ==
== Commercial versions ==
* [[XCP-ng]] (Open Source, within the Linux Foundation and Xen Project, originally a fork of XenServer)
* [[Citrix]] XenServer
* XenServer<ref>{{Cite web |last=Sharwood |first=Simon |title=XenServer split from Citrix, promises per-socket prices |url=https://www.theregister.com/2023/01/23/xenserver_socket_licences/ |access-date=2023-05-29 |website=www.theregister.com |language=en}}</ref> (Formerly Citrix Hypervisor <ref>{{cite web |author=Mikael Lindholm |date=Apr 25, 2019 |title=Citrix Hypervisor 8.0 is here! |url=https://www.citrix.com/blogs/2019/04/25/citrix-hypervisor-8-0-is-here/ |website=Citrix Blog |publisher=Citrix}}</ref> until 2023 and formerly Citrix XenServer until 2019)
* [[Huawei]] FusionSphere<ref>[http://enterprise.huawei.com/ilink/cnenterprise/download/HW_193449 Huawei FusionSphere: Optimize Business with Data Center Virtualization]</ref><ref>[http://www.theregister.co.uk/2014/07/25/huawei_virtualisation_strategy/ Huawei to virtual world: Give us your desktops and no-one gets hurt]</ref>
* [[Huawei]] FusionSphere<ref name="IitSH">[https://www.theregister.co.uk/2014/07/25/huawei_virtualisation_strategy/ Huawei to virtual world: Give us your desktops and no-one gets hurt]</ref>
* [[Oracle VM Server for x86]]
* [[Oracle VM Server for x86]]
* [[Oracle VM Server for SPARC]]
* Thinsy Corporation
* Thinsy Corporation
* [[Virtual Iron]] (discontinued by Oracle)
* [[Virtual Iron]] (discontinued by Oracle)
* [[Crucible (hypervisor)]] by Star Lab Corp.<ref name="Ztaiz">[https://starlab.io/products/crucible/ Crucible - Secure Embedded Virtualization]</ref>


The Xen hypervisor is covered by the GNU General Public Licence, so all of these versions contain a core of [[free software]] with source code. However, many of them contain proprietary additions.
The Xen hypervisor is covered by the GNU General Public Licence, so all of these versions contain a core of free software with source code. However, many of them contain proprietary additions.


== See also ==
== See also ==
{{Portal|Free software}}
{{Portal|Free and open-source software}}
* [[CloudStack]]
* [[CloudStack]]
* [[Kernel-based Virtual Machine]] (KVM)
* [[Kernel-based Virtual Machine]] (KVM)
Line 263: Line 285:
* [[Virtual disk image]]
* [[Virtual disk image]]
* [[tboot]], a TXT-based integrity system for the Linux kernel and Xen hypervisor
* [[tboot]], a TXT-based integrity system for the Linux kernel and Xen hypervisor
* [[VMware ESX]]
* [[VMware ESXi]]
* [[Qubes OS]]


== References ==
== References ==
{{Reflist|30em}}
{{reflist|1=30em}}


== Further reading ==
== Further reading ==
Line 273: Line 296:
== External links ==
== External links ==
{{Commons category|Xen}}
{{Commons category|Xen}}
* {{Official website|http://www.xenproject.org/}}
* {{Official website}}
* [http://www-archive.xenproject.org Archived xen.org page]
* [http://www.citrix.com/xenserver/ Official Citrix product site]
* [http://www.lumbercartel.ca/library/xen/ Step-by-step installation instructions for Xen, with a domU capable of running Windows XP SP3 and ReactOS]
* [http://www.cl.cam.ac.uk/Research/SRG/netos/xen/ University of Cambridge research page for Xen]
* [http://www.cl.cam.ac.uk/TechReports/UCAM-CL-TR-553.pdf University of Cambridge, Technical Report Number 553, January 2003]. Early report outlining the architecture of Xen.
* [http://wiki.xenproject.org/wiki/Xen_on_4_app_servers Xen Guide by Tapas Mishra]
* [http://www.unifiedsessionsmanager.org/doc/en/html/man1/ctys-createConfVM.html UnifiedSessionsManager - An Unofficial Xen configuration file creator]
* [http://www-archive.xenproject.org/files/xensummit_fall07/23_JosephCihula.pdf Trusted Boot: Verifying the Xen Launch]
* [http://www.xenproject.org/developers/teams/xapi.html XAPI: Open source software to build private and public clouds]


{{Virtualization products}}
{{Virtualization products}}
{{FLOSS}}
{{FLOSS}}
{{Citrix Systems}}
{{Citrix Systems}}
{{Linux Foundation}}


[[Category:2003 software]]
[[Category:2003 software]]
[[Category:Citrix Systems]]
[[Category:Cross-platform free software]]
[[Category:Cross-platform free software]]
[[Category:Free virtualization software]]
[[Category:Free virtualization software]]
[[Category:Linux Foundation]]
[[Category:History of computing in the United Kingdom]]
[[Category:Linux Foundation projects]]
[[Category:University of Cambridge Computer Laboratory]]
[[Category:University of Cambridge Computer Laboratory]]
[[Category:Virtualization-related software for Linux]]
[[Category:Virtualization software for Linux]]

Latest revision as of 04:43, 5 November 2024

Original author(s)Keir Fraser, Steven Hand, Ian Pratt, University of Cambridge Computer Laboratory
Developer(s)Linux Foundation
Intel
Initial releaseOctober 2, 2003; 21 years ago (2003-10-02)[1][2]
Stable release
4.19.0[3] Edit this on Wikidata / 29 July 2024; 4 months ago (29 July 2024)
Repository
Written inC
TypeHypervisor
LicenseGPLv2
Websitexenproject.org

Xen (pronounced /ˈzɛn/) is a free and open-source type-1 hypervisor, providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently. It was originally developed by the University of Cambridge Computer Laboratory and is now being developed by the Linux Foundation with support from Intel, Citrix, Arm Ltd, Huawei, AWS, Alibaba Cloud, AMD, Bitdefender and EPAM Systems.

The Xen Project community develops and maintains Xen Project as free and open-source software, subject to the requirements of the GNU General Public License (GPL), version 2. Xen Project is currently available for the IA-32, x86-64 and ARM instruction sets.[4]

Software architecture

[edit]

Xen Project runs in a more privileged CPU state than any other software on the machine, except for firmware.

Responsibilities of the hypervisor include memory management and CPU scheduling of all virtual machines ("domains"), and for launching the most privileged domain ("dom0") - the only virtual machine which by default has direct access to hardware. From the dom0 the hypervisor can be managed and unprivileged domains ("domU") can be launched.[5]

The dom0 domain is typically a version of Linux or BSD. User domains may either be traditional operating systems, such as Microsoft Windows under which privileged instructions are provided by hardware virtualization instructions (if the host processor supports x86 virtualization, e.g., Intel VT-x and AMD-V),[6] or paravirtualized operating systems whereby the operating system is aware that it is running inside a virtual machine, and so makes hypercalls directly, rather than issuing privileged instructions.

Xen Project boots from a bootloader such as GNU GRUB, and then usually loads a paravirtualized host operating system into the host domain (dom0).

History

[edit]

Xen originated as a research project at the University of Cambridge led by Ian Pratt, a senior lecturer in the Computer Laboratory, and his PhD student Keir Fraser. The first public release of Xen was made in 2003, with v1.0 following in 2004. Soon after, Pratt and Fraser along with other Cambridge alumni including Simon Crosby and founding CEO Nick Gault created XenSource Inc. to turn Xen into a competitive enterprise product.

To support embedded systems such as smartphone/ IoT with relatively scarce hardware computing resources, the Secure Xen ARM architecture on an ARM CPU was exhibited at Xen Summit on April 17, 2007, held in IBM TJ Watson.[7][8] The first public release of Secure Xen ARM source code was made at Xen Summit on June 24, 2008[9][10] by Sang-bum Suh,[11] a Cambridge alumnus, in Samsung Electronics.

On October 22, 2007, Citrix Systems completed its acquisition of XenSource,[12] and the Xen Project moved to the xen.org domain. This move had started some time previously, and made public the existence of the Xen Project Advisory Board (Xen AB), which had members from Citrix, IBM, Intel, Hewlett-Packard, Novell, Red Hat, Sun Microsystems and Oracle. The Xen Advisory Board advises the Xen Project leader and is responsible for the Xen trademark,[13] which Citrix has freely licensed to all vendors and projects that implement the Xen hypervisor.[14] Citrix also used the Xen brand itself for some proprietary products unrelated to Xen, including XenApp and XenDesktop.

On April 15, 2013, it was announced that the Xen Project was moved under the auspices of the Linux Foundation as a Collaborative Project.[15] The Linux Foundation launched a new trademark for "Xen Project" to differentiate the project from any commercial use of the older "Xen" trademark. A new community website was launched at xenproject.org[16] as part of the transfer. Project members at the time of the announcement included: Amazon, AMD, Bromium, CA Technologies, Calxeda, Cisco, Citrix, Google, Intel, Oracle, Samsung, and Verizon.[17] The Xen project itself is self-governing.[18]

Since version 3.0 of the Linux kernel, Xen support for dom0 and domU exists in the mainline kernel.[19]

Release history

[edit]
Version Release date Notes
1.0 October 2, 2003[1][2]
2.0 November 5, 2004[20] Live migration of PV guests.
3.0 December 5, 2005[21][22]

The releases up to 3.0.4 also added:

3.1 May 18, 2007[26] Live migration for HVM guests, XenAPI
3.2 January 17, 2008[27] PCI passthrough and ACPI S3 standby mode for the host system.
3.3 August 24, 2008[28] Improvements for the PCI passthrough and the power management. Xen ARM hypervisor source code released for ARM CPU support
3.4 May 18, 2009[29] Contains a first version of the "Xen Client Initiative", shortly XCI.
4.0 April 7, 2010[30] Makes it possible to use a dom0 Linux kernel, which has been implemented by using PVOps. A Linux kernel of version 2.6.31 has been modified for this purpose, because the official Linux kernel actually does not support the usage as dom0 kernel (date July 2010).[31]
4.1 March 25, 2011[32] Some of the improvements: Support for more than 255 processors, better stability. Linux kernel v2.6.37 and onward support usage as dom0 kernel.[33]
4.2 September 8, 2012[34] XL became the default toolstack. Support for up to 4095 host processors and up to 512 guest processors.
4.3 July 9, 2013[35] Experimental ARM support. NUMA-aware scheduling. Support for Open vSwitch.
4.4 March 10, 2014[36] Solid libvirt support for libxl, new scalable event channel interface, hypervisor ABI for ARM declared stable, Nested Virtualization on Intel hardware.[37][38]
4.5 January 17, 2015[39] With 43 major new features, 4.5 includes the most updates in the project's history.[39]
4.6 October 13, 2015[34] Focused on improving code quality, security hardening, enablement of security appliances, and release cycle predictability.[34]
4.7 June 24, 2016[40] Improved: security, live migrations, performances and workload. Hardware support (ARM and Intel Xeon).[41]
4.8.1 April 12, 2017[42]
4.9 June 28, 2017[43] Xen Project 4.9 Release Notes
4.10 December 12, 2017[44] Xen Project 4.10 Release Notes
4.11 July 10, 2018[45] Xen Project 4.11 Release Notes
4.12 April 2, 2019[46] Xen Project 4.12 Release Notes
4.13 December 18, 2019[47] Xen Project 4.13 Release Notes
4.14 July 24, 2020 Xen Project 4.14 Release Notes
4.15 April 8, 2021 Xen Project 4.15 Release Notes
4.16 December 2, 2021 Xen Project 4.16 Release Notes
4.17 December 14, 2022 Xen Project 4.17 Release Notes
4.18 November 23, 2023 Xen Project 4.18 Release Notes
4.19 July 29, 2024 Xen Project 4.19 Release Notes

Uses

[edit]

Internet hosting service companies use hypervisors to provide virtual private servers. Amazon EC2 (from August 2006 to November 2017),[48] IBM SoftLayer,[49] Liquid Web, Fujitsu Global Cloud Platform,[50] Linode, OrionVM[51] and Rackspace Cloud use Xen as the primary VM hypervisor for their product offerings.[52]

Virtual machine monitors (also known as hypervisors) also often operate on mainframes and large servers running IBM, HP, and other systems.[citation needed] Server virtualization can provide benefits such as:

  • Consolidation leading to increased utilization
  • Rapid provisioning
  • Dynamic fault tolerance against software failures (through rapid bootstrapping or rebooting)
  • Hardware fault tolerance (through migration of a virtual machine to different hardware)
  • Secure separations of virtual operating systems
  • Support for legacy software as well as new OS instances on the same computer

Xen's support for virtual machine live migration from one host to another allows load balancing and the avoidance of downtime.

Virtualization also has benefits when working on development (including the development of operating systems): running the new system as a guest avoids the need to reboot the physical computer whenever a bug occurs. Sandboxed guest systems can also help in computer-security research, allowing study of the effects of some virus or worm without the possibility of compromising the host system.

Finally, hardware appliance vendors may decide to ship their appliance running several guest systems, so as to be able to execute various pieces of software that require different operating systems. [citation needed]

Types of virtualization

[edit]

Xen offers five approaches to running the guest operating system:[53][54][55]

  • PV (paravirtualization): Virtualization-aware Guest and devices.
  • HVM (hardware virtual machine): Fully hardware-assisted virtualization with emulated devices.
  • HVM with PV drivers: Fully hardware-assisted virtualization with PV drivers for IO devices.
  • PVHVM (paravirtualization with hardware virtualization): PV supported hardware-assisted virtualization with PV drivers for IO devices.
  • PVH (PV in an HVM container): Fully paravirtualized Guest accelerated by hardware-assisted virtualization where available.

Xen provides a form of virtualization known as paravirtualization, in which guests run a modified operating system. The guests are modified to use a special hypercall ABI, instead of certain architectural features. Through paravirtualization, Xen can achieve high performance even on its host architecture (x86) which has a reputation for non-cooperation with traditional virtualization techniques.[56][57] Xen can run paravirtualized guests ("PV guests" in Xen terminology) even on CPUs without any explicit support for virtualization. Paravirtualization avoids the need to emulate a full set of hardware and firmware services, which makes a PV system simpler to manage and reduces the attack surface exposed to potentially malicious guests. On 32-bit x86, the Xen host kernel code runs in Ring 0, while the hosted domains run in Ring 1 (kernel) and Ring 3 (applications).

CPUs that support virtualization make it possible to run unmodified guests, including proprietary operating systems (such as Microsoft Windows). This is known as hardware-assisted virtualization, however, in Xen this is known as hardware virtual machine (HVM). HVM extensions provide additional execution modes, with an explicit distinction between the most-privileged modes used by the hypervisor with access to the real hardware (called "root mode" in x86) and the less-privileged modes used by guest kernels and applications with "hardware" accesses under complete control of the hypervisor (in x86, known as "non-root mode"; both root and non-root mode have Rings 0–3). Both Intel and AMD have contributed modifications to Xen to exploit their respective Intel VT-x and AMD-V architecture extensions.[58] Use of ARM v7A and v8A virtualization extensions came with Xen 4.3.[59] HVM extensions also often offer new instructions to allow direct calls by a paravirtualized guest/driver into the hypervisor, typically used for I/O or other operations needing high performance. These allow HVM guests with suitable minor modifications to gain many of the performance benefits of paravirtualized I/O. In current versions of Xen (up to 4.2) only fully virtualized HVM guests can make use of hardware facilities for multiple independent levels of memory protection and paging. As a result, for some workloads, HVM guests with PV drivers (also known as PV-on-HVM, or PVH) provide better performance than pure PV guests. Xen HVM has device emulation based on the QEMU project to provide I/O virtualization to the virtual machines. The system emulates hardware via a patched QEMU "device manager" (qemu-dm) daemon running as a backend in dom0. This means that the virtualized machines see an emulated version of a fairly basic PC. In a performance-critical environment, PV-on-HVM disk and network drivers are used during the normal guest operation, so that the emulated PC hardware is mostly used for booting.

Features

[edit]

Administrators can "live migrate" Xen virtual machines between physical hosts across a LAN without loss of availability. During this procedure, the LAN iteratively copies the memory of the virtual machine to the destination without stopping its execution. The process requires a stoppage of around 60–300 ms to perform final synchronization before the virtual machine begins executing at its final destination, providing an illusion of seamless migration. Similar technology can serve to suspend running virtual machines to disk, "freezing" their running state for resumption at a later date.

Xen can scale to 4095 physical CPUs, 256 VCPUs[clarification needed] per HVM guest, 512 VCPUs per PV guest, 16 TB of RAM per host, and up to 1 TB of RAM per HVM guest or 512 GB of RAM per PV guest.[60]

Availability

[edit]

The Xen hypervisor has been ported to a number of processor families:

  • Intel: IA-32, IA-64 (before version 4.2[61]), x86-64
  • PowerPC: previously supported under the XenPPC project, no longer active after Xen 3.2[62]
  • ARM: previously supported under the XenARM project for older versions of ARM without virtualization extensions, such as the Cortex-A9. Currently[when?] supported since Xen 4.3 for newer versions of the ARM with virtualization extensions, such as the Cortex-A15.
  • MIPS: XLP832 experimental port[63]

Hosts

[edit]

Xen can be shipped in a dedicated virtualization platform, such as XCP-ng or XenServer (formerly Citrix Hypervisor, and before that Citrix XenServer, and before that XenSource's XenEnterprise).

Alternatively, Xen is distributed as an optional configuration of many standard operating systems. Xen is available for and distributed with:

Guests

[edit]

Guest systems can run fully virtualized (which requires hardware support), paravirtualized (which requires a modified guest operating system), or fully virtualized with paravirtualized drivers (PVHVM[73]).[74] Most operating systems which can run on PCs can run as a Xen HVM guest. The following systems can operate as paravirtualized Xen guests:

Xen version 3.0 introduced the capability to run Microsoft Windows as a guest operating system unmodified if the host machine's processor supports hardware virtualization provided by Intel VT-x (formerly codenamed Vanderpool) or AMD-V (formerly codenamed Pacifica). During the development of Xen 1.x, Microsoft Research, along with the University of Cambridge Operating System group, developed a port of Windows XP to Xen — made possible by Microsoft's Academic Licensing Program. The terms of this license do not allow the publication of this port, although documentation of the experience appears in the original Xen SOSP paper.[78] James Harper and the Xen open-source community have started developing free software paravirtualization drivers for Windows. These provide front-end drivers for the Xen block and network devices and allow much higher disk and network performance for Windows systems running in HVM mode. Without these drivers all disk and network traffic has to be processed through QEMU-DM.[79] Subsequently, Citrix has released under a BSD license (and continues to maintain) PV drivers for Windows.[80]

Management

[edit]

Third-party developers have built a number of tools (known as Xen Management Consoles) to facilitate the common tasks of administering a Xen host, such as configuring, starting, monitoring and stopping of Xen guests. Examples include:

  • The OpenNebula cloud management toolkit
  • On openSUSE YaST and virt-man offer graphical VM management
  • OpenStack natively supports Xen as a Hypervisor/Compute target
  • Apache CloudStack also supports Xen as a Hypervisor
  • Novell's PlateSpin Orchestrate also manages Xen virtual machines for Xen shipping in SUSE Linux Enterprise Server.
  • Xen Orchestra for both XCP-ng and Citrix Hypervisor platforms

Commercial versions

[edit]

The Xen hypervisor is covered by the GNU General Public Licence, so all of these versions contain a core of free software with source code. However, many of them contain proprietary additions.

See also

[edit]

References

[edit]
  1. ^ a b "Xen". SourceForge.net. October 2, 2003. Retrieved October 18, 2012.
  2. ^ a b Jonathan Corbet (October 2, 2003). "The first stable Xen release". Lwn.net. Retrieved October 18, 2012.
  3. ^ "Xen Project 4.19 Release Notes - Xen". July 29, 2024. Retrieved August 1, 2024.
  4. ^ jgross (April 2, 2019). "What's New In XEN 4.12". xenproject.org. Retrieved May 6, 2019.
  5. ^ "Xen Overview". Retrieved April 5, 2015.
  6. ^ "OSCompatibility - Xen Project Wiki". Wiki.xenproject.org. February 8, 2007. Retrieved June 8, 2013.
  7. ^ "Xen Summit April 2007". Xen Project. April 2007.
  8. ^ Suh, Sang-bum (April 2007). "Secure Architecture and Implementation of Xen on the ARM for Mobile Devices" (PDF). Xen Project.
  9. ^ "Xen Summit Boston 2008". Xen Project. June 2008.
  10. ^ Suh, Sang-bum (June 2008). "Secure Xen on ARM: Source Code Release and Update" (PDF). Xen Project.
  11. ^ "XenSummit Speaker Profiles" (PDF). Xen Summit Boston 2008. June 2008.
  12. ^ "Citrix Systems » Citrix Completes Acquisition of XenSource". Citrix Systems. July 12, 2007. Archived from the original on February 6, 2012. Retrieved October 26, 2007.
  13. ^ "Trademark". Xen.org. Retrieved June 8, 2012.
  14. ^ "Trademark Policy" (PDF) (PDF). Xen.org. June 1, 2008. Retrieved June 8, 2013.
  15. ^ "Linux Foundation Project". LinuxFoundation.org. Retrieved May 3, 2013.
  16. ^ "XenProject.org Website". XenProject.org. Retrieved May 3, 2013.
  17. ^ "Linux Foundation Xen Project Members". XenProject.org. Retrieved May 3, 2013.
  18. ^ "Project Governance (Updated)". XenProject.org. Retrieved May 3, 2013.
  19. ^ "Xen celebrates full dom0 and domU support in Linux 3.0 –". Blog.xen.org. May 30, 2011. Archived from the original on June 7, 2011. Retrieved October 18, 2012.
  20. ^ Jonathan Corbet (November 5, 2004). "Xen 2.0 released". Lwn.net. Retrieved October 18, 2012.
  21. ^ Jonathan Corbet (December 6, 2005). "Xen 3.0 released". Lwn.net. Retrieved October 18, 2012.
  22. ^ "XenSource: Press Releases". XenSource, Inc. December 10, 2005. Archived from the original on December 10, 2005. Retrieved October 18, 2012.
  23. ^ "AMD SVM Xen port is public". lists.xenproject.org. December 14, 2005. Retrieved June 8, 2013.
  24. ^ "[Xen-devel] Xen 3.0.3 released! - Xen Source". Lists.xenproject.org. October 17, 2006. Retrieved June 8, 2013.
  25. ^ "[Xen-devel] FW: Xen 3.0.4 released! - Xen Source". Lists.xenproject.org. December 20, 2006. Retrieved June 8, 2013.
  26. ^ "[Xen-devel] Xen 3.1 released! - Xen Source". Lists.xenproject.org. May 18, 2007. Retrieved June 8, 2013.
  27. ^ "Xen 3.2.0 Officially Released : VMblog.com - Virtualization Technology News and Information for Everyone". VMblog.com. Retrieved October 18, 2012.
  28. ^ "Xen 3.3.0 hypervisor ready for download - The H: Open Source, Security and Development". H-online.com. August 25, 2008. Archived from the original on March 14, 2012. Retrieved October 18, 2012.
  29. ^ "Xen.org Announces Release Of Xen 3.4 Hypervisor | Citrix Blogs". Community.citrix.com. May 18, 2009. Archived from the original on March 15, 2011. Retrieved October 18, 2012.
  30. ^ "Virtualisation: Xen is looking to catch up by releasing version 4 - The H Open: News and Features". H-online.com. April 9, 2010. Archived from the original on March 14, 2012. Retrieved October 18, 2012.
  31. ^ "Xen 4.0 Datasheet" (PDF) (PDF). Xen.org. Archived from the original (PDF) on May 10, 2012. Retrieved October 18, 2012.
  32. ^ "Xen 4.1 releases –". Blog.xen.org. March 25, 2011. Archived from the original on August 29, 2011. Retrieved October 18, 2012.
  33. ^ "XenParavirtOps - Xen Wiki". Wiki.xenproject.org. Retrieved June 8, 2013.
  34. ^ a b c "Best Quality and Quantity of Contributions in the New Xen Project 4.6 Release". Xenproject.org. October 13, 2015. Retrieved October 13, 2015.
  35. ^ "Xen 4.3 released! –". Blog.xen.org. July 9, 2013. Archived from the original on July 13, 2013. Retrieved July 16, 2013.
  36. ^ "Xen 4.4 releases –". Blog.xen.org. March 10, 2014. Archived from the original on March 10, 2014. Retrieved March 10, 2014.
  37. ^ "Xen Project 4.4 Release Notes". Wiki.xenproject.org. Retrieved March 10, 2014.
  38. ^ "Xen 4.4 Feature List". Wiki.xenproject.org. Retrieved March 10, 2014.
  39. ^ a b "Less is More in the New Xen Project 4.5 Release –". Blog.xen.org. January 15, 2015. Retrieved January 17, 2015.
  40. ^ "Xen Project 4.8.1 is available". Xenproject.org. April 12, 2017. Retrieved June 1, 2017.
  41. ^ "Xen Project 4.7 Feature List". Xen project. June 24, 2016.
  42. ^ "Xen Project 4.8.1 is available | Xen Project Blog". blog.xenproject.org. April 12, 2017. Retrieved February 19, 2018.
  43. ^ "What's New in the Xen Project Hypervisor 4.9". June 28, 2017. Retrieved April 26, 2018.
  44. ^ "What's New in the Xen Project Hypervisor 4.10". December 12, 2017. Retrieved April 26, 2018.
  45. ^ Gross, Juergen (July 10, 2018). "What's New in the Xen Project Hypervisor 4.11". Retrieved January 17, 2018.
  46. ^ Gross, Juergen (April 2, 2019). "WHAT'S NEW IN XEN 4.12". Retrieved April 29, 2019.
  47. ^ Kurth, Lars (December 18, 2019). "What's new in Xen 4.13". Retrieved December 23, 2019.
  48. ^ "Amazon EC2 Beta". August 25, 2006.
  49. ^ "CloudLayer Computing vs. Amazon EC2" (PDF) (PDF). Archived from the original (PDF) on December 12, 2014. Retrieved April 5, 2015.
  50. ^ Suzanne Tindal (February 28, 2011). "Fujitsu's global cloud launches in Aus". ZDNet Australia. Archived from the original on October 31, 2014. Retrieved October 11, 2011.
  51. ^ "Xen Project - Guest VM Images - OrionVM PV-HVM Templates". April 1, 2012. Retrieved June 27, 2014.
  52. ^ "Cloud FAQ". Rackspace.com. September 13, 2011. Archived from the original on October 17, 2012. Retrieved October 18, 2012.
  53. ^ "Understanding the Virtualization Spectrum". xenproject.org. Archived from the original on February 5, 2023. Retrieved March 9, 2022.
  54. ^ Roger Pau Monne. "Xen virtualization on FreeBSD" (PDF) (PDF). Retrieved April 6, 2015.
  55. ^ "Choosing a virtualization mode (PV versus PVHVM)". Rackspace Support Network. Rackspace. January 12, 2016. Archived from the original on January 26, 2018. Retrieved January 25, 2018.
  56. ^ Robin and Irvine, "Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor", 9th Usenix Security Symposium, 2000
  57. ^ Gil Neiger, Amy Santoni, Felix Leung, Dion Rodgers, Rich Uhlig. Intel Virtualization Technology: Software-only virtualization with the IA-32 and Itanium architectures, Intel Technology Journal, Volume 10 Issue 03, August 2006.
  58. ^ Extending Xen with Intel Virtualization Technology, intel.com
  59. ^ "The ARM Hypervisor — The Xen Project's Hypervisor for the ARM architecture". Retrieved April 6, 2015.
  60. ^ "Xen Release Features". Xen Project. Retrieved October 18, 2012.
  61. ^ "Xen 4.2 Feature List". Xen Project. December 17, 2012. Retrieved January 22, 2014.
  62. ^ "XenPPC". Xen Project. August 15, 2010. Retrieved January 22, 2014.
  63. ^ Mashable (September 4, 2012). "Porting Xen Paravirtualization to MIPS Architecture". Slideshare.net. Retrieved January 22, 2014.
  64. ^ "AUR (en) - xen". Aur.archlinux.org. Retrieved April 12, 2018.
  65. ^ "Xen - ArchWiki". Wiki.archlinux.org. Retrieved April 12, 2018.
  66. ^ "Xen - FreeBSD Wiki". wiki.freebsd.org. Retrieved September 28, 2015.
  67. ^ "Xen". Wiki.gentoo.org. Retrieved April 12, 2018.
  68. ^ "NetBSD/xen". Netbsd.org. Retrieved June 8, 2013.
  69. ^ "XenDom0Kernels - Xen Wiki". Wiki.xenproject.org. November 8, 2011. Retrieved June 8, 2013.
  70. ^ "Xen in Qubes OS Security Architecture". xenp.org. Retrieved April 12, 2018.
  71. ^ "Xen dom0 support in Lucid - Kernel team discussions - ArchiveOrange". Web.archiveorange.com. Archived from the original on September 13, 2011. Retrieved January 22, 2014.
  72. ^ "Xen - Community Ubuntu Documentation". Help.ubuntu.com. September 5, 2012. Retrieved October 18, 2012.
  73. ^ "PV on HVM". Wiki.xen.org. Retrieved April 12, 2018.
  74. ^ "Understanding the Virtualization Spectrum". Wiki.xenproject.org. Retrieved April 12, 2018.
  75. ^ "FreeBSD/Xen - FreeBSD Wiki". Wiki.freebsd.org. June 25, 2012. Archived from the original on October 12, 2012. Retrieved October 18, 2012.
  76. ^ "FreeBSD 11.0-RELEASE Release Notes". The FreeBSD Documentation Project. September 22, 2016. Retrieved October 23, 2016.
  77. ^ "xen(4) - OpenBSD Manual Pages". Retrieved December 30, 2017.
  78. ^ Barham, Paul; Dragovic, Boris; Fraser, Keir; Hand, Steven; Harris, Tim; Ho, Alex; Neugebauer, Rolf; Pratt, Ian; Warfield, Andrew (October 19, 2003). Xen and the art of virtualization (PDF). SOSP '03: Proceedings of the nineteenth ACM symposium on Operating systems principles. pp. 164–177. doi:10.1145/945445.945462.
  79. ^ "Xen Windows GplPv". Retrieved June 26, 2019.
  80. ^ "XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citrix Systems". June 29, 2018. Retrieved June 26, 2019.
  81. ^ Sharwood, Simon. "XenServer split from Citrix, promises per-socket prices". www.theregister.com. Retrieved May 29, 2023.
  82. ^ Mikael Lindholm (April 25, 2019). "Citrix Hypervisor 8.0 is here!". Citrix Blog. Citrix.
  83. ^ Huawei to virtual world: Give us your desktops and no-one gets hurt
  84. ^ Crucible - Secure Embedded Virtualization

Further reading

[edit]
[edit]