Emulatore: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
→‎Emulatori famosi: rimuovo software per la virtualizzazione (non emulatori)
Ho aggiunto qualche link e ho menzionato OpenEmu e RetroArch
Riga 4: Riga 4:
== Descrizione ==
== Descrizione ==
{{F|software|settembre 2019}}
{{F|software|settembre 2019}}
Un [[software]] d'emulazione o più comunemente un ''emulatore'' è un [[programma (informatica)|programma]] che permette l'esecuzione di software originariamente scritto per un ambiente ([[hardware]] o [[software]]) diverso all'interno del quale l'emulatore viene eseguito. Ciò consente di utilizzare programmi che non potrebbero girare sui sistemi operativi presenti sui vari [[personal computer]].
Un [[software]] d'emulazione o più comunemente un ''[[emulatore]]'' è un [[programma (informatica)|programma]] che permette l'esecuzione di [[software]] originariamente scritto per un ambiente ([[hardware]] o [[software]]) diverso all'interno del quale l'[[emulatore]] viene eseguito. Ciò consente di utilizzare programmi che non potrebbero girare sui [[Sistema operativo|sistemi operativi]] presenti sui vari [[personal computer]].


Un programma scritto per [[computer]] con [[sistema operativo]] [[Microsoft Windows|Windows]] ad esempio non funziona (in gergo ''gira'') su un computer con sistema operativo differente come ad esempio una [[Distribuzione (Linux)|distribuzione Linux]]. In questi casi si crea sulla macchina ospitante un emulatore che riproduce virtualmente l'ambiente che è stato previsto per l'esecuzione di quel programma.
Un programma scritto per [[computer]] con [[sistema operativo]] [[Microsoft Windows|Windows]] ad esempio non funziona (in gergo ''gira'') su un [[computer]] con [[sistema operativo]] differente come ad esempio una [[Distribuzione (Linux)|distribuzione Linux]]. In questi casi si crea sulla macchina ospitante un emulatore che riproduce virtualmente l'ambiente che è stato previsto per l'esecuzione di quel programma.


Esistono varie categorie di emulatori, così come esistono diversi metodi per emulare una [[piattaforma (informatica)|piattaforma]]. È possibile emulare completamente un ambiente sia [[hardware]] che [[software]] oppure soltanto uno dei due. Emulare un ambiente [[software]] è tecnicamente meno complicato poiché può essere sufficiente un semplice traduttore di [[istruzione (informatica)|istruzioni]] che renda comprensibile all'ambiente sul quale l'emulatore gira le istruzioni del programma emulato (ad esempio [[Microsoft Virtual PC]]). Nel caso invece dell'emulazione [[hardware]] invece sarà necessario simulare la [[circuito elettronico|circuiteria elettronica]] e il comportamento fisico del sistema come avviene ad esempio nel [[MAME]].
Esistono varie categorie di emulatori, così come esistono diversi metodi per emulare una [[piattaforma (informatica)|piattaforma]]. È possibile emulare completamente un ambiente sia [[hardware]] che [[software]] oppure soltanto uno dei due. Emulare un ambiente [[software]] è tecnicamente meno complicato poiché può essere sufficiente un semplice traduttore di [[istruzione (informatica)|istruzioni]] che renda comprensibile all'ambiente sul quale l'[[emulatore]] gira le istruzioni del programma emulato (ad esempio [[Microsoft Virtual PC]]). Nel caso invece dell'emulazione [[hardware]] invece sarà necessario simulare la [[circuito elettronico|circuiteria elettronica]] e il comportamento fisico del sistema come avviene ad esempio nel [[MAME]].


