La virtualizzazione dei sistemi operativi – Capitolo 3
Ci sono una serie di processi in esecuzione in Domain 0 che hanno il compito di gestire e controllare le macchine virtuali in esecuzione:
Xend
Xend è un programma server scritto in Python in esecuzione su Domain 0. Esso riceve i comandi di gestione della macchine virtuali e restituisce l’esito. Le richieste sono inviate dal processo client Xm attraverso un’interfaccia XML RPC (per un approfondimento sulle specifiche XML RPC si rimanda al sito www.xmlrpc.com).
Nella figura seguente i processi Xend e Xm sono riportati all’esterno di Domain 0 solo per motivi di chiarezza.
Fig 3.5: Comunicazioni tra Xm, Xend e Hypervisor
Xm
Xm è il tool a riga di comando attraverso il quale si inviano i comandi a Xend.
Xenstored
Xenstored è un processo che mantiene un registro degli eventi che intercorrono tra Domain 0 e gli altri Domain U.
Libxenctrl
Libxenctrl è una libreria scritta in linguaggio C che consente al processo Xend di parlare con lo Xen Hypervisor attraverso Domain 0. In Domain 0 è incluso un driver denominato privcmd che è incaricato di gestire e consegnare le richieste all’Hypervisor.
Qemu-dm
Nel Domain 0 è in esecuzione un processo Qemu-dm per ogni Domain U HVM Guest avviata nello Xen Hypervisor. Questo processo gestisce tutte le richieste che i Domain U HVM effettuano verso le risorse I/O.