Virtuelle Maschine

Eine virtuelle Maschine (VM) ist ein "völlig isolierter Gast Betriebssystemeinführung innerhalb eines normalen Gastgebers Betriebssystem". Moderne virtuelle Maschinen werden entweder mit dem Softwarewetteifer oder mit der Hardware-Virtualisierung oder (in den meisten Fällen) beide zusammen durchgeführt.

VM Definitionen

Eine virtuelle Maschine (VM) ist eine Softwaredurchführung einer Maschine (d. h. ein Computer), der Programme wie eine physische Maschine durchführt. Virtuelle Maschinen werden in zwei Hauptkategorien getrennt, die auf ihrem Gebrauch und Grad der Ähnlichkeit zu jeder echten Maschine gestützt sind. Virtuelle Maschine eines Systems stellt eine ganze Systemplattform zur Verfügung, die die Ausführung eines ganzen Betriebssystems (OS) unterstützt. Im Gegensatz, ein Prozess virtuelle Maschine wird entworfen, um ein einzelnes Programm zu führen, was bedeutet, dass sie einen einzelnen Prozess unterstützt. Eine wesentliche Eigenschaft einer virtuellen Maschine ist, dass das Softwarelaufen innen auf die Mittel und durch die virtuelle Maschine zur Verfügung gestellten Abstraktionen beschränkt wird — kann es nicht aus seiner virtuellen Welt brechen.

Eine virtuelle Maschine wurde von Popek und Goldberg als "ein effizientes, isoliertes Duplikat einer echten Maschine" ursprünglich definiert. Aktueller Gebrauch schließt virtuelle Maschinen ein, die keine direkte Ähnlichkeit zu jeder echten Hardware haben.

System virtuelle Maschinen

System virtuelle Maschinenvorteile:

  • vielfache OS Umgebungen können auf demselben Computer, in der starken Isolierung von einander koexistieren
  • die virtuelle Maschine kann eine Befehlssatz-Architektur (ISA) zur Verfügung stellen, die von dieser der echten Maschine etwas verschieden
ist
  • Anwendung mit Nachschub versorgend, Wartung, hohe Verfügbarkeit und Katastrophe-Wiederherstellung

Die Hauptnachteile von VMs sind:

  • eine virtuelle Maschine ist weniger effizient als eine echte Maschine, wenn sie auf die Hardware indirekt zugreift
  • wenn vielfach, laufen VMs auf demselben physischen Gastgeber gleichzeitig, jeder VM kann ein Verändern und nicht stabile Leistung ausstellen (Geschwindigkeit der Ausführung und nicht Ergebnisse), der hoch vom Arbeitspensum abhängt, das dem System durch anderen VMs auferlegt ist, wenn richtige Techniken für die zeitliche Isolierung unter virtuellen Maschinen nicht verwendet werden.

Vielfacher VMs jedes Laufen ihres eigenen Betriebssystems (genannt Gast Betriebssystem) wird oft in der Server-Verdichtung verwendet, wohin verschiedene Dienstleistungen, die gepflegt haben, auf individuellen Maschinen zu laufen, um Einmischung zu vermeiden, stattdessen in getrenntem VMs auf derselben physischen Maschine geführt werden.

Der Wunsch, vielfache Betriebssysteme zu führen, war die ursprüngliche Motivation für virtuelle Maschinen, weil es Time-Sharing einen einzelnen Computer zwischen mehreren Einzelprogrammverarbeitungsoperationssystemen erlaubt hat. In etwas Hinsicht ein System kann virtuelle Maschine als eine Generalisation des Konzepts des virtuellen Gedächtnisses betrachtet werden, das ihm historisch vorangegangen ist. Das BEDIENUNGSFELD/CM von IBM, die ersten Systeme, um volle Virtualisierung zu erlauben, hat Time-Sharing durch das Versorgen jedes Benutzers mit einem Einzelbenutzerbetriebssystem, den CM durchgeführt. Verschieden vom virtuellen Gedächtnis ein System hat virtuelle Maschine dem Benutzer erlaubt, privilegierte Instruktionen in ihrem Code zu verwenden. Diese Annäherung ist im Vorteil gewesen, zum Beispiel hat sie Benutzern erlaubt, durch das Standardsystem nicht erlaubte Geräte des Eingangs/Produktion hinzuzufügen.

