Cross-platform virtualization
From Wikipedia, the free encyclopedia
Cross-platform virtualization is a form of computer virtualization that allows software compiled for a specific CPU 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.
By creating an abstraction layer capable of running software compiled for a different computer system, cross-platform virtualization characterizes the behavior 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 emulation and binary translation - which involve the direct translation of one CPU 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 CPU type, such as x86 or POWER.
[edit] See also
[edit] References
- ^ Gerald J. Popek and Robert P. Goldberg (1974). "Formal Requirements for Virtualizable Third Generation Architectures". Communications of the ACM 17 (7): 412 –421. doi: .
This article is uncategorized. Please categorize this article to list it with similar articles. (June 2008) |