=== Differenze coi "simulatori" e "virtual machine" ===
=== Differenze coi "simulatori" e "virtual machine" ===
Gli emulatori si distinguono dai simulatori, ed entrambi dalle cosiddette ''virtual machine'' o [[macchina virtuale|macchine virtuali]]. Sebbene il risultato finale possa considerarsi (dagli utenti finali) lo stesso, la differenza tra i tre è fondamentale.
Gli emulatori si distinguono dai simulatori, ed entrambi dalle cosiddette [[macchina virtuale|macchine virtuali]]. Sebbene il risultato finale possa considerarsi (dagli utenti finali) lo stesso, la differenza tra i tre è fondamentale.


* Un ''emulatore'' necessita sempre del software del sistema emulato (ottenuto con un processo detto spesso ''dumping''), limitandosi quindi ad emulare l'hardware, in modo da poter interpretare correttamente i file contenenti i ''dump'' del software (che rimane scritto in un linguaggio comprensibile soltanto al sistema emulato e non al sistema emulante, o sistema ''host''). L'emulatore si prefigge lo scopo di replicare ''il funzionamento'' di un sistema. Una categoria particolare di emulatori sono quelli che fanno uso di emulazione ''ad alto livello'' (''high-level emulation''), che si pongono a metà strada tra un emulatore e un simulatore, in quanto ricreano le funzionalità di un sistema emulato facendo uso di funzioni simili o equivalenti nel sistema emulante, raggiungendo alte velocità di esecuzione a scapito dell'accuratezza. Un esempio è l'emulatore di [[Nintendo 64]] [[UltraHLE]] che trasla le funzioni del processore e del sistema grafico della console su funzioni equivalenti dei processori e delle schede grafiche per PC.
* Un ''[[emulatore]]'' necessita sempre del [[software]] del sistema emulato (ottenuto con un processo detto spesso ''dumping''), limitandosi quindi ad emulare l'[[hardware]], in modo da poter interpretare correttamente i [[file]] contenenti i ''[[dump]]'' del [[software]] (che rimane scritto in un linguaggio comprensibile soltanto al sistema emulato e non al sistema emulante, o sistema ''[[host]]''). L[[Emulatore|'emulatore]] si prefigge lo scopo di replicare ''il funzionamento'' di un sistema. Una categoria particolare di [[Emulatore|emulatori]] sono quelli che fanno uso di emulazione ''ad alto livello'' (''high-level emulation''), che si pongono a metà strada tra un [[emulatore]] e un simulatore, in quanto ricreano le funzionalità di un sistema emulato facendo uso di funzioni simili o equivalenti nel sistema emulante, raggiungendo alte velocità di esecuzione a scapito dell'accuratezza. Un esempio è l'emulatore del [[Nintendo 64]] [[UltraHLE]] che trasla le funzioni del [[processore]] e del sistema grafico della [[Console (videogiochi)|console]] su funzioni equivalenti dei [[Processore|processori]] e delle [[Scheda video|schede grafiche]] per [[Personal computer|PC]].
* Un ''simulatore'', invece, si prefigge di arrivare allo stesso risultato riscrivendo però (in tutto o in parte) le routine del programma da simulare, in modo da renderlo comprensibile alla macchina su cui gira. Non essendoci alcuna emulazione dell'hardware (cosa che prende diversi cicli-macchina), un simulatore è per forza di cose più veloce, tuttavia è spesso poco preciso nel riproporre fedelmente il software simulato ed inoltre la maggioranza delle volte il suo codice sorgente non è disponibile (mentre per buona parte degli emulatori non è così). Per tali motivi, se i simulatori hanno dalla loro una notevole velocità di esecuzione, gli emulatori hanno l'accuratezza (che comprende, ovviamente, anche eventuali bug del software e/o della macchina originale). Uno dei tanti esempi di simulatori in questo senso è la raccolta "Microsoft Return of Arcade" prodotta dalla Microsoft per PC nella seconda metà degli anni 90, che ripropone alcuni [[Videogioco arcade|coin-op]] storici. Il simulatore si prefigge lo scopo di replicare ''il comportamento'' di un sistema.
* Un ''simulatore'', invece, si prefigge di arrivare allo stesso risultato riscrivendo però (in tutto o in parte) le routine del programma da simulare, in modo da renderlo comprensibile alla macchina su cui gira. Non essendoci alcuna emulazione dell'[[hardware]] (cosa che prende diversi cicli-macchina), un simulatore è per forza di cose più veloce, tuttavia è spesso poco preciso nel riproporre fedelmente il [[software]] simulato ed inoltre la maggioranza delle volte il suo [[codice sorgente]] non è disponibile (mentre per buona parte degli [[Emulatore|emulatori]] non è così). Per tali motivi, se i simulatori hanno dalla loro una notevole velocità di esecuzione, gli [[Emulatore|emulatori]] hanno l'accuratezza (che comprende, ovviamente, anche eventuali [[bug]] del [[software]] e/o della [[Computer|macchina]] originale). Uno dei tanti esempi di simulatori in questo senso è la raccolta "[[Microsoft Return of Arcade]]" prodotta da [[Microsoft]] per [[Personal computer|PC]] nella seconda metà degli [[anni 90]], che ripropone alcuni [[Videogioco arcade|coin-op]] storici. Il simulatore si prefigge lo scopo di replicare ''il comportamento'' di un [[Computer|sistema]].
* Le ''virtual machine'', infine, si possono considerare un "PC nel PC". Ossia, mediante una virtual machine è possibile [[installazione (informatica)|installare]] un secondo sistema operativo in una macchina virtuale e farci girare software in un ambiente considerato più "protetto" che non la macchina host vera e propria. Come si può immaginare, al di là della lentezza (comunque relativa e proporzionale alla potenza della macchina [[host]]), non vi è alcun limite. Questi sistemi a volte emulano anche parti di hardware, e altre volte si limitano a replicare l'hardware della macchina host. Tuttavia, non emulano mai macchine con architettura completamente diversa (a partire dalla [[CPU]]) e quindi, per alcuni puristi, non sono considerati emulatori nel senso stretto del termine.
* Le ''[[Macchina virtuale|virtual machine]]'', infine, si possono considerare un "[[Personal computer|PC]] nel [[Personal computer|PC]]". Ossia, mediante una [[Macchina virtuale|virtual machine]] è possibile [[installazione (informatica)|installare]] un secondo [[sistema operativo]] in una [[macchina virtuale]] e farci girare [[software]] in un ambiente considerato più "protetto" che non la macchina [[host]] vera e propria. Come si può immaginare, al di là della lentezza (comunque relativa e proporzionale alla potenza della macchina [[host]]), non vi è alcun limite. Questi sistemi a volte emulano anche parti di hardware, e altre volte si limitano a replicare l'hardware della macchina [[Host|host.]] Tuttavia, non emulano mai [[Computer|macchine]] con architettura completamente diversa (a partire dalla [[CPU]]) e quindi, per alcuni puristi, non sono considerati [[Emulatore|emulatori]] nel senso stretto del termine.


