Chapter 3. 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.
In Chapter 2, I proposed virtualization as a way to run an instance of a Linux host on a Windows machine; Cygwin is software that emulates a POSIX system on a Windows machine. In this chapter, I look at software for emulating a target board. If the target processor happens to be an x86, the virtualization software discussed in Chapter 2 is perfect for the task.
However, when you're emulating a processor different ...