Full system simulator: Difference between revisions
wiki links added |
links converted to refs; added external links and references sections |
||
Line 1: | Line 1: | ||
⚫ | 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. A full system simulator effectively provides virtual hardware that is independent of the nature of the host computer. The full-system model typically has to include [[processor core]]s, [[peripheral device]]s, [[computer memory | memories]], interconnection buses, and [[computer networking|network]] connections. Full system simulation can speed the software development process by making it easier to detect, recreate and repair flaws <ref> [http://www.computerworld.com/s/article/96584/Full_System Full System Simulation: Software Development's Missing Link] </ref>. |
||
{{unreferenced|date=June 2009}} |
|||
⚫ | 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. A full system simulator effectively provides virtual hardware that is independent of the nature of the host computer. The full-system model typically has to include [[processor core]]s, [[peripheral device]]s, [[computer memory | memories]], interconnection buses, and [[computer networking|network]] connections. Full system simulation can speed the software development process by making it easier to detect, recreate and repair flaws |
||
The defining property of full-system simulation compared to an [[Instruction Set Simulator|instruction set simulator]] is that the model allows real [[device driver]]s and [[operating system]]s 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 stack]]s, [[middleware]], [[Server (computing)|server]]s, and [[application program]]s. |
The defining property of full-system simulation compared to an [[Instruction Set Simulator|instruction set simulator]] is that the model allows real [[device driver]]s and [[operating system]]s 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 stack]]s, [[middleware]], [[Server (computing)|server]]s, and [[application program]]s. |
||
The use of [[multicore | multi-core processors]] is driving the need for full system simulation, because it can be extremely difficult and time consuming to recreate and debug errors without the controlled environment provided by virtual hardware |
The use of [[multicore | multi-core processors]] is driving the need for full system simulation, because it can be extremely difficult and time consuming to recreate and debug errors without the controlled environment provided by virtual hardware <ref> [http://www.ddj.com/184406408 Debugging and Full System Simulation] </ref>. |
||
Examples of full system simulation include: |
Examples of full system simulation include: |
||
Line 14: | Line 13: | ||
*[[SimNow]]: AMD full-system simulator for x86 and x86_64 systems |
*[[SimNow]]: AMD full-system simulator for x86 and x86_64 systems |
||
*[[gpsim ]]: Microchip PICmicro system simulator |
*[[gpsim ]]: Microchip PICmicro system simulator |
||
*Open Virtual Platforms (OVP) |
*Open Virtual Platforms (OVP), consisting of the freely available simulator [[OVPsim]], a library of models of processors, peripherals and platforms, and APIs which enable users to develop their own models. The models in the library are open source, written in C, and include the MIPS 4K, 24K and 34K cores, the ARM7, ARM9, ARM11, ARM Cortex A8/A9 families, and also the [[ARC International|ARC]] 600/700. Many of the processor models are validated by the [[Semiconductor intellectual property core|IP]] providers. Also available as free open source are the MIPS Malta Full System simulation model and the ARM Integrator Full System simulation model. |
||
==See also |
==See also== |
||
* [[Computer architecture simulator]] |
* [[Computer architecture simulator]] |
||
* [[Instruction set simulator]] |
* [[Instruction set simulator]] |
||
* [[Simulation software]] |
* [[Simulation software]] |
||
==External links== |
|||
* [http://www.OVPworld.org Open Virtual Platforms] |
|||
==References== |
|||
{{Reflist}} |
|||
[[Category:Virtualization software]] |
[[Category:Virtualization software]] |
Revision as of 07:46, 15 January 2010
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. A full system simulator effectively provides virtual hardware that is 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. Full system simulation can speed the software development process by making it easier to detect, recreate and repair flaws [1].
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.
The use of multi-core processors is driving the need for full system simulation, because it can be extremely difficult and time consuming to recreate and debug errors without the controlled environment provided by virtual hardware [2].
Examples of full system simulation include:
- PDP-11 simulator in 1980s
- g88 in late 1980s for modeling a uniprocessor M881100-based system, capable of booting Unix
- gsim in early 1990s for modeling multiple processors with shared memory.
- Simics: starting from 1994, modeling systems using Alpha, AMD64, ARM, EM64T, IA-64, MIPS, PowerPC, SPARC-V8 and -V9, and x86 CPUs
- SimOS: for MIPS-based multiprocessors
- SimNow: AMD full-system simulator for x86 and x86_64 systems
- gpsim : Microchip PICmicro system simulator
- Open Virtual Platforms (OVP), consisting of the freely available simulator OVPsim, a library of models of processors, peripherals and platforms, and APIs which enable users to develop their own models. The models in the library are open source, written in C, and include the MIPS 4K, 24K and 34K cores, the ARM7, ARM9, ARM11, ARM Cortex A8/A9 families, and also the ARC 600/700. Many of the processor models are validated by the IP providers. Also available as free open source are the MIPS Malta Full System simulation model and the ARM Integrator Full System simulation model.