I have to admit, I’ve been using these two words interchangeably a few times. Not really because I didn’t understand there was a difference, but because I wasn’t quite sure of the difference – and if it mattered.
So what is the difference?
A simulator simulates the original- so it looks and behaves like the real thing on the surface, but without actually replicating how the original really works internally.
An emulator on the other hand mimics the original, and also its inner workings which – in theory anyway- should make it more close to the real thing. It kind of recreates the original – instead of simulating it / faking it.
Lost looking at the definition of the words should indicate the difference:
1. To strive to equal or excel, especially through imitation
2. To compete with successfully; approach or attain equality with.
3. Computer Science To imitate the function of (another system), as by modifications to hardware or software that allow the imitating system to accept the same data, execute the same programs, and achieve the same results as the imitated system
a. To have or take on the appearance, form, or sound of; imitate.
b. To make in imitation of or as a substitute for.
2. To make a pretense of; feign
3. To create a representation or model of (a physical system or particular situation, for example).
Recommendations are that you always try on an actual device, but the simulator might leave you with more surprises if you don’t. Probably not good ones.
Here are a few good discussions :
What’s the difference between emulation and simulation?
What’s the difference between simulation and emulation