QNA > C > Cos'è Un Emulatore Di Computer?

Cos'è un emulatore di computer?

Sembra che ci sia molta confusione nelle risposte, quindi permettetemi di chiarire un'importante distinzione:

Ci sono due tipi di soluzioni che vengono spesso confuse: emulazione e simulazione.

Un emulatore è progettato per imitare il software/hardware originale a livello di "faccia" - è destinato a comportarsi nella stessa maniera, ma i processi sottostanti che ricreano il comportamento spesso non sono nemmeno simili. Lo scopo di un emulatore è quello di ottenere un risultato noto il più rapidamente possibile. Gli emulatori di console di gioco arrivano a una soluzione predefinita utilizzando qualsiasi strumento a loro disposizione. Non possono effettivamente eseguire il codice nativo della console, ma fanno credere al gioco di farlo.

Quando si progetta un emulatore, si parte dal risultato e si va all'indietro fino ad arrivare a una soluzione che lo produce (qualunque sia la soluzione).

Per esempio, per emulare qualcosa, se il dispositivo originale è arrivato a "4" eseguendo "8 / 2", non ho bisogno di fare lo stesso, perché so che "2 + 2" sarà più veloce - ciò che conta è il risultato, che è "4". Non mi interessa molto il processo originale, perché voglio velocità e risultati, e "2 + 2" è più veloce e produce un risultato finale decentemente accurato.

Le facce dei personaggi dei giochi per computer sono tutte emulazioni che, anche se non sempre accurate, forniscono risultati decenti con le prestazioni.

Un simulatore, d'altra parte, è progettato per replicare i passi originali per ottenere il risultato, anche se farlo funzionare in quel modo lo rende incredibilmente lento. Il punto è utilizzare esattamente le stesse regole dell'originale, e fare esattamente gli stessi passi dell'originale, per arrivare a una risposta a cui l'originale arriverebbe. I simulatori sono modelli dettagliati di cose reali che replicano il comportamento in virtù della replica del macchinario, in un modo o nell'altro.

Quando si progetta un simulatore, si parte dalle premesse originali e si va avanti per trovare il risultato finale.

Per esempio, per fare un simulatore avrei effettivamente bisogno di replicare il comportamento "8 / 2" se voglio che il mio modello sia preciso. Se creo il mio modello in modo preciso e completo, i risultati corretti seguiranno per virtù, anche se lentamente.

Molti software di ricerca scientifica (es. Folding@Home) sono simulazione per progettazione. Questi sono spesso lenti, ma producono risultati accurati su cui la scienza può costruire.

Sì, emulerei un computer. Infatti, lo faccio spesso. La ragione principale è: perché esiste un sacco di software utile/divertente che è stato scritto per dispositivi/tecnologie che non esistono più, o non sono facilmente accessibili (giochi DOS, per esempio).

A volte, il codice originale di qualcosa può essere perso, o può essere altrimenti impossibile da ottenere (esp. come nel caso di controversie sul copyright) - può essere semplicemente più facile replicare il comportamento risultante del sistema su cui il software avrebbe dovuto funzionare, invece di combattere una lunga (e spesso impossibile da vincere) battaglia legale per ottenere il codice in modo da poterlo riscrivere.

A volte, il software utile esiste solo su una particolare piattaforma a cui si può non avere accesso - al lavoro, lavoro su Apple Macs, che fino a poco tempo fa non permetteva nemmeno di eseguire Windows. Tuttavia, non ho intenzione di fare il dual-boot del Mac solo perché abbiamo bisogno di usare un programma o due esclusivi di Windows. Usiamo qualcosa chiamato "macchina virtuale" per far girare Windows sopra macOS per questo scopo.

L'emulazione è anche ottima quando si progetta un software destinato a una piattaforma hardware diversa dalla propria (ad esempio per i telefoni cellulari) - fornirà indizi inestimabili su come si comporterà il sistema di destinazione.

L'emulazione è, tuttavia, inutile quando si progetta un nuovo hardware, perché è necessario creare un modello realistico di quell'hardware (cioè una simulazione) - è necessario trovare i suoi difetti e le sue debolezze, e non è possibile farlo se il modello non si comporta effettivamente come la cosa reale - voglio dire, si sa già quale dovrebbe essere il risultato, ma è necessario scoprire se quel risultato sarà effettivamente prodotto dal dispositivo.

Di Emmy Delligatti

Quali sono alcuni dei migliori giochi su steam sotto i 30 dollari? :: Quante ore di straordinario si possono fare prima di iniziare a perdere soldi a causa delle tasse? Qual è il cutoff; come si calcola questo?
Link utili