Hardware, software or a combination of the two that enables a computer to run programs for another platform. In the past, an emulator was hardware, and a "simulator" was software. Today, an emulator more often refers to software. For example, Apple's iOS "simulator" and Google's Android "emulator" are both software utilities that run their respective mobile apps in the computer for testing purposes.
An Emulator Is a Translator
Emulators translate the machine language of a foreign application into the machine language of the computer the emulator is running in. The operating system is in the machine language of the running hardware, although parts of it may also be emulated as well. For example, when Apple transitioned from Motorola CPUs to PowerPC, part of the PowerPC OS was actually Motorola code that was emulated. See
Rosetta,
emulate,
x86 emulator,
simulator,
terminal emulation,
Wine,
3270 emulator,
disk emulator,
FX 32,
ROM emulator,
ICE,
Mac emulator and
Virtual PC for Mac.
Apple Provided Three Emulators
Apple's Mac computer started out using Motorola CPUs, then PowerPC, Intel and finally its own ARM CPU. The company provided an emulator for the previous hardware in order to enable users to transition more easily (see
Rosetta).