Saresti sorpreso di quanto siano flessibili i computer. Non solo siamo in grado di eseguire molti sistemi operativi diversi, o anche più di un sistema operativo fianco a fianco, ma puoi anche eseguire un sistema operativo all'interno di un altro. Come, chiedi? Attraverso nient'altro che il magico processo di virtualizzazione.
La virtualizzazione non è una novità per l'informatica, ma saresti sorpreso di vedere quanto spesso viene utilizzata. Oggi ti spiegheremo, in parole povere, cos'è la virtualizzazione, come funziona e quando viene utilizzata.
Che cos'è la virtualizzazione?
Immagina di essere con un gruppo di persone in un ufficio e di aver tutti bisogno di un computer. Tuttavia, tutto ciò che è disponibile è un unico server molto potente. Cosa fai, allora? La logica impone che alternarsi sul grande server sia una cattiva idea: ha molte più risorse di quelle di cui hai bisogno e trascorrerai molto tempo lì. Invece, la linea d'azione logica è dividere quelle risorse in modo uniforme e consentire a tutti di utilizzare la macchina contemporaneamente utilizzando la virtualizzazione.
In parole povere, la virtualizzazione è l'atto di creare allo stesso tempo un ambiente di elaborazione virtuale simulato livello di astrazione come quello fisico, consentendo di utilizzare le caratteristiche di una macchina fisica in modo simulato ambiente. In termini semplificati, è fondamentalmente come avere un computer virtuale all'interno di un computer reale e fare in modo che entrambi facciano le stesse cose.
Il concetto di virtualizzazione risale alla fine degli anni '60 o all'inizio degli anni '70 ed è stato pensato come una soluzione al problema stesso che abbiamo presentato all'inizio di questa sezione. In un momento in cui dare a tutti in un'azienda il proprio PC era praticamente impensabile, IBM stava pensando a come condividere le risorse dei sistemi mainframe tra più persone e la virtualizzazione è stato un buon approccio a questo, con uno dei primi utilizzi di successo della virtualizzazione che è stato IBM CP/CMS, lanciato per la prima volta in 1968.
Da allora, la virtualizzazione ha preso altre forme e forme ed è alla base di molte cose che facciamo sui nostri computer in questi giorni, anche a parte quelle ovvie.
Come funziona la virtualizzazione?
La maggior parte delle implementazioni della virtualizzazione sono abbastanza semplici. Il software di virtualizzazione utilizza un hypervisor per aiutare a eseguire le cose all'interno della macchina virtualizzata. Se non conosci la parola hypervisor, è fondamentalmente un software che alloca risorse da una macchina host, come una determinata quantità di core, sistema memoria o spazio di archiviazione e lo utilizza per eseguire un computer simulato in cima, che spesso verrà eseguito come qualsiasi altro processo all'interno di a PC.
Spesso, i PC vengono forniti con qualcosa chiamato "virtualizzazione assistita da hardware." Ad esempio, sui computer Intel lo troverai come Intel VT-x o "Tecnologia di virtualizzazione", mentre sui sistemi AMD, troverai invece "AMD-V" o "Virtualizzazione AMD". Entrambi consentono al software di virtualizzazione di funzionare più velocemente e di più con precisione.
Utilizzando la virtualizzazione, gli utenti possono eseguire un'istanza separata del sistema operativo che stanno già eseguendo o eseguire un sistema operativo completamente diverso da quello che stanno utilizzando, purché sia compatibile con l'hardware che stai già utilizzando usando. Quest'ultima parte è importante per la definizione della virtualizzazione stessa, come vedrai.
A cosa serve la virtualizzazione?
L'uso più comune della virtualizzazione è su macchine virtuali. Utilizzo di software come VMware o Virtualbox, gli utenti possono creare istanze virtuali di computer simulati all'interno dei loro PC e farli funzionare come racchiusi istanze, consentendo loro di creare un'altra istanza del sistema operativo in esecuzione o di avviare completamente uno diverso.
È un ottimo modo per utilizzare altri sistemi operativi senza dover utilizzare un altro computer o cambiare sistema operativo, e se giochi al tuo carte giuste e alloca abbastanza risorse alla macchina virtuale, probabilmente non noterai nemmeno molta differenza rispetto a una nativa macchina.
Tuttavia, recentemente sono emersi casi d'uso più interessanti per la virtualizzazione, soprattutto se sei su Windows.
Per uno, se sei su Windows 11, probabilmente hai sentito parlare o addirittura utilizzato un "sottosistema". In particolare, il sottosistema Windows per Linux (WSL) e il sottosistema Windows per Android (WSA).
Il tuo PC non lo rende immediatamente chiaro, ma piuttosto che Windows raggruppa il supporto nativo per Linux e app Android, tali servizi vengono eseguiti su un sottosistema virtualizzato con risorse limitate (da cui il sottosistema nome). La prima versione di WSL utilizzava un livello di compatibilità normale, ma per WSL 2 e WSA una macchina virtuale leggera esegue al suo interno programmi Linux e Android e ti consente di interagire con essi tramite una riga di comando o tramite un vero e proprio interfaccia utente.
Non è la prima volta che Windows adotta un approccio del genere. Ai tempi di Windows 7, la "Modalità compatibilità" di Windows XP eseguiva essenzialmente solo una macchina virtuale Windows XP e ti permetteva di eseguire qualsiasi software incompatibile lì.
Qual è la differenza tra virtualizzazione ed emulazione?
Virtualizzazione ed emulazione sembrano termini molto simili e, in effetti, se non hai familiarità con i dettagli di entrambi, potrebbero sembrare la stessa cosa. Ma ci sono un poche differenze fondamentali tra i due.
La virtualizzazione è un processo che può simulare solo sistemi che utilizzano la stessa architettura e tecnologia di base di base della macchina host. Ad esempio, se stai eseguendo una macchina Windows x86, puoi creare istanze di altre macchine solo se sono anche x86. Può essere qualsiasi sistema tu voglia, sia esso Windows, Linux o Android, ma deve essere x86.
Al contrario, l'emulazione può simulare un sistema con un'architettura sottostante completamente diversa. Un buon esempio di questo sono gli emulatori di console. Nel caso di un emulatore GameCube/Wii, stai simulando una console basata su PowerPC su un x86 o forse anche su una macchina ARM. La differenza principale è che l'emulazione di istruzioni diverse può aggiungere molto sovraccarico, con conseguente perdita di prestazioni, un problema che non avrai con una macchina virtualizzata.
La virtualizzazione è un punto di svolta
La virtualizzazione è la tecnologia alla base delle macchine virtuali, ma come abbiamo appreso oggi, sebbene sia normalmente considerato il suo utilizzo principale, non è di gran lunga l'unico. Non abbiamo menzionato alcun utilizzo aziendale della virtualizzazione, ma se li aggiungiamo, è uno strumento piuttosto potente che ti consente di rendere il tuo PC più versatile.
È una grande tecnologia che è servita da punto di svolta per l'informatica.