QNA > L > Le Macchine Virtuali Sono Emulatori?

Le macchine virtuali sono emulatori?

Emulazione o virtualizzazione: Qual è la differenza?

Emulazione e virtualizzazione hanno molte somiglianze, ma hanno distinte differenze operative. Se state cercando di accedere a un vecchio sistema operativo all'interno di un'architettura più recente, l'emulazione sarebbe la vostra strada preferita. Al contrario, i sistemi virtualizzati agiscono indipendentemente dall'hardware sottostante. Cercheremo di separare questi termini spesso confusi e descriveremo cosa significano per le operazioni IT aziendali.

Qual è la differenza?

L'emulazione, in breve, consiste nel fare in modo che un sistema ne imiti un altro. Per esempio, se un pezzo di software gira sul sistema A e non sul sistema B, facciamo in modo che il sistema B "emuli" il funzionamento del sistema A. Il software quindi gira su un'emulazione del sistema A.

In questo stesso esempio, la virtualizzazione implicherebbe prendere il sistema A e dividerlo in due server, B e C. Entrambi questi server "virtuali" sono contenitori software indipendenti, con un proprio accesso alle risorse basate sul software - CPU, RAM, storage e networking - e possono essere riavviati indipendentemente. Si comportano esattamente come l'hardware reale, e un'applicazione o un altro computer non sarebbe in grado di notare la differenza.

Ognuna di queste tecnologie ha i propri usi, benefici e difetti.

Emulazione

Nel nostro esempio di emulazione, il software sostituisce l'hardware - creando un ambiente che si comporta in modo simile all'hardware. Questo richiede un pedaggio al processore allocando cicli al processo di emulazione - cicli che sarebbero invece utilizzati per eseguire i calcoli. Così, una gran parte del muscolo della CPU è speso nella creazione di questo ambiente.

Interessante, è possibile eseguire un server virtuale in un ambiente emulato. Quindi, se l'emulazione è un tale spreco di risorse, perché considerarla?

L'emulazione può essere efficacemente utilizzata nei seguenti scenari:

- Esecuzione di un sistema operativo destinato ad altro hardware (es, software Mac su un PC; giochi basati su console su un computer)

- Esecuzione di software per un altro sistema operativo (esecuzione di software specifico per Mac su un PC e viceversa)

- Esecuzione di software legacy dopo che hardware comparabile è diventato obsoleto

L'emulazione è anche utile quando si progetta software per più sistemi. La codifica può essere fatta su una singola macchina, e l'applicazione può essere eseguita in emulazioni di più sistemi operativi, tutti in esecuzione simultaneamente nelle proprie finestre.

Virtualizzazione

Nel nostro esempio di virtualizzazione, possiamo dire con sicurezza che utilizza le risorse di calcolo in modo efficiente e funzionale - indipendentemente dalla loro posizione fisica o disposizione. Una macchina veloce con ampia RAM e sufficiente memoria può essere divisa in più server, ognuno con un pool di risorse. Quella singola macchina, normalmente distribuita come un singolo server, potrebbe quindi ospitare il server web e di posta elettronica di un'azienda. Le risorse informatiche che prima erano sottoutilizzate possono ora essere usate al massimo del loro potenziale. Questo può aiutare a ridurre drasticamente i costi.

Mentre gli ambienti emulati richiedono un ponte software per interagire con l'hardware, la virtualizzazione accede direttamente all'hardware. Tuttavia, nonostante sia l'opzione complessivamente più veloce, la virtualizzazione è limitata all'esecuzione di software che era già in grado di funzionare sull'hardware sottostante. I vantaggi più chiari della virtualizzazione includono:

-Ampia compatibilità con l'architettura x86 CPU esistente

-Capacità di apparire come dispositivi fisici a tutto l'hardware e il software

-Autosufficiente in ogni istanza

Tra emulazione e virtualizzazione, la vostra azienda può eseguire la maggior parte delle funzioni dei sistemi virtuali. Mentre entrambi i servizi sembrano simili, tutto ruota intorno a come utilizzate il software. Se volete che il software si tolga di mezzo, la virtualizzazione permette al codice ospite di essere eseguito direttamente sulla CPU. Al contrario, gli emulatori eseguiranno il codice ospite da soli, risparmiando la CPU per altri compiti.

Di Danila

È possibile eseguire QEMU su un Ubuntu installato in VirtualBox, per avviare un'immagine Raspberry Pi? :: Posso navigare in internet su una TV usando Chromecast?
Link utili