=== Utilizzo ===
=== Utilizzo ===
{{vedi anche|Retrogaming}}
{{vedi anche|Retrogaming}}
Un uso popolare degli emulatori è quello che permette di utilizzare [[videogioco|videogiochi]] scritti per computer o [[Console (videogiochi)|console]] non più in vendita o di difficile reperibilità, come i computer della serie [[Amiga]], il [[Commodore 64]], lo [[ZX Spectrum]], il [[BBC Micro]], l'[[MSX]], la [[PlayStation|PSX]] e le vecchie console [[Nintendo]].
Un uso popolare degli [[Emulatore|emulatori]] è quello che permette di utilizzare [[videogioco|videogiochi]] scritti per [[computer]] o [[Console (videogiochi)|console]] non più in vendita o di difficile reperibilità, come i [[computer]] della serie [[Amiga]], il [[Commodore 64]], lo [[ZX Spectrum]], il [[BBC Micro]], l'[[MSX]], la [[PlayStation|Playstation]] e le vecchie console [[Nintendo]].


== Emulatori famosi ==
== Emulatori famosi ==
* [[Dolphin (emulatore)|Dolphin]], emulatore di [[Nintendo GameCube|Game Cube]] e [[Wii]]
* [[Dolphin (emulatore)|Dolphin]], [[emulatore]] di [[Nintendo GameCube|Game Cube]] e [[Wii]]
* [[DOSBox]], emulatore di [[MS-DOS]]
* [[DOSBox]], [[emulatore]] di [[MS-DOS]]
* [[ePSXe]], il più noto emulatore di [[PlayStation]]
* [[ePSXe]], il più noto [[emulatore]] di [[PlayStation]]
* [[MAME]], il principale e più noto emulatore di piattaforme arcade
* [[MAME]], il principale e più noto [[emulatore]] di piattaforme Arcade
* [[MESS]], emulatore di [[Computer]] e [[Console (videogiochi)]]
* [[MESS]], [[emulatore]] di [[Computer]] e [[Console (videogiochi)]]
* [[Nestopia]], emulatore del [[Nintendo Entertainment System]]
* [[Nestopia]], [[emulatore]] del [[Nintendo Entertainment System]]
* [[NO$GBA]], emulatore del [[Game Boy Advance]], [[Nintendo DS]] e della [[PocketStation]]
* [[NO$GBA]], [[emulatore]] del [[Game Boy Advance]], [[Nintendo DS]] e della [[PocketStation]]
* [[PCSX2]], emulatore di [[PlayStation 2]]
* [[PCSX2]], [[emulatore]] di [[PlayStation 2]]
* [[Project64]], emulatore di [[Nintendo 64]]
* [[Project64]], [[emulatore]] di [[Nintendo 64]]
* [[SSF (emulatore)|SSF]], emulatore di [[Sega Saturn]]
* [[SSF (emulatore)|SSF]], [[emulatore]] di [[Sega Saturn]]
* [[VICE (emulatore)|VICE]], emulatore dei computer a 8 bit prodotti dalla [[Commodore]]
* [[VICE (emulatore)|VICE]], [[emulatore]] dei [[computer]] a [[8 bit]] prodotti dalla [[Commodore]]
* [[PPSSPP]], emulatore di [[PlayStation Portable]]
* [[PPSSPP]], [[emulatore]] di [[PlayStation Portable]]
* [[OpenEmu]], una raccolta di [[Emulatore|emulatori]] popolare per [[MacOS]]
* [[RetroArch]], un'altra raccolta di [[Emulatore|emulatori]] molto popolare disponibile su molte piattaforme ([[Microsoft Windows|Windows]], [[MacOS]], [[Linux]], [[Android]], [[IOS]], [[Xbox One]], [[Wii]], etc.)


