La virtualizzazione della CPU prevede che una singola CPU si comporti come se si trattasse di due CPU separate. In effetti, è come eseguire due computer separati su un’unica macchina fisica. Forse il motivo più comune per farlo è eseguire due diversi sistemi operativi su una macchina.
La CPU, o unità di elaborazione centrale, è probabilmente il componente più importante del computer. È la parte del computer che esegue fisicamente le istruzioni delle applicazioni che vengono eseguite sul computer. La CPU è spesso conosciuta semplicemente come chip o microchip.
Il modo in cui la CPU interagisce con le applicazioni è determinato dal sistema operativo del computer. I sistemi operativi più conosciuti sono Microsoft Windows®, Mac OS® e vari sistemi open-source sotto la bandiera di Linux. In linea di principio una CPU può far funzionare solo un sistema operativo alla volta. È possibile installare più di un sistema sul disco rigido di un computer, ma normalmente può essere in esecuzione solo uno alla volta.
Lo scopo della virtualizzazione della CPU è far funzionare una CPU nello stesso modo in cui funzionerebbero due CPU separate. Una spiegazione molto semplificata di come questo viene fatto è che il software di virtualizzazione è impostato in modo che esso, e solo lui, comunichi direttamente con la CPU. Tutto il resto che accade sul computer passa attraverso il software. Il software divide quindi le sue comunicazioni con il resto del computer come se fosse collegato a due CPU diverse.
Un uso della virtualizzazione della CPU consiste nel consentire l’esecuzione simultanea di due diversi sistemi operativi. Ad esempio, un computer Apple potrebbe utilizzare la virtualizzazione anche per eseguire una versione di Windows®, consentendo all’utente di eseguire applicazioni solo per Windows®. Allo stesso modo, un computer basato su Linux potrebbe eseguire Windows® tramite la virtualizzazione. È anche possibile utilizzare la virtualizzazione della CPU per eseguire Windows® su un PC Mac® o Linux o per eseguire contemporaneamente Mac OS® e Linux.
Un altro vantaggio della virtualizzazione è quello di consentire l’utilizzo di un singolo computer da più persone contemporaneamente. Ciò funzionerebbe su una macchina con una CPU che esegue un software di virtualizzazione e la macchina si connetterà quindi a più “scrivanie”, ciascuna con tastiera, mouse e monitor. Ogni utente eseguirà quindi la propria copia del sistema operativo tramite la stessa CPU. Questa configurazione è particolarmente popolare in luoghi come le scuole nei mercati in via di sviluppo in cui i budget sono limitati. Funziona meglio dove gli utenti eseguono principalmente applicazioni con esigenze di elaborazione relativamente basse come la navigazione web e l’elaborazione di testi.
La virtualizzazione della CPU non deve essere confusa con il multitasking o l’hyperthreading. Il multitasking è semplicemente l’atto di eseguire più di un’applicazione alla volta. Ogni moderno sistema operativo consente di eseguire questa operazione su una singola CPU, sebbene tecnicamente venga trattata solo un’applicazione in un determinato momento. L’hyperthreading è il luogo in cui le CPU compatibili possono eseguire applicazioni scritte appositamente in modo da eseguire due azioni contemporaneamente.