Emulazione, simulazione e virtualizzazione, cosa sono e a cosa servono
In questo articolo andremo a vedere cosa sono e a cosa servono l'emulazione, la simulazione e la virtualizzazione.
Gli argomenti verranno trattati in modo chiaro, lasciando al minimo i tecnicismi, ma senza banalizzare troppo.
Confronto tra emulazione, simulazione e virtualizzazione
Supponiamo di essere in possesso di un determinato software che chiameremo "A" scritto per il sistema operativo Windows e relativo hardware.
Tale programma, ovviamente, funzionerà senza alcun problema nel suo ambiente naturale (ossia quello sopra descritto) ma se volessimo eseguirlo in un'ambiente differente? Ad esempio in un sistema operativo diverso e/o hardware differente? Bene ci vengono in aiuto le tre tecniche trattate dall'articolo.
Andiamo a vedere ognuna di esse come può agire nel caso in cui avessimo la necessità di eseguire il nostro software "A" scritto e pensato per il sistema operativo Windows e relativo hardware, su una distribuzione Linux:
Emulazione: esso è un software che ci consente di "infornare", lasciando tale e quale come è stato realizzato, il programma originario (A) in esso. Il nostro emulatore si occuperà di far funzionare sul nuovo sistema operativo e relativo hardware il software A, possiamo dunque affermare che l'emulatore, altro non è, che un interprete tra Windows e Linux che traduce le istruzioni.
Simulazione: grazie ad un simulatore possiamo, dopo averci "infornato" il nostro software al suo interno, modificare il nostro "A" traducendolo in un linguaggio comprensibile alla distrubizione Linux. In questo caso possiamo affermare che un simulatore è un "traduttore" che va a riscrivere completamente (o quasi) un software per il nuovo ambiente.
Virtualizzazione: tramite questa procedura possiamo far eseguire "A" sulla nostra distribuzione Linux senza bisogno di modificarlo, ma è comunque una procedura differente dall'emulazione. In questo caso, infatti, il sistema operativo non supportato da "A" va a ricreare un'istanza di Windows tramite la quale eseguire il software. In questo modo avremo Windows eseguito in finestra all'interno della nostra distribuzione Linux e, al suo interno, "A" in esecuzione.
In questo caso la distribuzione Linux viene detta "host" e Windows "Guest.
I due sistemi operativi restano in esecuzione contemporaneamente senza però interferire e/o comunicare tra loro, tanto che il sistema operativo guest è "convinto" di essere eseguito su una macchina fisica senza mai capire di essere all'intero di un ambiente "fittizio".
I due sistemi operativi restano in esecuzione contemporaneamente senza però interferire e/o comunicare tra loro, tanto che il sistema operativo guest è "convinto" di essere eseguito su una macchina fisica senza mai capire di essere all'intero di un ambiente "fittizio".
Cosa ci offrono emulazione, simulazione e virtualizzazione
Queste tecniche sono di una grandissima importanza, vengono sfruttate all'interno di grandi server e permettono operazioni altrimenti impossibili. Per un utente restano comunque altrettanto utili per poter ricreare ambienti per eseguire software pensato per altri sistemi operativi, creare ambienti di test, emulare a pieno il funzionamento di altri dispositivi (ad esempio le console, così da eseguire giochi altrimenti impossibili da avviare su un sistema operativo desktop tradizionale).
Ora conosci le basi e l'importanza di queste tre tecniche, se hai trovato utile l'articolo condividilo sui social e, qualora tu voglia dire la tua, non esitare a commentare.
Commenti
Posta un commento