== Voci correlate ==
== Voci correlate ==

Versione delle 13:10, 6 lug 2022

DOSBox, emulatore di DOS

Un emulatore, in informatica e nel senso più generale possibile, è un componente che replica le funzioni di un determinato sistema su un secondo sistema differente dal primo.

Descrizione

Un software d'emulazione o più comunemente un emulatore è un programma che permette l'esecuzione di software originariamente scritto per un ambiente (hardware o software) diverso all'interno del quale l'emulatore viene eseguito. Ciò consente di utilizzare programmi che non potrebbero girare sui sistemi operativi presenti sui vari personal computer.

Un programma scritto per computer con sistema operativo Windows ad esempio non funziona (in gergo gira) su un computer con sistema operativo differente come ad esempio una distribuzione Linux. In questi casi si crea sulla macchina ospitante un emulatore che riproduce virtualmente l'ambiente che è stato previsto per l'esecuzione di quel programma.

Esistono varie categorie di emulatori, così come esistono diversi metodi per emulare una piattaforma. È possibile emulare completamente un ambiente sia hardware che software oppure soltanto uno dei due. Emulare un ambiente software è tecnicamente meno complicato poiché può essere sufficiente un semplice traduttore di istruzioni che renda comprensibile all'ambiente sul quale l'emulatore gira le istruzioni del programma emulato (ad esempio Microsoft Virtual PC). Nel caso invece dell'emulazione hardware invece sarà necessario simulare la circuiteria elettronica e il comportamento fisico del sistema come avviene ad esempio nel MAME.

