Macchina Virtuale: come funziona, vantaggi, applicazioni
- Home
- Blog
- Tecnologie e concetti IT
- Macchina Virtuale: come funziona, vantaggi, applicazioni

A volte nel corso del lavoro è necessario utilizzare 2 o più sistemi operativi contemporaneamente. Ad esempio, per testare le applicazioni su diverse versioni di Windows e Linux. Non è necessario reinstallare il sistema operativo o installare computer aggiuntivi per eseguire questa operazione. Basta sapere cos’è una macchina virtuale (VM).
Indice dei contenuti
Una macchina virtuale è un contenitore software completamente isolato che può eseguire il proprio sistema operativo e le proprie applicazioni come un computer fisico. Una macchina virtuale funziona esattamente come un computer fisico e contiene le proprie CPU virtuali (ovvero software), RAM, disco rigido e scheda di interfaccia di rete (NIC).
Con le macchine virtuali, gli utenti possono testare il software in vari ambienti (sistemi, configurazioni, ecc.) sul proprio PC senza dover avviare e configurare un dispositivo separato.
Il sistema operativo, le applicazioni e gli altri computer della rete non sono in grado di distinguere tra una macchina virtuale e un computer fisico. Anche la macchina virtuale stessa si considera un computer materialmente esistente. Tuttavia, è costituito esclusivamente da software e non contiene assolutamente componenti hardware.
Quindi, sulla macchina host, puoi creare molti computer con vari parametri. Pertanto, le possibilità della macchina virtuale sono piuttosto ampie:
Gli sviluppatori e gli utenti possono verificare come funzionano programmi e servizi in vari ambienti grafici, sistemi operativi. Ciò consente di identificare tempestivamente gli errori, perfezionare il prodotto.
Ci sono situazioni in cui lo sviluppo di un programma su un host è troppo rischioso. Ad esempio, le applicazioni potrebbero entrare in conflitto tra loro e il codice si comporterà in modo diverso da quello previsto dallo sviluppatore. Oppure potrebbe verificarsi una perdita di dati. Per evitare tali problemi, è possibile isolare o limitare l’accesso a una macchina virtuale.
Poiché il sistema operativo si presenta come una macchina virtuale, in caso di guasti e problemi, l’utente sarà sempre in grado di utilizzare la copia, che elimina la perdita o il danneggiamento di dati importanti.
Alcuni programmi o applicazioni non funzionano su tutti i sistemi operativi. Per utilizzarli, è necessario installare una macchina virtuale con Windows, Linux o MacOS, rispettivamente.
Tale azione è rilevante nella fase di test o dopo che un nuovo prodotto è entrato nel mercato.
VDS (VPS) è un server virtuale che imita l’hardware reale. Può essere affittato per ospitare singoli computer, il che consente di risparmiare le risorse del proprio dispositivo.
L’utente ha la possibilità di salvare le impostazioni e la volta successiva ricominciare da dove si era interrotto. Non devi passare attraverso l’intero processo tutto il tempo.
La definizione di macchina virtuale fornisce una comprensione di base di come funzionano le cose, ma andremo un po’ oltre. L’esecuzione di una VM è possibile grazie alla tecnologia di virtualizzazione. Ti consente di utilizzare l’hardware esistente per crearne copie virtuali. La virtualizzazione imita digitalmente l’hardware per eseguire più sistemi operativi completi su un singolo computer, uno alla volta o contemporaneamente. L’hardware fisico in questo caso è chiamato host e l’hardware virtuale è chiamato sistema operativo guest.
La virtualizzazione dei server consente di eseguire più sistemi operativi sullo stesso server, ciascuno con configurazioni e impostazioni diverse. Le tecnologie di virtualizzazione mascherano le risorse del server, inclusi il numero ei parametri dei singoli server, processori e sistemi operativi. La virtualizzazione dei server alloca le proprie risorse a molte istanze astratte di programmi (istanze) che girano sulle risorse condivise dei server e le utilizzano come un unico pool o, più semplicemente, un “pool comune”.
Inoltre, la virtualizzazione dei server consente di spostare facilmente le macchine virtuali VM (Virtual Machine) da un server fisico a un altro. In questo modo è possibile migliorare il regime di temperatura nella sala computer del data center, poiché tutti i server fisici verranno caricati uniformemente.
Se distribuisci uniformemente il carico sul server virtuale, sarà in grado di rispondere più velocemente alle richieste e aumenterà anche la disponibilità dei server.
L’intero processo è controllato da un’applicazione chiamata hypervisor. L’hypervisor è responsabile dell’allocazione delle risorse fisiche tra i sistemi virtuali, allocando una certa quantità di RAM o spazio su disco rigido. Monitora inoltre tutti i processi in esecuzione nel sistema operativo guest in modo che non vi siano carichi eccessivi e guasti del sistema dovuti alla mancanza di risorse. È l’hypervisor che consente di eseguire più macchine virtuali (server) su un server e possono funzionare su diversi sistemi operativi.
Diversi tipi di hypervisor vengono utilizzati in diversi scenari.
Hypervisor di tipo 1. Viene eseguito direttamente sull’hardware del server fisico. Pertanto, è chiamato “un hypervisor bare metal”. Le macchine virtuali funzionano proprio nel suo ambiente.
Tipo di hypervisor 2. Viene eseguito sopra il sistema operativo del server fisico. In questo caso, proprio come nel caso del tipo 1, le macchine virtuali lavorano nell’ambiente di questo hypervisor. I sistemi operativi su cui vengono eseguite le macchine virtuali sono chiamati sistemi operativi guest. Le applicazioni possono essere eseguite sia su macchine virtuali VM nel sistema operativo guest, sia direttamente su un server fisico nel proprio sistema operativo.
In entrambi i casi, le macchine virtuali e le risorse hardware che utilizzano sono logicamente completamente isolate l’una dall’altra. È in questo isolamento logico che risiede il significato della virtualizzazione.
La containerizzazione è un altro tipo di virtualizzazione, i container virtualizzano solo il sistema operativo e non tutto l’hardware sottostante. Allo stesso tempo, lo stesso nucleo del sistema operativo, ovvero il suo modulo centrale, può servire non una, ma diverse istanze isolate di spazio utente: aree del sistema operativo destinate ad applicazioni e dati di un determinato utente. Queste aree sono chiamate contenitori.
Questa tecnologia prevede l’installazione iniziale del sistema operativo sull’host. Successivamente, i contenitori vengono installati sopra. Di norma, ciò avviene tramite l’utilizzo di un gestore speciale che esegue la funzionalità dell’hypervisor.
Questi contenitori contengono il codice, gli strumenti di sistema, il runtime, le librerie di sistema e le impostazioni necessarie per eseguire le applicazioni. Vengono spesso utilizzati quando più applicazioni devono essere eseguite sullo stesso sistema operativo. I contenitori sono completamente isolati, i programmi di contenitori diversi non possono interagire tra loro.
I contenitori vengono utilizzati in applicazioni distribuite su un’infrastruttura cloud privata o pubblica, nonché per il confezionamento di applicazioni legacy per semplificarne l’implementazione, anche quando vengono trasferite su un altro server.
C’è una differenza importante tra le tecnologie ei container delle macchine virtuali (VM). I contenitori non funzionano con file e strumenti di sistema di terze parti, mentre le macchine virtuali utilizzano un pool di risorse separato dal proprio sistema operativo. Per lavorare con il contenitore sono necessarie solo le risorse, altrimenti il processo è più simile alla condivisione dei componenti da parte del sistema operativo. Ciò conferisce al contenitore un vantaggio rispetto alla VM non solo nella velocità di avvio, ma anche nel grado di carico del sistema, soprattutto durante l’avvio.
Esiste un gran numero di programmi diversi per la creazione e la gestione di computer virtuali. Ma in termini di funzionalità, praticità e costo, individueremo i programmi più popolari per gli utenti ordinari: VMware (gratuito per uso personale VMware Player, VMware Workstation a pagamento), VirtualBox (Oracle VirtualBox è gratuito), Parallels Desktop per Windows/Linux , QEMU, Parallels (per computer che eseguono Mac OS X), Windows Virtual PC (in Windows 7, a partire dall’edizione Pro, è supportata l’installazione gratuita dell’ambiente virtuale Windows XP Mode), Hyper-V (funziona nelle versioni x64 bit di Windows, a partire da Windows 8).












