Full system simulator
A full-system simulator is a computer program that simulates computer systems at such a level of detail that complete software stacks from real systems can run on the simulator without any modification. Basically, you get virtual hardware that is completely independent of the nature of the host computer. The full-system model typically has to include processor cores, peripheral devices, memories, interconnection buses, and network connections.
The defining property of full-system simulation compared to an instruction set simulator is that the model allows real device drivers and operating systems to be run, not just single programs.
Thus, full-system simulation makes it possible to simulate individual computers and networked computer nodes with all their software, from network device drivers to operating systems, network stacks, middleware, servers, and application programs.