Abstract

This chapter deals primarily with process virtual machines (VMs). It then discusses emulation of system instructions and other ISA issues that are specific to system VMs. Emulation is defined as the process of implementing the interface and functionality of one system or subsystem on a system or subsystem having a different interface and functionality. Emulation encompasses interpretation, where guest instructions are emulated one by one in a simple fashion, and binary translation, where blocks of guest instructions are translated to the ISA of the host platform and saved for multiple executions. In many of the VM implementations, the need to use emulation is obvious, that is, the guest and host ISAs are different, but the same techniques are important in other VMs, for nonobvious reasons. Instruction set emulation is a key aspect of many VM implementations because the VM must support a program binary compiled for an instruction set that is different from the one implemented by the host processors. In terms of instruction sets, emulation allows a machine implementing one instruction set, the target instruction set, to reproduce the behavior of software compiled to another instruction set, the source instruction set. For many VM applications, it is important that the emulation of the instruction set be performed efficiently. The lower the overhead of emulation, the more attractive the VM will be.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call