Der Gast OSes muss mit der Hardware nicht entgegenkommend sein, die es möglich macht, verschiedenen OSES auf demselben Computer zu führen (z.B, Windows von Microsoft und Linux oder ältere Versionen eines OS, um Software zu unterstützen, die zur letzten Version noch nicht getragen worden ist). Der Gebrauch von virtuellen Maschinen, um verschiedenen Gast OSes zu unterstützen, wird populär in eingebetteten Systemen; ein typischer Gebrauch soll ein Echtzeitbetriebssystem zur gleichen Zeit als ein OS auf höchster Ebene wie Linux oder Windows unterstützen.

Ein anderer Gebrauch ist zum Sandkasten ein OS, dem vielleicht nicht vertraut wird, weil es ein System unter der Entwicklung ist. Virtuelle Maschinen sind im Vorteil für die OS Entwicklung, einschließlich des besseren Beseitigen-Zugangs und schnelleren Neustartes.

Bearbeiten Sie virtuelle Maschinen

Ein Prozess läuft VM, manchmal genannt eine Anwendung virtuelle Maschine, als eine normale Anwendung innerhalb eines Gastgebers OS und unterstützt einen einzelnen Prozess. Es wird geschaffen, wenn dieser Prozess angefangen und zerstört wird, wenn es abgeht. Sein Zweck ist, eine mit der Plattform unabhängige Programmierumgebung zur Verfügung zu stellen, die Auszüge weg Details der zu Grunde liegenden Hardware oder des Betriebssystems, und einem Programm erlauben, ebenso auf jeder Plattform durchzuführen.

Ein Prozess VM stellt eine Abstraktion auf höchster Ebene — diese einer Programmiersprache auf höchster Ebene (im Vergleich zur auf niedriger Stufe ISA Abstraktion des Systems VM) zur Verfügung. Prozess VMs wird mit einem Dolmetscher durchgeführt; mit kompilierten Programmiersprachen vergleichbare Leistung wird durch den Gebrauch gerade rechtzeitig der Kompilation erreicht.

Dieser Typ von VM ist populär bei der javanischen Programmiersprache geworden, die mit Java virtuelle Maschine durchgeführt wird. Andere Beispiele schließen den Papageien virtuelle Maschine ein, die als eine Abstraktionsschicht für mehrere interpretierte Sprachen dient, und das.NET Fachwerk, das auf einem VM läuft, die Durchlaufzeit der Gemeinsamen Sprache genannt hat.

Ein spezieller Fall des Prozesses VMs ist Systeme dass Auszug über die Nachrichtenmechanismen einer (potenziell heterogenen) Computertraube. Solch ein VM besteht aus einem einzelnen Prozess, aber einem Prozess pro physische Maschine in der Traube nicht. Sie werden entworfen, um die Aufgabe zu erleichtern, parallele Anwendungen zu programmieren, indem sie den Programmierer sich auf Algorithmen aber nicht die Nachrichtenmechanismen konzentrieren lässt, die durch die Verbindung und den OS zur Verfügung gestellt sind. Sie verbergen die Tatsache nicht, dass Kommunikation stattfindet, und weil solcher nicht versuchen, die Traube als eine einzelne parallele Maschine zu präsentieren.

Verschieden von anderem Prozess VMs stellen diese Systeme keine spezifische Programmiersprache zur Verfügung, aber werden auf einer vorhandenen Sprache eingebettet; normalerweise stellt solch ein System bindings für mehrere Sprachen (z.B, C und FORTRAN) zur Verfügung. Beispiele sind PVM (Parallele Virtuelle Maschine) und MPI (Nachricht, die Schnittstelle Passiert). Sie sind nicht ausschließlich virtuelle Maschinen, weil die Anwendungen, die auf der Spitze noch laufen, Zugang zu allen OS Dienstleistungen haben, und deshalb auf das durch den "VM" zur Verfügung gestellte Systemmodell nicht beschränkt werden.

Techniken

Wetteifer der zu Grunde liegenden rohen Hardware (heimische Ausführung)

