Simulation vs emulation vs virtualisation ....
So, that was an interesting thought, there is a blur of ideas in many research papers I have read where I have wondered if the authors actually know the difference between emulation, simulation and virtualisation. I am not going to claim to be the definite source on this one, but here goes.
Emulation : it pretends to be the environment, such as a gaming console, where the 'code' in the guise of ripped ROMs are tricked into thinking that they are running on their host platform. Emu's run like the real thing, but are not. There tends to be no interaction between the emulator and the underlying system, where the emu is effectively the application.
I have used emulators for the SNES, Sega MegaDrive and my old ZX spectrum.
Virtualisation: it acts like the real thing, pretending to be 'real hardware'. Therefore an operating system does not know if its on bare metal or within the virtualisation environment. By virtue of its affordance, the hypervisor within the virtualisation provides a conduit to the system resources. Where many virtualised system can run on the same host unaware that are in an abstract environment.
There are many server based, cloud based and client based virtualisation resources. In fact there are virtual network switch and router systems out there.
As you can see, Virtualisation and Emulation have close similarities but are clearly different.
Then there is simulation, this is not the real system in any shape or form but has the potential to create an environment where the novice can practice different skills in a 'safe enclosure'. Flight simulators, are clearly not the real thing but offer an affordance that can prepare pilots and spotty teens for the real experience.
Comment is welcome, there are some products that are borderline between each. But for networking, I have seen variations of each, wishing that there was a better way to catagorise the tools.