Jump to content

Cross-platform virtualization: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
OAbot (talk | contribs)
m Open access bot: doi updated in citation with #oabot.
#suggestededit-add-desc 1.0
Tags: Mobile edit Mobile app edit Android app edit
 
Line 1: Line 1:
{{Short description|Type of computer virtualisation}}
'''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.
'''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.



Latest revision as of 02:28, 1 February 2024

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

[edit]

References

[edit]
  1. ^ Gerald J. Popek and Robert P. Goldberg (1974). "Formal Requirements for Virtualizable Third Generation Architectures". Communications of the ACM. 17 (7): 412–421. doi:10.1145/361011.361073. S2CID 53302633.
  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. doi:10.1145/2996798. ISSN 1544-3566.