Si sente spesso parlare di virtualizzazione e di macchine virtuali. Ma di cosa si stratta? In cosa consiste la virtualizzazione di un sistema operativo? In questo articolo cercheremo di dare risposta a questi quesiti e di evidenziare vantaggi e svantaggi di tale operazione.
La virtualizzazione di un sistema operativo consiste semplicemente nell’eseguire un sistema operativo all’interno di un programma installato sul computer in uso.
La funzione di un sistema operativo è quella di dialogare con i componenti hardware della macchina e di far sì che i comandi dell’utente vengano correttamente eseguiti.
Questi comandi e questo dialogo con l’hardware deve avvenire, quindi, tramite sistema operativo, ma è possibile bypassare il sistema operativo principale utilizzandone un altro installato tramite un apposito programma. Il programma che consente tale operazione si chiama Virtual Machine Manager o Hypervisor. Scheda video, mouse, CPU, tastiera, ecc. vengono quindi comandati da un sistema operativo alternativo.
Vantaggi della virtualizzazione
La domanda sorge spontanea. A cosa serve virtualizzare un sistema operativo? Perché non utilizzare quello installato sulla macchina?
Un caso in cui può tornare utile la virtualizzazione è quando si vuole testare un nuovo sistema operativo senza dover eliminare il sistema operativo in uso; Possiamo magari testare l’ultima distribuzione di GNU/Linux per poi eliminarla nel caso in cui non sia di nostro gradimento senza essere costretti a reinstallare il precedente sistema operativo.
Un altro caso piuttosto comune è quello in cui si ha, per esempio, la necessità di utilizzare programmi Windows su una macchina Linux.
In ambito server la virtualizzazione torna molto utile quando si intende suddividere le risorse della macchina in sotto gruppi. Uno dei servizi più diffusi è quello delle Virtual Private Server (i.e. VPS). Un’unica macchina (server) viene utilizzata da più utenti ognuno dei quali dispone di un proprio sistema operativo e di risorse attribuite in funzione del piano sottoscritto.
Contro
Uno degli aspetti negativi della virtualizzazione è legato alle prestazioni della macchina. Un sistema virtualizzato sarà, per forza di cose, più lento rispetto ad un sistema non virtualizzato. Mentre il dialogo tra sistema operativo ed hardware su un sistema non virtualizzato è diretto, nel caso di una macchina virtualizzata il sistema deve prima dialogare con l’hypervisor che a sua vota passerà le istruzioni al sistema operativo base che, in uno step successivo, passerà il comando all’hardware.