Target Emulation and
Virtual Machines
Virtualization is a
mature technology that lets several operating systems share the physical
resources of a machine, such that that each thinks it has exclusive use of the
resources. Emulation means that a program impersonates another—or, in this
case, that a processor impersonates another. Cygwin is software that emulates a
POSIX system on a Windows machine.
However, when
you’re emulating a processor different than the host, you have fewer options. Emulating
a different processor requires software that, in effect, translates the
op-codes of the emulated processor into the op-codes for the host processor.