Diese Annäherung wird als volle Virtualisierung der Hardware beschrieben, und kann mit einem Hyperschirm des Typs 1 oder Typs 2 durchgeführt werden. (Ein Hyperschirm des Typs 1 läuft direkt auf der Hardware; ein Hyperschirm des Typs 2 läuft auf einem anderen Betriebssystem, wie Linux). Jede virtuelle Maschine kann jedes durch die zu Grunde liegende Hardware unterstützte Betriebssystem führen. Benutzer können so zwei oder mehr verschiedenen "Gast" Betriebssysteme gleichzeitig in getrennten "privaten" virtuellen Computern führen.

Das Pioniersystem mit diesem Konzept war das BEDIENUNGSFELD von IBM 40, das erste (1967) Version des BEDIENUNGSFELDES/CM von IBM (1967-1972) und des Vorgängers zur VM (1972-Gegenwart-) Familie von IBM. Mit der VM Architektur führen die meisten Benutzer ein relativ einfaches interaktives Recheneinzelbenutzerbetriebssystem, CM, als ein "Gast" oben auf dem VM-Kontrollprogramm (VM-BEDIENUNGSFELD). Diese Annäherung hat das CM-Design einfach gehalten, als ob es allein lief; das Kontrollprogramm stellt ruhig das Mehrbeschäftigen und die Quellenverwaltungsdienstleistungen "hinter den Kulissen" zur Verfügung. Zusätzlich zu CM können VM Benutzer einigen anderen IBM Betriebssysteme, wie MVS oder z/OS führen. Z/VM ist die jetzige Version von VM und wird verwendet, um Hunderte oder Tausende von virtuellen Maschinen auf einem gegebenen Großrechner zu unterstützen. Einige Installationen verwenden Linux für zSeries, um Webserver zu führen, wohin Linux als das Betriebssystem innerhalb von vielen virtuellen Maschinen läuft.

Volle Virtualisierung ist in der Betriebssystementwicklung besonders nützlich, wenn experimenteller neuer Code zur gleichen Zeit als ältere, stabilere, Versionen, jeder in einer getrennten virtuellen Maschine geführt werden kann. Der Prozess kann sogar rekursiv sein: IBM hat bei neuen Versionen seiner virtuellen Maschine Betriebssystem, VM in einer virtuellen Maschine die Fehler beseitigt, die unter einer älteren Version von VM läuft, und hat sogar diese Technik verwendet, um neue Hardware vorzutäuschen.

Der Standard x86 Verarbeiter-Architektur, wie verwendet, in den modernen PCs entspricht den Virtualisierungsanforderungen von Popek und Goldberg nicht wirklich. Namentlich gibt es keine Ausführungsweise, wo alle empfindlichen Maschineninstruktionen immer Fallen stellen, der Virtualisierung pro Instruktion erlauben würde.

Trotz dieser Beschränkungen haben mehrere Softwarepakete geschafft, Virtualisierung auf der x86 Architektur zur Verfügung zu stellen, wenn auch die dynamische Wiederkompilation des privilegierten Codes, wie zuerst durchgeführt, durch VMware, etwas Leistung oben verglichen mit einem VM übernimmt, der auf heimisch virtualizable Architektur wie IBM System/370 oder Motorola MC68020 läuft. Inzwischen schaffen mehrere andere Softwarepakete wie Virtueller PC, VirtualBox, Parallele-Arbeitsplatz und Virtuelles Eisen, Virtualisierung auf der x86 Hardware durchzuführen.

Intel und AMD haben Eigenschaften in ihre x86 Verarbeiter eingeführt, um Virtualisierung in der Hardware zu ermöglichen.

Sowie Virtualisierung der Mittel einer einzelnen Maschine, vielfache unabhängige Knoten in einer Traube können verbunden und als eine einzelne virtuelle NUMA Maschine zugegriffen werden.

Wetteifer eines nichtheimischen Systems

Virtuelle Maschinen können auch die Rolle eines Emulators durchführen, Softwareanwendungen und für eine andere Computerverarbeiter-Architektur geschriebenen Betriebssystemen erlaubend, geführt zu werden.

