Un simulatore informatico è un programma eseguito su un computer al fine di simulare una sorta di sistema, al fine di avere una migliore idea di come funziona il sistema. Un simulatore di computer possono essere utilizzati anche per simulare un altro computer. Ci sono due tipi principali: il completo simulatore del sistema e l'Instruction Set Simulator (ISS). Questo tipo di simulatore di computer è spesso usato per testare un nuovo software su una vasta gamma di configurazioni hardware, senza dover utilizzare il computer fisico.
Al suo livello più fondamentale, un simulatore di computer viene utilizzato per ricreare un situazione di vita reale, dove molti test diversi stati non sarebbe stato facile e sicuro. In questo caso, utilizzando un simulatore di computer consente di risparmiare una grande quantità di tempo e risorse, e può effettivamente consentire approfonditi esami, che sarebbe stato materialmente impossibile nel mondo reale. Le simulazioni al computer sono stati utilizzati in ingegneria e per qualche tempo, e negli ultimi anni, in quanto l'hardware è diventato più robusto, e il software è diventato più sofisticato, queste simulazioni sono in grado di ottenere di più e di più. An esempio di un uso di un simulatore di computer potrebbe essere una società di ingegneria di lavoro sulla progettazione di un ala migliore per gli aerei. Invece di spendere risorse per creare prototipi di ogni nuovo progetto, e le prove in galleria del vento o sugli aeromobili reale, una simulazione può essere eseguito, invece. Se la fluidodinamica del vento sono accuratamente modellate, un numero qualsiasi di variabili possono essere modificati per testare una vela virtuale in un milione di scenari diversi, alcuni dei quali potrebbero essere impossibili da ricreare nel mondo reale. Inoltre, se un progetto non dovesse essere l'ideale, può essere facilmente modificati e sottoposti nuovamente al test, senza la necessità di creare un nuovo oggetto fisico. In questo modo, centinaia o migliaia di disegni può essere processato in un periodo di tempo relativamente breve, consente un grado molto maggiore di messa a punto di quanto sarebbe altrimenti possibile. Con la proliferazione di hardware, software produttori anche trovare la necessità di simulare ambienti diversi per i loro programmi. Dal momento che non sia fattibile per eseguire un pezzo di software su ogni computer sulla terra, e tanto meno per eseguirlo su ogni sistema modificato con la memoria più o meno video, schede audio di terze parti, e le decine di altri componenti che possono essere personalizzati, un simulatore di computer è utilizzato in sostituzione. In questo modo, il software può essere eseguito su decine di migliaia di configurazioni hardware ipotetica, e bug possono essere rilevati e fissato a lungo prima che il prodotto viene spedito ai clienti. Instruction Set simulatori sono comunemente usati per questo attività. Essi sono in grado di avere modificato le variabili che rappresentano le limitazioni hardware differenti di macchine diverse. Queste variabili possono essere modificate, il programma può essere eseguito, e quindi le variabili possono essere modificate di nuovo, che consente a un programmatore di prova attraverso molti sistemi in un breve periodo di tempo.Un altro tipo di simulatore è il simulatore di sistema. Anche se simile ad un ISS, un completo simulatore di sistema consente un ambiente molto più ampio, consentendo l'intero sistema operativo e dei driver software per essere simulata. Ciò consente un grado ancora maggiore di accuratezza nella simulazione, che fornisce una migliore opportunità di rilevare e correggere i bug.
