Scritto da Serverlab
Condividi su
La virtualizzazione dei sistemi operativi – Capitolo 3.2
Nella presente sezione esaminiamo l’interfaccia di paravirtualizzazione di Xen in architettura IA32 soffermandoci sugli aspetti della gestione della memoria, della CPU e dei device di I/O. Si noti che viene esaminata la paravirtualizzazione, e quindi il comportamento di Xen verso i domain U PV, e non i domain U HVM.
3.2.1 La gestione della memoria
La virtualizzazione della memoria è senza dubbio l’aspetto più complesso, sia in termini di automatismi che deve svolgere l’hypervisor, sia per le modifiche da apportare ai sistemi operativi guest. I progettisti di Xen hanno quindi preso due decisioni, precisamente:
- i sistemi operativi guest sono responsabili dell’allocazione e della gestione della tabella della pagine hardware con un coinvolgimento minimo dell’hypervisor necessario solo ad assicurare l’isolamento tra le macchine virtuali
- Xen occupa una porzione ben identificata dello spazio degli indirizzi per evitare la pulizia del Translation Lookaside Buffer (TLB) nei cambiamenti di contesto che prevedono l’ingresso o l’uscita dell’hypervisior.
Nel caso di architettura a 32 bit occupa i 64MB superiore dello spazio di indirizzamento di 4GB, nel caso di utilizzo del Physical Address Extention (PAE – 36 bit di indirizzamento) utilizza i 168 MB superiori, nel caso di architettura a 64 bit utilizza un blocco di indirizzamento di grandezza variabile a partire dal 48° bit.
Lo spazio di indirizzamento riservato a Xen non è in alcun modo accessibile o mappabile dai sistemi operativi guest e tanto meno è utilizzabile dall’Application Binary Interface, evitando così che si creino delle incompatibilità con le applicazioni o causando instabilità nell’hypervisor.
Fig. 3.6: Lo spazio di indirizzamento riservato a Xen
Ogni volta che il sistema operativo guest necessita di una pagina di memoria, ad esempio alla creazione di un nuovo processo, esso la alloca e la inizializza dalla propria zona di memoria e la comunica a Xen.
A questo punto il sistema operativo guest rinuncia ai privilegi di scrittura relativi a quella pagina di memoria e tutti gli aggiornamenti successivi dovranno essere validati da Xen. Questo limita il numero di aggiornamenti permettendo al sistema operativo di mappare solo le pagine di memoria che possiede ed impedendone la mappatura in scrittura. Inoltre il sistema operativo guest può raggruppare gli aggiornamenti delle pagine per ammortizzare il costo di ingresso dell’hypervisor.
La segmentazione della memoria è virtualizzata in maniera similare, validando gli aggiornamenti della Local Description Table e della Global Description Table utilizzate dal sistema guest e dalle applicazioni in esecuzione per accedere ai segmenti di memoria.
I vincoli imposti dall’hypervisor per validare gli aggiornamenti sono i seguenti:
- I segmenti devono avere un livello di privilegio inferiore rispetto a Xen
- Non devono permettere l’accesso all’area di memoria riservata a Xen
Ottimizza l’efficienza del tuo lavoro e risparmia sui costi di gestione IT
Scopri le alternative a VMware: Hyper-V, Proxmox e XCP-NG.
30/04/2024
Negli ambienti di lavoro distribuiti, le soluzioni VDI software consentono al reparto IT di fornire accesso ai desktop come se fossero servizi, erogandoli tramite Internet. In questa news ti spiego perché i desktop virtuali dovrebbero far parte di una strategia IT globale e quali sono i tre fattori principali da considerare. Ormai tutti ci aspettiamo […]
27/06/2023
Scopriamo insieme a Davide Galanti come risolvere 5 problemi comuni del virtual desktop.
07/04/2023
Il desktop virtuale non è necessario per le applicazioni web based e le applicazioni chiave stanno migrando sull’interfaccia Web. Quindi perché facciamo ancora Farm VDI? Ha ancora senso una Citrix Farm quando le applicazioni vanno sul web? Brian Madden, 2016 Questa frase l’ho ascoltata da Brian Madden al suo evento BRIFORUM di Londra del 2016, […]
22/08/2022