Einige virtuelle Maschinen eifern mit Hardware wett, die nur als eine ausführliche Spezifizierung besteht. Zum Beispiel:

  • Einer der ersten war die P-Codemaschinenspezifizierung, die Programmierern erlaubt hat, Programme von Pascal zu schreiben, die auf jedem Computer laufen würden, der virtuelle Maschinensoftware führt, die richtig die Spezifizierung durchgeführt hat.
  • Die Spezifizierung Javas virtuelle Maschine.
  • Die Infrastruktur der Gemeinsamen Sprache virtuelle Maschine am Herzen des Microsofts.NET Initiative.
  • Offener Firmware erlaubt Einfügefunktionshardware, Ladezeit-Diagnostik, Konfigurationscode und Gerät-Fahrer einzuschließen, die auf jeder Art der Zentraleinheit laufen werden.

Diese Technik erlaubt verschiedenen Computern, jede dieser Spezifizierung geschriebene Software zu führen; nur die virtuelle Maschinensoftware selbst muss getrennt für jeden Typ des Computers geschrieben werden, auf dem es läuft.

Betriebssystemebene-Virtualisierung

Betriebssystemebene-Virtualisierung ist eine Server-Virtualisierungstechnologie der virtualizes Server auf einem Betriebssystem (Kern) Schicht. Davon kann als das Verteilen gedacht werden: Ein einzelner physischer Server wird in vielfache kleine Teilungen (sonst genannt virtuelle Umgebungen (VE), virtuelle private Server (VPS), Gäste, Zonen, usw.) aufgeschnitten; jede solche Teilung schaut und ist zu einem echten Server aus dem Gesichtswinkel von seinen Benutzern aufgelegt.

Zum Beispiel unterstützt Solaris Zones vielfachen Gast OSes, der unter demselben OS (wie Solaris 10) läuft. Der ganze Gast OSes muss dasselbe Kernniveau verwenden und kann als verschiedene OS Versionen nicht laufen. Eingeborener-Zones von Solaris verlangt auch, dass der Gastgeber OS eine Version von Solaris ist; anderer OSES von anderen Herstellern wird nicht unterstützt., jedoch müssen Sie Solaris Gebrandmarkte Zonen verwenden, um einen anderen OSES als Zonen zu verwenden.

Ein anderes Beispiel ist Systemarbeitspensum-Teilungen (WPARs), der in IBM AIX 6.1 Betriebssystem eingeführt ist. System WPARs ist Softwareteilungen, die unter einem Beispiel des globalen AIX OS Umgebung laufen.

Die Betriebssystemniveau-Architektur hat niedrig oben, der hilft, effizienten Gebrauch von Server-Mitteln zu maximieren. Die Virtualisierung führt nur einen unwesentlichen oberirdischen ein und erlaubt, Hunderte von virtuellen privaten Servern auf einem einzelnen physischen Server zu führen. Im Gegensatz können Annäherungen wie volle Virtualisierung (wie VMware) und Paravirtualisierung (wie Xen oder UML) nicht solches Niveau der Dichte, wegen oben erreichen, vielfache Kerne zu führen. Von der anderen Seite erlaubt Betriebssystemebene-Virtualisierung nicht, verschiedene Betriebssysteme zu führen (d. h. verschiedene Kerne), obwohl verschiedene Bibliotheken, Vertrieb usw. möglich ist.

Liste der Hardware mit der virtuellen Maschinenunterstützung

  • Alcatel-Lucent 3B20D/3B21D, der auf kommerziellen Standardcomputern mit 3B2OE oder 3B21E System wettgeeifert ist
  • AMD-V (früher codegenannter Pacifica)
  • ARM TrustZone
  • Bostoner Stromkreise gCore (Bratrost auf dem Span) mit 16 KREISBOGEN 750D Kerne und Zeitmaschine-Hardware-Virtualisierungsmodul.
  • Freescale PowerPC MPC8572 und MPC8641D
  • IBM System/370, System/390 und zSeries Großrechner
  • IBM Power Systems
  • Intel VT-x (früher codegenannter Vanderpool)
  • Sonne-Mikrosysteme sun4v (UltraSPARC T1 und T2) - verwertet durch Logische Gebiete
  • HP vPAR und Zelle haben nPAR gestützt
  • Projekt von GE MAC dann
  • Systeme von Honeywell Multics
  • Honeywell 200/2000 das Systembefreier-Ersetzen Systeme von IBM 14xx, Niveau 62/64/66 GCOS
  • Emulator von IBM System/360 Model 145 Hardware für Honeywell 200/2000 Systeme
  • RCA Reihe der Spektren/70 hat mit IBM System/360 wettgeeifert
  • NAS Zentraleinheiten haben mit Maschinen von IBM und Amdahl wettgeeifert
  • Honeywell Minicomputer des Niveaus 6 haben mit Vorgänger 316/516/716 minis wettgeeifert
  • Xerox-Sigma 6 Zentraleinheiten wurde modifiziert, um mit GE/Honeywell 600/6000 Systeme wettzueifern

