Xen

De Viquipèdia
Dreceres ràpides: navegació, cerca

Xen és una màquina virtual de codi obert desenvolupada per la Universitat de Cambridge. La meta del disseny és poder executar instàncies de sistemes operatius amb totes les seves característiques, de forma completament funcional en un equip senzill.

Xen proporciona un aïllament segur, control de recursos, garanties de qualitat de servei i migració de màquines virtuals en viu. Els sistemes operatius han de ser modificats explícitament per córrer Xen (encara que mantenint la compatibilitat amb aplicacions d'usuari). Això permet a Xen assolir virtualització d'alt rendiment sense un suport especial de maquinari.

Ús[modifica | modifica el codi]

Les màquines virtuals són usades sovint per IBM i altres companyies als seus servidors i ordinadors centrals per a abstreure la major quantitat d'aplicacions possibles i assegurarr les aplicacions posant-les en màquines virtuals diferents (semblant a una gàbia chroot). Pot ser utilitzada també, no sol per raons de seguretat o funcionament, sinó també per poder tenir diferents sistemes operatius arrencats al mateix ordinador. Amb la migració de màquines virtuals en viu de Xen es pot aconseguir fer balanç de càrregues sense temps morts.

Comparació amb altres màquines virtuals[modifica | modifica el codi]

  • Denali utilitza la paravirtualització per proporcionar màquines virtuals d'alt rendiment en ordinadors x86. La màquina virtual Denali dóna suport a Sistemes Operatius mínimament especialitzats cap a serveis d'Internet. El sistema pot escalar a milers de màquines virtuals. A diferència de Xen, Denali no preserva la interfície binari (ABI), i algunes aplicacions han de ser recompilades perquè funcionin amb les llibreries del sistema operatiu; en aquest sentit és similar a Exokernel.
  • VMware proporciona màquines virtuals per a x86 que pugui executar sistemes operatius sense modificar. La tecnologia per aconseguir això és extremadament complexa i aconsegueix un baix rendiment. Xen té completa compatibilitat amb els Sistemes Operatius amb relativa simplicitat i un alt rendiment.
  • Virtuozzo substitueix la capa d'abstracció del maquinari per una versió modificada permetent-li funcionar amb un millor rendiment dels sistemes operatius, però força a la qual totes les Màquines Virtuals s'executin en un equip i amb el mateix sistema operatiu. Actualment existeix una versió per a Windows 2003 i per a Fedora Core Linux.

Paravirtualització amb Xen[modifica | modifica el codi]

Xen utilitza una tècnica anomenada paravirtualització per assolir alt rendiment (és a dir, baixes penalitzacions del rendiment, típicament al voltant del 2%, amb els pitjors casos de rendiment rondant el 8%; això contrasta amb les solucions d'emulació que habitualment sofreixen penalitzacions d'un 20%). Amb la paravirtualització, es pot assolir alt rendiment fins i tot en arquitectures (x86) que no solen aconseguir-se amb tècniques tradicionals de virtualització. A diferència de les màquines virtuals tradicionals, que proporcionen entorns basats en programari per simular maquinari, Xen requereix portar els sistemes operatius per adaptar-se a l'API de Xen. Fins al moment hi ha ports per a NetBSD, Linux, FreeBSD i Plan 9. En 2005, Novell mostra un port de NetWare per Xen. Un port de Windows XP es va crear durant el desenvolupament inicial de Xen, però les llicències de Microsoft prohibeixen el seu llançament públic.

Virtualizació completa amb Xen[modifica | modifica el codi]

Intel ha realitzat modificacions a Xen per suportar la seva arquitectura d'extensions Vanderpool. Aquesta tecnologia permetrà que sistemes operatius sense modificacions s'executin en màquines virtuals Xen, si el sistema suporta les extensions Vanderpool o Pacifica (d'Intel i AMD respectivament, extensions per suportar virtualització de forma nativa). Pràcticament, això significarà que hi haurà una millora de rendiment, i que serà possible virtualitzar Windows sense haver de modificar-lo.

Migració de màquines virtuals[modifica | modifica el codi]

Les màquines virtuals Xen poden ser migrades en viu entre equips físics sense parar-los. Durant aquest procés, la memòria de la màquina virtual és copiada iterativament a la destinació sense detenir la seva execució. Una parada molt breu al voltant de 60 a 300 ms és necessària per realitzar la sincronització final abans que la màquina virtual comenci a executar-se en la seva destinació final. Una tecnologia similar és utilitzada per suspendre les màquines virtuals a disc i canviar una altra màquina virtual.

Plataformes suportades[modifica | modifica el codi]

Xen funciona actualment en sistemes basats en x86. Actualment s'està portant les plataformes x86-64, IA64 i PPC. Els ports d'atres plataformes són tècnicament possibles i podran estar disponibles en el futur.

Xen en sistemes Unix[modifica | modifica el codi]

  • Ubuntu 6.10 (Edgy Eft) inclou Xen 3.0.3.
  • Mandriva 2006 inclou Xen 2.6
  • Novell Suse Linux Professional 10 inclou Xen 3.
  • Fedora Core 5 inclou la versió 3 de Xen.
  • Xen demo CD és una ISO live CD basada en Debian que permet provar Xen en el teu sistema sense instal·lar-la en el disc dur.
  • Debian també inclou els paquets de Xen, en els seus repositoris inestable i experimental.
  • NetBSD 2.0 inclou suport per Xen 1.2.

Xen i Llenguatges de programació[modifica | modifica el codi]

Serveis Comercials[modifica | modifica el codi]

Hi ha companyies, per exemple vpsland, que proporcionen servidors privats virtuals basats en Xen.

Referències[modifica | modifica el codi]

  1. wiki de HaLVM: The Haskell Lightweight Virtual Machine(anglès)
  2. Run Haskell on Xen - No Operating System Required!(anglès)
  3. Mirage (anglès)
  4. Mirage: ML kernels in the Cloud (anglès)

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Xen Modifica l'enllaç a Wikidata