Possible Duplicate:
Simulator or Emulator? What is the difference?
In simple understandable terms, what is the difference between the two terms?
[I have already looked at this, this and this]
Simulation. A simulator creates an environment that mimics the behaviors, variables, and configurations that exist in an app's production environment. On the other hand, an emulator mimics all of the hardware and software features for the production environment of a real device.
High-level emulation. In high-level emulation, the PC provides software hooks so the game can run on its hardware. High-level emulation (HLE) takes a different approach to simulating a system.
The main difference between them is that emulation is the computer program's ability in an electronic device to emulate the behavior of another program or device. On the other hand, virtualization is the process of creating a virtual instance of computer hardware platforms.
Although the nouns stimulation and simulation look and sound similar, they have two very different meanings. The main difference between stimulation and simulation is that stimulation refers to arousing an organism to act while a simulation is an imitation of something.
(Using as an example your first link)
You want to duplicate the behavior of an old HP calculator, there are two options:
You write new program that draws the calculator's display and keys, and when the user clicks on the keys, your programs does what the old calculator did. This is a Simulator
You get a dump of the calculator's firmware, then write a program that loads the firmware and interprets it the same way the microprocessor in the calculator did. This is an Emulator
The Simulator tries to duplicate the behavior of the device.
The Emulator tries to duplicate the inner workings of the device.
This is a hard question to answer definitively because the terms and often misused or confused.
Often, an emulator is a complete re-implementation of a particular device or platform. The emulator acts exactly like the real device would. For example, a NES emulator implements the CPU, the sound chip, the video output, the controller signals, etc. The unmodified code from a NES castridge can be dumped and then the resulting image can be loaded into our emulator and played.
A simulator is a partial implementation of a device/platform, it does just enough for its own purposes. For example, the iPhone Simulator runs an "iPhone app" that has been specifically compiled to target x86 and the Cocoa API rather than the real device's ARM CPU and Cocoa Touch API. However, the binary that we run in the simulator would not work on the real device.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With