Liste der virtuellen Maschinensoftware

Prozess (Anwendung) virtuelle Maschinensoftware

  • Baan Bshell Virtuelle Maschine, Baan 4GL
  • Infrastruktur der Gemeinsamen Sprache, C#, Visueller Grundlegender.NET, J#, C ++/CLI (früher Geführter C ++)
  • Dalvik virtuelle Maschine, ein Teil des Androiden Betriebssysteme
  • Dis, Inferno Betriebssystem und seine Vorhölle-Sprache
  • DOSBox
  • EiffelStudio für die Sprache von Eiffel
  • Sprache von Erlang
  • Hervor virtuelle Maschine, Hervor
  • Glulx, Glulx, Z-Code
  • Hec, Hasm Monteur
  • Java virtuelle Maschine, Java, nett, NetRexx, Scala, irre, Clojure, JRuby
  • Low Level Virtual Machine (LLVM), zurzeit C, C ++, Stapler
  • Lua
  • Makromediablitz-Spieler, SWF
  • Memory Array Redcode Simulator (MARS), virtuelle Maschine, die Programme von Corewars durchführt
  • MMIX, MMIXAL
  • Neko virtuelle Maschine, zurzeit Neko und haXe
  • O-Codemaschine, BCPL
  • P-Codemaschine, Pascal
  • Papagei, Perl 6
  • Perl virtuelle Maschine, Perl
  • CPython, Pythonschlange
  • YARV, Rubin MRI
  • Rubinius, Rubin
  • ScummVM, Scumm
  • SECD Maschine, ISWIM, Lispkit Lispeln
  • Sed der Strom-Redakteur kann auch als ein VM mit 2 Lagerungsräumen gesehen werden
  • Plausch virtuelle Maschine, Plausch-Sprache
  • Quieksen Sie virtuelle Maschine, Quieken-Sprache
  • SQLite virtuelle Maschine, SQLite opcodes
  • SWEET16
  • Tamarin (Motor von JavaScript), ActionScript VM im Blitz 9
  • TrueType virtuelle Maschine, TrueType
  • V8 (Motor von JavaScript), JavaScript VM
  • Valgrind, Überprüfung von Speicherzugängen und Leckstellen darin codieren x86/x86-64 unter Linux
  • Virtual Processor (VP) von Tao Group (das Vereinigte Königreich).
  • VX32 virtuelle Maschine, Anwendungsniveau-Virtualisierung für den heimischen Code
  • Waba, virtuelle Maschine für kleine Geräte, die nach Java ähnlich
sind
  • Abstrakte Maschine von Warren, Einleitung, CSC GraphTalk
  • Z-Maschine, Z-Code
  • Zend Motor, PHP
  • libJIT Gerade rechtzeitig Kompilationsbibliothek, libJIT bytecode

