Cross-platform virtualization explained

Cross-platform virtualization is a form of computer virtualization that allows software compiled for a specific instruction set and operating system to run unmodified on computers with different CPUs and/or operating systems, through a combination of dynamic binary translation and operating system call mapping.

Since the software runs on a virtualized equivalent of the original computer, it does not require recompilation or porting, thus saving time and development resources. However, the processing overhead of binary translation and call mapping imposes a performance penalty, when compared to natively-compiled software. For this reason, cross-platform virtualization may be used as a temporary solution until resources are available to port the software. Alternatively, cross-platform virtualization may be used to support legacy code, which running on a newer and faster machine still maintains adequate performance even with virtualization overhead.

By creating an abstraction layer capable of running software compiled for a different computer system, cross-platform virtualization characterizes the Popek and Goldberg virtualization requirements outlined by Gerald J. Popek and Robert P. Goldberg in their 1974 article "Formal Requirements for Virtualizable Third Generation Architectures".[1] Cross-platform virtualization is distinct from simple emulation and binary translation - which involve the direct translation of one instruction set to another - since the inclusion of operating system call mapping provides a more complete virtualized environment. Cross-platform virtualization is also complementary to server virtualization and desktop virtualization solutions, since these are typically constrained to a single instruction set, such as x86 or Power ISA. Modern variants of cross-platform virtualisation may employ hardware acceleration techniques[2] to offset some of the cost incurred in the guest-to-host system translation.

See also

References

  1. Gerald J. Popek and Robert P. Goldberg . Formal Requirements for Virtualizable Third Generation Architectures . Communications of the ACM . 1974 . 17 . 7 . 412 - 421 . 10.1145/361011.361073 . 53302633 . free .
  2. Spink. Tom. Wagstaff. Harry. Franke. Björn. 2016-12-28. Hardware-Accelerated Cross-Architecture Full-System Virtualization. ACM Transactions on Architecture and Code Optimization . 13. 4. 36. 10.1145/2996798. 1544-3566. free.