Differenze coi "simulatori" e "virtual machine"

Gli emulatori si distinguono dai simulatori, ed entrambi dalle cosiddette macchine virtuali. Sebbene il risultato finale possa considerarsi (dagli utenti finali) lo stesso, la differenza tra i tre è fondamentale.

  • Un emulatore necessita sempre del software del sistema emulato (ottenuto con un processo detto spesso dumping), limitandosi quindi ad emulare l'hardware, in modo da poter interpretare correttamente i file contenenti i dump del software (che rimane scritto in un linguaggio comprensibile soltanto al sistema emulato e non al sistema emulante, o sistema host). L'emulatore si prefigge lo scopo di replicare il funzionamento di un sistema. Una categoria particolare di emulatori sono quelli che fanno uso di emulazione ad alto livello (high-level emulation), che si pongono a metà strada tra un emulatore e un simulatore, in quanto ricreano le funzionalità di un sistema emulato facendo uso di funzioni simili o equivalenti nel sistema emulante, raggiungendo alte velocità di esecuzione a scapito dell'accuratezza. Un esempio è l'emulatore del Nintendo 64 UltraHLE che trasla le funzioni del processore e del sistema grafico della console su funzioni equivalenti dei processori e delle schede grafiche per PC.
  • Un simulatore, invece, si prefigge di arrivare allo stesso risultato riscrivendo però (in tutto o in parte) le routine del programma da simulare, in modo da renderlo comprensibile alla macchina su cui gira. Non essendoci alcuna emulazione dell'hardware (cosa che prende diversi cicli-macchina), un simulatore è per forza di cose più veloce, tuttavia è spesso poco preciso nel riproporre fedelmente il software simulato ed inoltre la maggioranza delle volte il suo codice sorgente non è disponibile (mentre per buona parte degli emulatori non è così). Per tali motivi, se i simulatori hanno dalla loro una notevole velocità di esecuzione, gli emulatori hanno l'accuratezza (che comprende, ovviamente, anche eventuali bug del software e/o della macchina originale). Uno dei tanti esempi di simulatori in questo senso è la raccolta "Microsoft Return of Arcade" prodotta da Microsoft per PC nella seconda metà degli anni 90, che ripropone alcuni coin-op storici. Il simulatore si prefigge lo scopo di replicare il comportamento di un sistema.
  • Le virtual machine, infine, si possono considerare un "PC nel PC". Ossia, mediante una virtual machine è possibile installare un secondo sistema operativo in una macchina virtuale e farci girare software in un ambiente considerato più "protetto" che non la macchina host vera e propria. Come si può immaginare, al di là della lentezza (comunque relativa e proporzionale alla potenza della macchina host), non vi è alcun limite. Questi sistemi a volte emulano anche parti di hardware, e altre volte si limitano a replicare l'hardware della macchina host. Tuttavia, non emulano mai macchine con architettura completamente diversa (a partire dalla CPU) e quindi, per alcuni puristi, non sono considerati emulatori nel senso stretto del termine.

Utilizzo

Lo stesso argomento in dettaglio: Retrogaming.

Un uso popolare degli emulatori è quello che permette di utilizzare videogiochi scritti per computer o console non più in vendita o di difficile reperibilità, come i computer della serie Amiga, il Commodore 64, lo ZX Spectrum, il BBC Micro, l'MSX, la Playstation e le vecchie console Nintendo.

Emulatori famosi

Voci correlate

Altri progetti

Collegamenti esterni

Controllo di autoritàLCCN (ENsh85042946 · GND (DE4328746-3 · BNE (ESXX552380 (data) · BNF (FRcb13746545d (data) · J9U (ENHE987007543345805171
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica