HOME

TheInfoList



OR:

Cross-platform virtualization is a form of computer virtualization that allows software compiled for a specific
instruction set In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called a ...
and
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
to run unmodified on computers with different CPUs and/or operating systems, through a combination of dynamic
binary translation In computing, binary translation is a form of binary recompilation where sequences of instructions are translated from a ''source'' instruction set to the ''target'' instruction set. In some cases such as instruction set simulation, the target i ...
and operating system call mapping. Since the software runs on a virtualized equivalent of the original computer, it does not require recompilation or
porting In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally des ...
, 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 In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem. Examples of software models that use layers of abstraction include the OSI model for network protocols, OpenGL, and other graphics libra ...
capable of running software compiled for a different computer system, cross-platform virtualization characterizes the
Popek and Goldberg virtualization requirements The Popek and Goldberg virtualization requirements are a set of conditions sufficient for a computer architecture to support system virtualization efficiently. They were introduced by Gerald J. Popek and Robert P. Goldberg in their 1974 article "F ...
outlined by Gerald J. Popek and Robert P. Goldberg in their 1974 article "Formal Requirements for Virtualizable Third Generation Architectures". Cross-platform virtualization is distinct from simple emulation and
binary translation In computing, binary translation is a form of binary recompilation where sequences of instructions are translated from a ''source'' instruction set to the ''target'' instruction set. In some cases such as instruction set simulation, the target i ...
- which involve the direct translation of one
instruction set In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called a ...
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 Desktop virtualization is a software technology that separates the desktop environment and associated application software from the physical client device that is used to access it. Desktop virtualization can be used in conjunction with applicati ...
solutions, since these are typically constrained to a single instruction set, such as x86 or
Power ISA Power ISA is a reduced instruction set computer (RISC) instruction set architecture (ISA) currently developed by the OpenPOWER Foundation, led by IBM. It was originally developed by IBM and the now-defunct Power.org industry group. Power ISA ...
. Modern variants of cross-platform virtualisation may employ hardware acceleration techniques{{Cite journal, last1=Spink, first1=Tom, last2=Wagstaff, first2=Harry, last3=Franke, first3=Björn, date=2016-12-28, title=Hardware-Accelerated Cross-Architecture Full-System Virtualization, journal=ACM Transactions on Architecture and Code Optimization , volume=13, issue=4, pages=36, doi=10.1145/2996798, issn=1544-3566, doi-access=free to offset some of the cost incurred in the guest-to-host system translation.


See also

*
Instruction set simulator An instruction set simulator (ISS) is a simulation model, usually coded in a high-level programming language, which mimics the behavior of a mainframe or microprocessor by "reading" instructions and maintaining internal variables which represent ...
*
Platform virtualization Hardware virtualization is the virtualization of computers as complete hardware platforms, certain logical abstractions of their componentry, or only the functionality required to run various operating systems. Virtualization hides the physic ...
*
Virtual machine In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized har ...
*
Emulator In computing, an emulator is hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run software or use peri ...
*
Porting In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally des ...
*
Cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software ...


References

Hardware virtualization