System (Hardware) virtuelle Maschinensoftware

  • ATLAS Transformation Language (ATL), eine MTL virtuelle Maschine
  • Bochs, tragbare offene Quelle x86 und AMD64 PC-Emulator
  • CHARON-AXP, virtualizes AlphaServer, um OpenVMS oder Tru64 Anwendungen auf die x86 Hardware abzuwandern
  • CHARON-VAX, virtualizes PDP-11 oder VAX Hardware, um OpenVMS oder Tru64 Anwendungen auf x86 oder HP-Integritätshardware abzuwandern
  • Open Source von CoLinux Linux innerhalb von Windows
  • CoWare virtuelle Plattform
  • Denali, Gebrauch-Paravirtualisierung von x86, um para-virtualized PC Betriebssysteme zu führen.
  • Emulator von Herkules, freies System/370, ESA/390, z/Mainframe
  • KVM
  • Logische Gebiete
  • LynxSecure verwendet die MILS Architektur, um hohe Versicherung für eingebettete Systeme auf x86 zur Verfügung zu stellen
  • Windows virtueller PC (früher Microsoft Virtual PC) und Microsoft Virtual Server
  • Orakel VM
  • OVPsim ist ein frei verfügbarer virtueller Plattform-Simulator, der entworfen ist, um komplizierte Mehrverarbeiter-Systeme mit sehr hohen Geschwindigkeiten vorzutäuschen
  • Palacios ist ein OS unabhängiger embeddable VMM, es ist eine offene Quelle virtueller Maschinenmonitor für moderne Architekturen
  • Parallele-Arbeitsplatz, virtualizes x86, um unmodifizierten PC Betriebssysteme zu führen
  • Parallele-Arbeitsfläche für Mac, virtualizes x86, um virtuelle Maschinen auf Mac OS X zu führen
  • QEMU, ist ein Simulator, der auf einer virtuellen Maschine gestützt ist
  • SheepShaver
  • Simics
  • Sonne xVM
  • SVISTA
  • twoOStwo
  • Benutzerweise Linux
  • VirtualBox
  • Virtuelles Eisen (Virtuelles Eisen 3.1)
  • VM von IBM
  • VMLite
  • VMware (ESX Server, Fusion, virtueller Server, Arbeitsplatz, Spieler und ASS)
  • Xen (Opensource)
  • Systemwetteifer von TransVirtual von Laboratorien von Wang GEGEN die Hardware.
  • Systeme von IBM POWER

Betriebssystemniveau-Virtualisierungssoftware

  • Microsoft Hyper-V
  • OpenVZ
  • FreeVPS
  • Linux-VServer
  • Gefängnisse von FreeBSD
  • Solaris Behälter
  • AIX Arbeitspensum-Teilungen
  • LXC

Verlängerte Beschreibungen der ausgewählten Virtualisierungssoftware

