Plattformübergreifende Virtualisierung - Cross-platform virtualization

Die plattformübergreifende Virtualisierung ist eine Form der Computervirtualisierung , mit der für einen bestimmten Befehlssatz und ein bestimmtes Betriebssystem kompilierte Software durch eine Kombination aus dynamischer binärer Übersetzung und Anrufzuordnung des Betriebssystems unverändert auf Computern mit unterschiedlichen CPUs und / oder Betriebssystemen ausgeführt werden kann .

Da die Software auf einem virtualisierten Äquivalent des Originalcomputers ausgeführt wird, ist keine Neukompilierung oder Portierung erforderlich , wodurch Zeit und Entwicklungsressourcen gespart werden. Der Verarbeitungsaufwand für die binäre Übersetzung und die Anrufzuordnung führt jedoch im Vergleich zu nativ kompilierter Software zu einer Leistungsminderung. Aus diesem Grund kann die plattformübergreifende Virtualisierung als temporäre Lösung verwendet werden, bis Ressourcen für die Portierung der Software verfügbar sind. Alternativ kann plattformübergreifende Virtualisierung verwendet werden, um Legacy-Code zu unterstützen, der auf einem neueren und schnelleren Computer ausgeführt wird und auch bei Virtualisierungsaufwand eine ausreichende Leistung bietet.

Durch die Erstellung einer Abstraktionsschicht , auf der Software ausgeführt werden kann, die für ein anderes Computersystem kompiliert wurde, charakterisiert die plattformübergreifende Virtualisierung die Virtualisierungsanforderungen von Popek und Goldberg, die Gerald J. Popek und Robert P. Goldberg 1974 in ihrem Artikel "Formale Anforderungen für virtualisierbare Architekturen der dritten Generation" beschrieben haben ". Die plattformübergreifende Virtualisierung unterscheidet sich von der einfachen Emulation und der binären Übersetzung , bei der ein Befehlssatz direkt in einen anderen übersetzt wird, da durch die Einbeziehung der Aufrufzuordnung des Betriebssystems eine vollständigere virtualisierte Umgebung bereitgestellt wird. Die plattformübergreifende Virtualisierung ist auch eine Ergänzung zu Servervirtualisierungs- und Desktopvirtualisierungslösungen , da diese normalerweise auf einen einzelnen Befehlssatz wie x86 oder Power ISA beschränkt sind . Moderne Varianten der plattformübergreifenden Virtualisierung können Hardwarebeschleunigungstechniken verwenden, um einen Teil der Kosten auszugleichen, die bei der Übersetzung des Gast-zu-Host-Systems anfallen.

Siehe auch

Verweise

  1. ^ Gerald J. Popek und Robert P. Goldberg (1974). "Formale Anforderungen für virtualisierbare Architekturen der dritten Generation". Mitteilungen der ACM . 17 (7): 412–421. doi : 10.1145 / 361011.361073 .
  2. ^ Spink, Tom; Wagstaff, Harry; Franke, Björn (28.12.2016). "Hardwarebeschleunigte architekturübergreifende Vollsystemvirtualisierung" . ACM-Transaktionen zur Architektur und Codeoptimierung . 13 (4): 36. doi : 10.1145 / 2996798 . ISSN  1544-3566 .