La virtualizzazione dei sistemi operativi – Capitolo 2.3.1
Il Resource manager è il componente incaricato dell’allocazione delle risorse tra le macchine virtuali in esecuzione: CPU, memoria, accesso al disco e alla rete.
L’allocazione della CPU
ESX server assegna un tempo di CPU proporzionale a un indice assegnato ad ogni macchina virtuale. Questo indice è chiamato share. Lo share è utilizzato per l’allocazione anche di altre risorse hardware condivise. Tuttavia se per qualche motivo una macchina virtuale non utilizza il tempo di CPU a essa assegnato, questo viene distribuito tra le macchine attive.
Lo scheduler della CPU è in grado di migrare la CPU virtuale su differenti processori fisici per garantire che il sistema operativo guest abbia il necessario tempo di CPU. Bisogna sottolineare che in un determinato istante temporale, lo stato del processore fisico rispecchia lo stato di uno, e uno solo, processore virtuale.
Nel caso di macchine virtuali multiprocessore, i processori virtuali di una singola macchina ricevono la stessa schedulazione temporale e ciascun processore virtuale e mappato univocamente con uno dei core dei processori fisici presenti per garantire l’esecuzione simultanea delle istruzioni, dando la sensazione alla macchina virtuale di disporre di un proprio hardware multiprocessore.
Fig.2.8: L’allocazione della CPU