Die folgenden Softwareprodukte können virtualize Hardware, so dass mehrere Betriebssysteme sie teilen können.

  • Windows 2008 R2 Hyper-V stellt x64 Virtualisierung des Typs 1 zur Verfügung.
  • Adeos ist eine Hardware-Abstraktionsschicht, die als ein Kernmodul in Linux geladen werden kann. Es erlaubt das Laden eines Echtzeitkerns als ein Modul zur gleichen Zeit als Linux, aber mit dem höheren Vorrang.
  • Denali verwendet paravirtualisation, um virtuelle Hochleistungsmaschinen auf x86 Computern zur Verfügung zu stellen. Die virtuelle Maschinenunterstützung von Denali hat minimalen OSs für Internetdienstleistungen spezialisiert. Das System kann zu Tausenden von virtuellen Maschinen klettern. Denali bewahrt die Anwendung binäre Schnittstelle (ABI) nicht, und so müssen Anwendungen wiederkompiliert werden, um innerhalb einer Bibliothek Betriebssystem zu führen; in diesem Sinn ist es Exokernel ähnlich.
  • OKL4 von Offenen Kernlaboratorien wird für den Gebrauch in eingebetteten Systemen entworfen und wird in erster Linie in Mobiltelefonen aufmarschiert. Es ist der einzige kommerzielle Hyperschirm, der Fähigkeitsbasierte Sicherheit verwendet.
  • OpenVZ stellt Betriebssystemniveau-Server-Virtualisierung zur Verfügung, hat auf Linux gebaut.
  • Parallelen virtualizes x86, um unmodifizierten PC Betriebssysteme und Gebrauch eine Leichtgewichtshyperschirm-Technologie zu führen, um Sicherheit zu verbessern und die Leistungsfähigkeit zu vergrößern. Parallelen sind populär für seine Fähigkeit geworden, Windows als ein Gast unter Mac OS X auf der Architektur von Apfelintel zu führen.
  • QEMU ist ein Simulator, der auf einer virtuellen Maschine gestützt ist, die ihm die Fähigkeit gibt, mit einer Vielfalt von Gast-Zentraleinheitsarchitekturen auf vielen verschiedenen Gastgeber-Plattformen wettzueifern.
  • Returnil Virtuelles System kann virtualize Windows gestützt Systeme, braucht nur einen Wiederanfang, um die virtuelle Maschine wieder aufzubauen.
  • VirtualBox ist eine offene Quelle (GPL) / virtuelle Eigentumsmaschine, die durch Sonne-Mikrosysteme (ursprünglich entwickelt ist, entwickelt von Innotek GmbH und jetzt besessen von Oracle Corporation). Es erlaubt Virtualisierung von x86 und unterstützt verschiedenen Gastgeber Betriebssysteme einschließlich Windows, Linux, BSD und Solaris. Es unterstützt auch VMware, Parallelen und Microsoft Virtual Machine Disk Formats.
  • Virtuelles Eisen stellt virtuelle Maschinen für x86 zur Verfügung, die unmodifizierte Betriebssysteme, wie Windows, Roter Hut und SUSE führen; offene Quelle, heimische Virtualisierung von Werkzeugen, die nah-heimische Leistung für x86 Betriebssysteme liefert. Virtuelles Eisen stellt volle OS Vereinbarkeit für vorhandenen oder neuen OSes mit der nah-heimischen Leistung ohne die Leistungsumtausche zwischen paravirualization und binärer Übersetzung zur Verfügung.
  • VMware stellt virtuelle Maschinen für x86 zur Verfügung, der unmodifizierten PC Betriebssysteme führen kann. Die Technologie, die am Tun davon beteiligt ist, ist kompliziert und übernimmt auch (manchmal bedeutend) allgemeine Leistungskosten mit veranstalteten VMware Produkten (VM Server und Arbeitsplatz). ESX Server stellt nah-heimische Leistung und völlig virtualized Auswahl (zusammen mit der Paravirtualisierung von einigen Hardware-Bestandteilen) zur Verfügung.
  • Xen handelt das Laufen von vorhandenen Betriebssystemen, um zu laufen, hat (paravirtualized) Betriebssysteme mit der verbesserten Leistung modifiziert. Systemmotivation von Xen Virtualization unterscheidet sich von diesem von Denali, in denen es beabsichtigt ist, um eine gemäßigte Zahl von voll gezeigten Betriebssystemen, aber nicht eine Vielzahl von spezialisierten, leichten zu führen.
  • KVM ist ein Kernmodul von Linux, das einem modifizierten QEMU Programm ermöglicht, Hardware-Virtualisierung zu verwenden.
  • libJIT Gerade rechtzeitig Kompilationsbibliothek ist eine Bibliothek für die Entwicklung von fortgeschrittenen Gerade rechtzeitig Kompilation (JIT) in Virtuellen Maschinendurchführungen, Dynamischen Programmiersprachen und Sprachen von Scripting. Zurzeit wird es für Allgemeine Zwischensprache, Rubin, Java, Bereichsspezifische Programmiersprachen verwendet.

Siehe auch

  • Vergleich der Plattform virtuelle Maschinen
  • Vergleich der Anwendung virtuelle Maschinen
  • Virtuelles Gerät
  • Hyperschirm
  • Lagerungshyperschirm
  • Heimischer Entwicklungsbastelsatz
  • Der VME von ICL Betriebssystem
  • Maschinenimage von Amazonas
  • Virtuelles Aushilfsgerät
  • Virtuelles Plattenimage
  • Virtuelle Maschinenflucht

Weiterführende Literatur

  • James E. Smith, Ravi Nair, Virtuelle Maschinen: Vielseitige Plattformen Für Systeme Und Prozesse, Morgan Kaufmann, Mai 2005, internationale Standardbuchnummer 1-55860-910-5, 656 Seiten (bedeckt sowohl Prozess als auch System virtuelle Maschinen)
  • Craig, Iain D. Virtual Machines. Springer, 2006, internationale Standardbuchnummer 1-85233-969-1, 269 Seiten (bedeckt nur Prozess virtuelle Maschinen)

Links


Verlan / Virtuelles Gedächtnis
Impressum & Datenschutz