Che cos’è un hypervisor?
Un hypervisor è un software o firmware che crea e gestisce macchine virtuali, astraendo le risorse hardware di un computer fisico e rendendole accessibili a più sistemi operativi contemporaneamente. Invece di costruire un sistema completo (incluso hardware e sistema operativo), si crea semplicemente una versione virtuale di esso, dando così l’illusione di un ambiente PC.
Come funziona un hypervisor?
Quando si crea una macchina virtuale (VM), questa funziona sulla base di una macchina non virtuale, reale, ad esempio su un PC. La VM dipende quindi dall’hardware fisico. Pertanto, esiste uno strato tra i due livelli che si occupa della gestione: l’hypervisor. L’hypervisor è un software che si occupa della gestione delle risorse necessarie. Il programma, noto anche come Virtual Machine Monitor (VMM), assegna risorse all’interno del sistema. In questo modo, è possibile eseguire più macchine virtuali diverse su un sistema host, poiché l’hypervisor garantisce che queste non si ostacolino a vicenda e che tutte abbiano a disposizione le capacità necessarie.
L’hypervisor crea quindi uno strato di astrazione tra l’hardware e i sistemi operativi che vi girano sopra. Questo avviene suddividendo le risorse hardware in unità logiche e simulando per ogni VM un ambiente indipendente. In questo modo, le VM hanno l’impressione di funzionare direttamente su hardware reale, anche se condividono le risorse con altre VM.
La rigorosa separazione tra le diverse macchine virtuali non solo garantisce una buona distribuzione delle risorse, ma aumenta anche la sicurezza. L’hypervisor assicura che un sistema ospite non possa accedere ai file di un altro sistema ospite. Questo è particolarmente importante per scopi di test, in modo che un programma difettoso non possa danneggiare anche altri ambienti di test.
Gestione della memoria
Nella virtualizzazione della CPU, l’hypervisor utilizza tecniche come il time-slicing per distribuire equamente la potenza di calcolo tra le VM. I processori moderni dispongono di funzionalità di virtualizzazione specifiche (ad esempio, Intel VT-x o AMD-V) che supportano l’hypervisor e riducono il sovraccarico.
La RAM invece viene gestita tramite tecniche di paging e mapping. L’hypervisor assegna indirizzi di memoria virtuale a blocchi di memoria fisica, in modo che ogni VM visualizzi solo la propria area di memoria. Quando la memoria scarseggia, può utilizzare meccanismi come il Memory Overcommitment o il Ballooning per distribuire la memoria in modo efficiente tra le VM.
Gestione I/O e periferiche
Le macchine virtuali accedono a dispositivi hardware come dischi rigidi, schede di rete o schede grafiche tramite interfacce virtuali. L’hypervisor emula questi dispositivi o invia direttamente le richieste all’hardware fisico (tecniche Direct-I/O o Pass-Through). Questo garantisce un equilibrio tra compatibilità e prestazioni.
Isolamento e sicurezza
Un vantaggio essenziale della virtualizzazione è l’isolamento tra le VM. Ogni VM opera in un proprio ambiente, in modo che errori o attacchi non abbiano effetti diretti su altre macchine virtuali o sul sistema host. L’hypervisor implementa diversi meccanismi di sicurezza per garantire una separazione rigorosa, tra cui protezione della memoria, controlli di accesso e tecniche di sandboxing.
Se desideri utilizzare una macchina virtuale, puoi scegliere tra diversi software di virtualizzazione. Per gli utenti finali, ad esempio, si adattano bene VirtualBox o Hyper-V, la soluzione di virtualizzazione di Microsoft. Per le grandi aziende, è un’opzione consigliata la suite di virtualizzazione di VMware Broadcom.
Diversi tipi di Virtual Machine Monitor
Esistono due diversi tipi di Virtual Machine Monitor: hypervisor di tipo 1 e 2. Entrambi si caratterizzano per vantaggi specifici. Il primo è quello più datato; i primi tentativi di virtualizzazione tramite questa tecnologia risalgono infatti agli anni ‘60.
Hypervisor di tipo 1
Il primo tipo di hypervisor è chiamato Bare Metal Hypervisor o Native Hypervisor. Questa forma di VMM è impostata direttamente sull’hardware fisico e non è collegata al sistema operativo dell’host. Pertanto, tale hypervisor deve includere anche ogni driver del dispositivo stesso. Il consumo di risorse di un hypervisor di tipo 1 è relativamente basso perché la potenza di calcolo non deve necessariamente passare attraverso il sistema operativo dell’host. Questo tipo di hypervisor è indicato principalmente per gli utenti che vogliono utilizzarlo per creare un server per la virtualizzazione, mentre è troppo complesso per progetti più piccoli in ambito domestico.

Hypervisor di tipo 2
La seconda variante (nota anche come Hosted Hypervisor) richiede un sistema operativo esistente, che a sua volta si basa sull’hardware fisico. L’hypervisor di tipo 2 viene quindi installato come qualsiasi altro programma. La VMM gestisce poi la virtualizzazione. I driver dei dispositivi non devono essere installati nell’hypervisor, poiché il sistema operativo reale può semplicemente trasmetterli al software. Tuttavia, questo vantaggio va a discapito delle prestazioni. Una gran parte delle risorse viene già persa nel sistema operativo host. Grazie alla loro semplice installazione e configurazione, gli hypervisor di tipo 2 si adattano perfettamente per progetti di piccole dimensioni.

- vCPU estremamente vantaggiose e potenti core dedicati
- Massima flessibilità senza periodo contrattuale minimo
- Servizio di assistenza tecnica 24 ore su 24, 7 giorni su 7