There is some confusion, and no general agreement, about the precise difference between the terms simulator and emulator. A simulator is generally a device (often a program) which re-creates the workings of a particular kind of device, often a computer.
For the latter, it reads a file of object code, and processes it to mimic what an actual computer of that type would have done with that object program.
Simulators often have an emphasis on duplicating exactly the internal operation of the device being simulated, but not so much on the emulating the device's external 'appearance'; e.g. the SPICE analog circuit simulator merely simulates the operation of the circuits.
Simulators have had a variety of uses. Early simulators were sometimes written to allow work on the software for a new computer to begin before the hardware is working. Simulators were also used to evaluate different proposed CPU designs.
More recently, simulators have become popular with people interested in older computers. The hardware for machines such as the IBM 7094 (which ran the CTSS operating system), the Honeywell 6180 (which ran Multics) and the PDP-10 (which ran ITS) is either gone completely, or extremely rare. So, for people who wise to experience one of these historic and influential older systems, a simulator is the answer.
Ironically, a simulator running on modern hardware is often considerably faster than the actual machine it is mimicking, so fast has been the progress in hardware.
One notable simulator is SIMH, which has modules to simulate many different kinds of older computers.
- Simulator or Emulator? What is the difference? - One good discussion of the subject
- PDP11 ORDER - a very early simulator