Sei sulla pagina 1di 12

TECNICHE

DI VIRTUALIZZAZIONE
TEORIA E PRATICA
Maurelio Boari Negli ultimi anni l’interesse per il settore delle tecnologie delle macchine vir-
Simone Balboni
tuali è cresciuto notevolmente. Si sono diffusi nuovi sistemi operativi per la
virtualizzazione e si stanno sviluppando progetti per rendere più semplice
ed efficiente il loro utilizzo. Un campo di applicazione interessante è la rior-
ganizzazione di server farm di grandi dimensioni per rendere più efficiente
l’uso delle risorse, semplificarne la gestione e aumentare la sicurezza.
Questo articolo descrive le proprietà delle tecnologie di virtualizzazione e
3.2 ne presenta l’utilizzo in un caso reale complesso.

1. INTRODUZIONE costituito dalle operazioni (interfaccia) con le

I l concetto di virtualizzazione è da tempo


ampiamente utilizzato in vari settori della
computer science, dalla progettazione di si-
quali è possibile accedere alle risorse.
Questo concetto di virtualizzazione viene
normalmente applicato nella progettazione
stemi software complessi (esempio, sistemi di sistemi di elaborazione complessi, che
operativi), ai linguaggi di programmazione, al- vengono organizzati come un insieme di li-
le architetture dei processori e alla trasmissio- velli di astrazione strutturati gerarchicamen-
ne dei dati. Da un punto di vista generale le te [9]. Al livello più esterno le applicazioni di-
tecnologie di virtualizzazione puntano a di- spongono di una macchina virtuale il cui set
saccoppiare il funzionamento logico delle ri- di istruzioni è composto dalle istruzioni non
sorse hardware e software di un sistema di privilegiate della macchina fisica e da un in-
elaborazione dalla loro realizzazione fisica, sieme di nuove istruzioni rappresentate dalle
con l’obiettivo di ottenere maggiore efficien- funzioni fornite dal S.O. (system call), me-
za, affidabilità e sicurezza. Il disaccoppiamen- diante le quali è possibile accedere alle risor-
to è ottenuto introducendo tra le due viste se del sistema in modo semplice e sicuro.
della risorsa, la logica e la fisica, un livello di Il sistema di elaborazione è visto come un in-
indirezione la cui realizzazione dipende dal ti- sieme di macchine virtuali, una per ogni pro-
po di virtualizzazione che si intende adottare. cesso attivo, che utilizzano tutte lo stesso li-
Un primo esempio di virtualizzazione coinci- vello di disaccoppiamento dalla macchina fi-
de con il concetto di astrazione. In questo ca- sica rappresentato dall’interfaccia fornita dal
so l’obiettivo è semplificare l’uso di una ri- S.O. Esse dipendono quindi dal S.O. di cui
sorsa nascondendo alcuni aspetti di detta- utilizzano le system call e dall’hardware sul
glio relativi alla sua realizzazione. Si parla in quale sono eseguite.
questo caso di risorsa virtuale (oggetto Un caso diverso di macchina virtuale si pre-
astratto) e il livello di indirezione introdotto è senta quando il livello di disaccoppiamento

38
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7
0

dalla macchina fisica è rappresentato dal co- servizio all’utente. Ciascuna di queste inter-
dice generato da un compilatore di un lin- facce (macchine virtuali) è una replica del
guaggio del tipo HLL. Tale codice, chiamato semplice hardware.
codice astratto, risulta completamente indi- Il CMS (Conversational Monitor System) è il
pendente dal set di istruzioni della macchina sistema operativo, interattivo e monoutente,
fisica e dalle system call del S.O. che in essa che gira su ogni macchina virtuale.
opera. Si parla in questo caso di macchina Il CP/CMS è nato dal lavoro svolto presso il
virtuale a livello di linguaggio. L’obiettivo di Centro Scientifico di IBM a Cambridge [3] a
questa VM è permettere la portabilità dello metà degli anni ‘60 con l’obiettivo di creare 1
stesso codice astratto su molteplici piattafor- un sistema time-sharing. La sua adozione,
me (hardware e S.O.) diverse. Ciascuna di nella versione VM/370, da parte di IBM fu
queste realizza una VM capace di caricare ed una diretta conseguenza del sostanziale falli-
eseguire il codice astratto e un insieme di li- mento del sistema time-sharing TSS/360 co-
brerie specifiche. Nella sua forma più sempli- struito per il modello 67 del 360 che si rivelò
ce, la VM contiene un interprete e, nei casi
più sofisticati, un compilatore, che partendo
non adeguato alle aspettative perché troppo
complesso e poco efficiente.
0
dal codice astratto genera codice per la mac- L’idea architetturale delle macchine virtuali,
china fisica sulla quale la VM è in esecuzione. propria del nuovo sistema, consentiva ad ogni
Un esempio ben noto di tale paradigma è la Ja- utente, tramite il CP, di avere la propria macchi-
va Virtual Machine (JVM) [6]. Lo sforzo di imple- na virtuale con la propria partizione sul disco e
mentare per le architetture più comuni una VM di supportare lo sviluppo dei suoi programmi
capace di caricare ed eseguire il codice mac- in tale macchina virtuale tramite il CMS.
china astratto è ben ripagato dalla piena por- Tutta l’architettura risultava più semplice da
tabilità del software attraverso le piattaforme. gestire rispetto ad un tradizionale sistema ti-
Un diverso utilizzo del concetto di virtualizza- me-sharing in quanto risultavano separate, e
zione, prevede l’introduzione di un livello di quindi sviluppabili indipendentemente, le
indirezione, che si chiama Virtual Machine due parti di suddivisione dell’uso delle risor-
Monitor (VMM) o hypervisor il cui compito è se fisiche tra gli utenti e di mascheramento
quello di trasformare la singola interfaccia di per l’utente delle peculiarità dell’hardware.
macchina fisica in N interfacce virtuali. Cia- Inoltre, poiché ogni macchina virtuale era
scuna di queste interfacce (macchine virtuali) funzionalmente identica all’hardware della
è una replica della macchina fisica dotata macchina fisica, era possibile mettere in
quindi di tutte le istruzioni del processore esecuzione su di esse qualunque sistema
(sia privilegiate che non privilegiate) e delle operativo compatibile con l’hardware stes-
risorse del sistema (memoria, dispositivi di so e diverse macchine virtuali potevano
I/O). Su ogni macchina virtuale può essere eseguire differenti sistemi operativi. Nelle
eseguito un sistema operativo. Compito del versioni successive del VM/370 furono
VMM è quindi consentire la condivisione da messi in esecuzione sulle macchine virtuali
parte di più macchine virtuali di una singola diversi sistemi operativi, quali IBM OS/360
piattaforma hardware. Esso si pone come e DOS/360. Un altro aspetto di interesse
mediatore unico nelle interazioni tra le mac- era l’elevata affidabilità del sistema dal mo-
chine virtuali e l’hardware sottostante, ga- mento che la struttura del VMM consentiva
rantendo un forte isolamento tra loro e la sta- l’esecuzione separata delle macchine vir-
bilità complessiva del sistema [5, 13]. tuali garantendo quindi che un errore in un
Un primo esempio di tale tipo di architettura sistema operativo non avesse influenza sul-
è quello introdotto da IBM negli anni ‘60 col l’esecuzione degli altri S.O.
sistema di elaborazione denominato origina- La diffusione in quegli anni di questo tipo di
riamente CP/CMS e successivamente
VM/370 [8]. Il CP (Control Program) svolge le
architettura portò anche alla progettazione
di architetture hardware pensate per consen-
1
funzioni del VMM, viene eseguito sulla mac- tire in modo efficiente di soddisfare queste
china fisica ed ha il solo compito di creare più
interfacce della stessa, senza fornire alcun
esigenze di virtualizzazione [19].
A partire dagli anni ‘70 si sono diffusi i mo- 0

39
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7
0

derni sistemi operativi multitasking e con- Il modo più diretto per emulare è interpreta-
temporaneamente si è assistito ad un crollo re: un programma interprete legge, decodifi-
nel costo dell’hardware. I mainframe hanno ca ed esegue ogni singola istruzione utiliz-
progressivamente lasciato il posto ai mini- zando il nuovo set di istruzioni. È un metodo
computer e ad un paradigma del tipo “un ser- molto generale e potente, ma produce un so-
ver per ogni applicazione”, e così lo sviluppo vraccarico mediamente molto elevato poiché
dei VMM si è interrotto al punto che le archi- possono essere necessarie decine di istru-
tetture non hanno più fornito l’hardware ne- zioni dell’host per interpretare una singola
1 cessario per implementarli in modo efficien- istruzione sorgente.
te. Questa tendenza ha però portato nei pri- Una famosa implementazione, molto cara
mi anni del 2000 ad una proliferazione del- agli appassionati di giochi, è MAME [15], una
l’hardware all’interno delle sale server, con VM per host IA-32 in grado di caricare ed ese-
tanti minicomputer piuttosto sottoutilizzati, guire il codice binario originale delle ROM dei
considerato il costante aumento della poten- videogiochi da bar degli anni ’80, emulando
0 za di calcolo, con grossi problemi legati agli
spazi, al condizionamento degli ambienti,
l’hardware tipico di quelle architetture. Fa-
cendo leva sull’enorme potenza di calcolo
elevati costi di alimentazione e di gestione. degli attuali PC rispetto ai primordiali proces-
Per questi motivi nella seconda metà degli sori per videogiochi dell’epoca, la VM può
anni ‘90 sono ricomparsi sul mercato nuovi tranquillamente operare secondo il paradig-
Virtual Machine Monitor compatibili con l’ar- ma dell’interpretazione senza compromette-
chitettura più diffusa entro le sale server, ov- re in modo significativo l’esperienza di gioco,
vero IA-32, in un’ottica di consolidamento di almeno per i videogiochi più vecchi che non
tanti server sottoutilizzati su di un singolo facevano ancora un uso massiccio della grafi-
calcolatore fisico. Questi sistemi saranno ca. Sono già oltre 1900 le immagini di ROM
l’oggetto del prossimo paragrafo. che si possono eseguire con MAME su di un
Per concludere, si può ricordare che un caso comune PC.
particolare di virtualizzazione si presenta Un ulteriore esempio è costituito dalla classe
quando si richiede l’esecuzione di program- dei microprocessori che, al fine di ridurre i
mi compilati per un certo insieme di istruzio- consumi energetici, implementano interna-
ni su un sistema di elaborazione dotato di un mente un’architettura a parole molto lunghe
diverso insieme di istruzioni. Si parla in que- (VLIW); all’esterno invece, grazie ad un emu-
sto caso di emulazione. latore integrato in hardware, espongono una
classica architettura IA-32, potendo così ese-
VM1 VM2 VM3 guire i più noti sistemi operativi e relative ap-
plicazioni. L’esempio più noto è il processore
Applicazioni Applicazioni Applicazioni Transmeta Crusoe [21], tra i cui progettisti vi è
anche Linus Torvalds.
Sistema operativo Sistema operativo Sistema operativo
2. REALIZZAZIONE DEL VMM

Virtual Machine Monitor Come si è visto nel paragrafo precedente,


compito del VMM è consentire la condivisio-
ne, da parte di più macchine virtuali, di una
Hardware
singola piattaforma hardware. Il VMM espo-
ne ad ogni macchina virtuale un insieme di
interfacce hardware funzionalmente equi-
valenti a quelle di una macchina fisica e si
1 FIGURA 1
Schema logico di un ambiente virtualizzato: in questo esempio il VMM è posto
pone come mediatore unico nelle interazio-
ni tra le macchine virtuali e l’hardware sot-
direttamente sopra l’hardware, ed espone interfacce hardware virtuali tostante, garantendo un forte isolamento

0 funzionalmente identiche ad ognuna delle macchine virtuali in esecuzione


sopra di esso
tra esse e la stabilità complessiva del siste-
ma (Figura 1).

40
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7
0

Al di là dei modi diversi in cui si può proget- mentali tra le implementazioni più diffuse
tare un VMM, esso deve comunque soddi- si possono ricondurre a due fattori discri-
sfare poche condizioni essenziali: fornire un minanti: i principi che governano il dialogo
ambiente per i programmi sostanzialmente tra la macchina virtuale ed il VMM, ed il li-
identico a quello della macchina reale; ga- vello dove si intende collocare il VMM ri-
rantire una elevata efficienza nella esecu- spetto all’architettura del sistema di elabo-
zione dei programmi; possedere caratteri- razione. Rispetto alla prima scelta, che è la
stiche di elevata semplicità. Il primo obietti- più importante in termini di metodo, si di-
vo richiede che qualsiasi programma ese- stingue tra i paradigmi di virtualizzazione 1
guito all’interno di una macchina virtuale completa e paravirtualizzazione. Rispetto
generi lo stesso risultato che si otterrebbe alla seconda scelta, si distingue tra VMM
se il programma fosse eseguito direttamen- posti direttamente sopra l’hardware dell’e-
te sulla macchina reale. Le uniche differenze laboratore (VMM di sistema) che integrano
possono essere legate alle dipendenze tem- un sistema operativo “leggero” con le fun-
porali imposte dalla presenza delle altre
macchine virtuali concorrenti e dalla dispo-
zionalità di virtualizzazione e VMM che si
istallano invece come applicazioni dentro
0
nibilità di risorse di sistema. Il secondo un sistema operativo preesistente (VMM
obiettivo, l’efficienza, richiede che l’o- ospitati). Normalmente viene indicato con
verhead imposto dalla virtualizzazione sia il termine host la piattaforma di base sulla
comunque tale da offrire all’utente l’illusio- quale si realizzano macchine virtuali, che
ne di operare sulla macchina reale. Per otte- comprende la macchina fisica, l’eventuale
nerlo occorre che un sottoinsieme statisti- sistema operativo e il VMM; si indica invece
camente dominante delle istruzioni del pro- con il termine guest tutto ciò (applicazioni
cessore virtuale siano eseguite direttamen- e sistema operativo) che ha a che fare con
te – senza la mediazione del VMM – sul pro- la macchina virtuale.
cessore reale. Questo approccio, noto come Analizziamo ora i dettagli e le differenze delle
esecuzione diretta, è centrale per potere diverse tecniche di realizzazione (Figura 2).
realizzare efficacemente la virtualizzazione. a. Virtualizzazione completa. Il paradigma
In pratica esso prevede che le istruzioni non della virtualizzazione completa prevede che
privilegiate, che sono la frazione più consi- l’hardware virtuale esposto dal VMM sia fun-
stente di un instruction set, quelle da cui zionalmente identico a quello della sotto-
non può derivare l’eventuale blocco del si- stante macchina fisica. In questo modo è
stema, siano eseguite direttamente in possibile installare dentro le macchine vir-
hardware senza coinvolgere in alcun modo tuali sistemi operativi standard, senza che
il VMM. Quest’ultimo interviene invece solo abbiano subito alcuna modifica specifica per
nell’esecuzione delle istruzioni privilegiate, eseguire in ambiente virtuale. Questo ap-
minimizzando così il sovraccarico. Infine, il proccio semplifica notevolmente la creazione
requisito della semplicità nella realizzazio- e gestione dell’ambiente guest, ma rende un
ne è essenziale per garantire la stabilità e la po’ più complesso il disegno del VMM; inol-
sicurezza dell’intero sistema, minimizzando tre vedremo che per una efficace implemen-
l’occorrenza di malfunzionamenti che com- tazione è richiesta la collaborazione dell’ar-
prometterebbero l’esistenza delle macchine chitettura della CPU. Negli approfondimenti
virtuali. In altre parole è necessario che il che seguono supponiamo, per semplicità,
VMM, nonostante la disponibilità delle che il VMM sia installato direttamente sul-
istruzioni privilegiate per le macchine vir- l’hardware del calcolatore.
tuali, resti sempre nel pieno controllo delle Un’architettura CPU in generale opera secon-
risorse hardware e che non sia mai possibi- do livelli (ring) di protezione: per semplicità
le ai programmi in esecuzione negli ambien-
ti virtuali accedere all’hardware in modo pri-
consideriamo due soli livelli, supervisore ed
utente, anche se molte architetture, tra cui IA-
1
vilegiato scavalcando il controllo del VMM. 32, implementano livelli intermedi usati ad
Vi sono diversi modi per realizzare un VMM
con queste proprietà; le differenze fonda-
esempio per l'I/O. Il livello supervisore è riser-
vato al software che deve accedere alle risor- 0

41
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7
0

VM1 VM2 VM3 VM1 VM2 VM3

Applicazioni Applicazioni Applicazioni Applicazioni Applicazioni Applicazioni

Sistema operativo Sistema operativo Sistema operativo Sistema operativo Sistema operativo Sistema operativo
modificato modificato modificato

1 Hardware virtuale
Binary Translation Virtual Hardware API
VMM VMM

Hardware Hardware

0
FIGURA 2
Confronto tra virtualizzazione completa (sinistra) e paravirtualizzazione (destra), su architetture IA-32. Un VMM per la virtualizzazione
completa replica per ogni macchina virtuale le medesime interfacce hardware, funzionalmente identiche a quelle della sottostante
macchina fisica; per questo i sistemi operativi guest non devono essere modificati. Un VMM in paravirtualizzazione espone invece una API
cui i sistemi operativi guest devono interfacciarsi per accedere alle risorse

se del sistema con il massimo privilegio (siste- so alle risorse gli sono inibite (problema di
ma operativo, driver), e in tale stato si posso- ring deprivileging), inoltre esso è schiacciato
no eseguire tutte le istruzioni proprie dell’ar- nello stato utente insieme alle semplici appli-
chitettura, tra cui anche le istruzioni privile- cazioni, con il problema di doversi proteggere
giate che danno pieno accesso alle risorse da queste (problema di ring compression).
hardware e ai registri del sistema. Il livello Il VMM deve dunque mascherare ai sistemi
utente è riservato al software meno privilegia- operativi guest la natura dello stato in cui so-
to (applicazioni), e in tale stato non è possibi- no eseguiti, facendosi carico di intercettare
le accedere alle istruzioni privilegiate della ogni richiesta di accesso privilegiato al-
CPU. Se dallo stato utente si invocano istru- l’hardware ed emulandone il comportamen-
zioni privilegiate si attiva il meccanismo di to. Si tratta infatti di richieste che non posso-
protezione della CPU che non esegue l’istru- no essere eseguite direttamente, ma non
zione in questione ma notifica allo stato su- possono nemmeno essere ignorate pena il
pervisore, mediante una eccezione (trap), la malfunzionamento o il blocco del sistema
richiesta ricevuta e gli passa il controllo. Nor- guest, di cui si interromperebbe il normale
malmente, alcune delle componenti di un si- flusso operazionale. Per intercettare tali
stema operativo (il kernel ed i driver) si aspet- chiamate il VMM è aiutato in modo determi-
tano di essere eseguite nello stato superviso- nante dalle funzionalità di protezione dell’ar-
re, poiché devono controllare l’hardware. In chitettura CPU: quando l’ambiente guest
un contesto di virtualizzazione tuttavia, è so- tenta di eseguire un’istruzione privilegiata, la
lamente il VMM ad occupare lo stato supervi- CPU notifica un’eccezione al VMM (posto nel-
sore, mentre tutti i software guest che vi gira- lo stato supervisore) e gli trasferisce il con-
no sopra (applicazioni, ma anche sistemi ope- trollo. Il VMM verifica la correttezza dell’ope-
rativi) sono spinti più in alto, nel livello utente, razione richiesta e provvede ad emularne il
con i privilegi di semplici applicazioni. Vi sono comportamento atteso. Se per esempio, un
1 dunque due ordini di problemi nella gestione
di un sistema operativo guest che non si in-
guest tenta di eseguire l’istruzione privilegia-
ta che disabilita gli interrupt, il VMM riceve la
tende modificare ai fini della virtualizzazione: notifica di tale richiesta e ne emula il compor-

0 esso è chiamato ad operare in uno stato che


non gli è proprio, poichè le chiamate di acces-
tamento atteso, cioè sospende la consegna
degli interrupt solamente a quella macchina

42
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7
0

virtuale. Così facendo, la macchina virtuale


Virtualizzazione completa e paravirtualizzazione
prosegue secondo il normale flusso opera-
La virtualizzazione completa prevede che il VMM esponga ad ogni macchi-
zionale che seguirebbe in un ambiente reale na virtuale interfacce hardware simulate funzionalmente identiche alle
ed il sistema rimane complessivamente sta- corrispondenti interfacce fisiche: in questo modo è possibile installare
bile; se invece la richiesta della macchina vir- dentro le macchine virtuali sistemi operativi standard, senza che abbiano
tuale fosse eseguita sul processore, sareb- subito alcuna modifica specifica per eseguire in ambiente virtuale. All’in-
terno della macchina virtuale, tutte le istruzioni non privilegiate sono ese-
bero disabilitati tutti gli interrupt per tutti i si- guite direttamente sul microprocessore del calcolatore (esecuzione diret-
stemi e questo impedirebbe al VMM di rigua-
dagnare il controllo della CPU.
ta), ed il VMM si fa carico solamente di intercettare le richieste di accesso
privilegiato all’hardware e ne emula il comportamento atteso. 1
Il meccanismo di notifica della CPU aiuta a La paravirtualizzazione prevede che il VMM esponga ad ogni macchina vir-
mantenere piuttosto semplice il disegno del tuale interfacce hardware simulate funzionalmente simili, ma non identi-
che, alle corrispondenti interfacce fisiche: piuttosto che emulare le perife-
VMM, che in modo trasparente è chiamato ad riche hardware esistenti, il VMM espone una libreria di chiamate (Virtual
intervenire solamente per mediare l’accesso Hardware API) che implementa una semplice astrazione delle periferiche.
alle risorse hardware, di cui per altro mantie- Occorre dunque modificare il kernel ed i driver dei sistemi operativi guest
ne sempre il controllo. La soluzione è anche
efficiente in quanto consente che tutte le
per renderli compatibili con la virtual hardware API del VMM utilizzato. La
complicazione di dovere modificare i sistemi guest è però ripagata da una
maggiore semplicità del VMM, che non deve preoccuparsi di intercettare
0
istruzioni non privilegiate siano eseguite di- in modo complicato accessi alle risorse hardware, ma si avvale della loro
rettamente dall’hardware, senza alcuna su- diretta collaborazione.
pervisione da parte del VMM che non sarebbe
di alcuna utilità ed introdurrebbe solo latenza.
Un’architettura CPU si dice “naturalmente di un sistema operativo guest – che come tale
virtualizzabile” se supporta l’invio di notifica è eseguito nello spazio utente, che non gli sa-
allo stato supervisore per ogni istruzione pri- rebbe proprio – segnalerebbe al medesimo
vilegiata eseguita dallo stato utente. Un’ar- un’anomalia di collocazione.
chitettura di questo tipo favorisce un dise- Questa assenza di supporto da parte del-
gno semplice del VMM e supporta nativa- l’hardware impone al VMM di implementare
mente la tecnica dell’esecuzione diretta, fon- stratagemmi di varia natura per garantire il
damentale per garantire prestazioni. funzionamento della virtualizzazione comple-
È necessario osservare tuttavia che non tutte ta; i problemi possono essere risolti, ma al
le architetture sono naturalmente virtualizza- prezzo di un aumento di complessità ed una
bili e nel novero di queste vi è anche l’architet- riduzione delle prestazioni. Una soluzione ti-
tura IA-32, che pure oggi è al centro della rina- pica prevede che il VMM scansioni il codice
scita della virtualizzazione: realizzata nell’e- prima di passarlo in esecuzione per impedire
poca del boom del personal computer, non è che blocchi contenenti queste istruzioni siano
stata affatto progettata tenendo presente le eseguiti direttamente. VMware [8], per esem-
condizioni per una semplice virtualizzazione. pio, implementa la tecnica della fast binary
Alcune istruzioni privilegiate di questa archi- translation [16] per sostituire i blocchi conte-
tettura se eseguite nello spazio utente non nenti simili istruzioni problematiche in blocchi
provocano un’interruzione da parte del mec- equivalenti dal punto di vista funzionale e
canismo di protezione della CPU ma vengono contenenti istruzioni per la notifica di eccezio-
semplicemente ignorate e non consentono ni che favoriscono l’intervento del VMM; tali
quindi un trasparente intervento del VMM. blocchi equivalenti sono passati poi in esecu-
Inoltre, vi sono istruzioni non privilegiate, zione diretta ed inoltre sono conservati in una
dunque consentite liberamente anche nello cache apposita per riusi futuri, risparmiando il
spazio utente, che permettono di accedere in costo di ulteriori traslazioni. Questo processo
lettura ad alcuni registri di sistema le cui infor- di traslazione va applicato almeno all’intero
mazioni andrebbero però mascherate ad una kernel del guest OS, per essere certi che tutte
macchina virtuale e la cui gestione dovrebbe
essere riservata solo al VMM (problema di
le istruzioni privilegiate che non notificano ec-
cezioni vengano intercettate e gestite.
1
ring aliasing). Vi è per esempio un registro b. Paravirtualizzazione. Il paradigma della
(code segment register) che segnala il livello
di privilegio corrente e la cui lettura da parte
paravirtualizzazione prevede che l’hardwa-
re virtuale esposto dal VMM sia funzional- 0

43
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7
0

mente simile, ma non identico, a quello del- esempio nell’ambito della gestione della
la sottostante macchina fisica. Piuttosto memoria, si osserva che il VMM, come i tra-
che emulare le periferiche hardware esi- dizionali sistemi operativi, può fare uso del-
stenti, il VMM espone una semplice astra- la paginazione per spostare pagine di me-
zione delle periferiche. In particolare, l’in- moria dalla memoria primaria al disco, con il
terfaccia hardware virtuale che il VMM consueto vantaggio di potere allocare più
espone ai sistemi guest è ridisegnata nella memoria di quella strettamente disponibile.
forma di una Applications Programming In- Ciò è particolarmente importante nel conte-
1 terface (Virtual Hardware API), che i sistemi sto della virtualizzazione, con molti sistemi
guest devono sapere richiamare per guada- e processi che insistono sulle stesse risorse
gnare l’accesso alle risorse. Si richiede dun- sovra-allocate. Occorre dunque un meccani-
que che i sistemi operativi guest non siano smo efficiente che consenta al VMM di re-
più tenuti all’oscuro, ma siano consapevoli clamare ed ottenere in caso di necessità
di operare in un ambiente virtuale. Eviden- dalle diverse macchine virtuali le porzioni di
0 temente questo impone di modificarne il
kernel ed i driver per renderli compatibili
memoria meno utilizzate. È chiaro che il si-
stema operativo di ogni macchina virtuale
con le proprietà del VMM utilizzato; ma – ed possiede informazioni relative a quali siano
è la cosa più importante – non occorre asso- le pagine di memoria più adatte ad essere
lutamente modificare le applicazioni che gi- spostate su disco, decisamente migliori di
rano sui sistemi operativi guest, perchè l’in- quelle del VMM. Per esempio, un guest OS
terfaccia tra le applicazioni ed il sistema può notare che una pagina di memoria ap-
operativo non viene toccata in alcun modo partiene ad un processo terminato e dun-
da questo approccio. Va dunque realizzato que tale pagina non sarà più acceduta. Il
un porting dei sistemi operativi esistenti, VMM, operando al di fuori dei singoli guest
poiché gli attuali non sono scritti per dialo- OS, non può rendersi conto di questo e dun-
gare con una API di paravirtualizzazione ma que non sarebbe altrettanto efficiente nel
solamente per gestire le interfacce hardwa- decidere quali pagine di memoria trasferire
re standard. Questo è certamente un pro- su disco per quella macchina. Una strategia
blema, soprattutto per vecchi sistemi ope- comunemente adoperata per risolvere que-
rativi di tipo legacy. Di riflesso però risulta sto problema è di tipo “paravirtualizzante”:
enormemente semplificata la struttura del su ogni macchina virtuale è in esecuzione
VMM, poiché esso non deve più preoccu- un processo, a volte detto balloon process
parsi di individuare e catturare le operazioni (processo aerostato) che comunica con il
privilegiate dei guest OS per poi emularle, VMM. Quando vi è necessità di rastrellare
ma si avvale invece della loro diretta e con- memoria, il VMM chiede al balloon process
sapevole collaborazione. di allocare più memoria, cioè di “gonfiarsi”.
Viene così meno il vincolo di operare con ar- Il guest OS, che meglio di tutti conosce l’uti-
chitetture CPU naturalmente virtualizzabili, lizzo della memoria nell’ambito della mac-
non più essenziale per il funzionamento della china virtuale, seleziona le pagine da offrire
paravirtualizzazione. Questo ha un impatto al balloon process per soddisfarne la richie-
ancor più notevole nel contesto delle archi- sta; il balloon process comunica tali pagine
tetture IA-32 che non sono naturalmente vir- al VMM che ne rientra in possesso. La richie-
tualizzabili, e che – come poc’anzi visto – im- sta del balloon process provoca da parte del
pongono al VMM l’implementazione di mec- guest OS il trasferimento su disco delle pa-
canismi complicati per prevenire anomalie. Il gine probabilmente meno utilizzate dalla
vantaggio maggiore di questo tipo di tecnica, macchina virtuale, con l’effetto netto di ave-
rispetto alla precedente, consiste proprio re liberato memoria a favore del VMM, che
1 nella maggiore semplicità ed efficienza di
esecuzione del VMM.
provvede alla riallocazione. Anche VMM che
per il resto operano secondo il paradigma
Inoltre, vi sono contesti in cui la cooperazio- della virtualizzazione completa, come lo

0 ne tra il VMM ed il sistema guest è necessa-


ria per raggiungere un risultato efficace: per
stesso VMware, fanno largo uso di questi
meccanismi tipici della paravirtualizzazio-

44
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7
0

ne, in specifico nella gestione della memo- tuali, da un’unica console di controllo, in ana-
ria che – effettuata completamente dal di logia al prodotto VirtualCenter venduto da
fuori – sarebbe altrimenti molto complessa VMware. Il progetto più rilevante in tale am-
e poco efficiente. In particolare, VMware of- bito è Xensource, gestito dal gruppo storico
fre l’opzione di installare dentro i sistemi che coordina lo sviluppo di XEN. Si tratta di
guest un pacchetto di programmi (VMware una piattaforma commerciale per controllare
Tools) in cui sono presenti questa e altre più installazioni di XEN, con le relative mac-
“sonde” per migliorare lo scambio di dati tra chine virtuali, da un’unica console centraliz-
VMM e guest. zata; grazie a questa piattaforma si possono 1
Nonostante la difficoltà di dovere realizzare il compiere le operazioni fondamentali di ge-
porting dei sistemi operativi esistenti, la pa- stione come installare un nuovo sistema gue-
ravirtualizzazione sta catalizzando un’atten- st, monitorare l’utilizzo delle risorse, modifi-
zione sempre crescente. Il progetto attual- care la configurazione di un guest, accederne
mente più promettente di un VMM che opera la console ecc..
secondo tale paradigma è XEN, un VMM
open source sviluppato dall’Università di
c. VMM di sistema e VMM ospitati. Soffer-
miamoci su un’ultima distinzione rilevante
0
Cambridge [6]. Nell’ambito del progetto è che caratterizza i sistemi di virtualizzazione:
stato realizzato il porting di Linux su XEN (Xe- il livello dove si intende collocare il VMM ri-
noLinux), con un costo in termini di righe di spetto all’architettura del sistema di elabora-
codice del Kernel modificato per dialogare zione. Abbiamo già accennato che si distin-
con la API del Virtual Hardware pari a circa gue in questo caso tra VMM posti diretta-
3000 righe, cioè circa 1,36% del totale. Un la- mente sopra l’hardware dell’elaboratore
voro analogo, in collaborazione con Micro- (VMM di sistema) e VMM che si istallano in-
soft, è in corso per consentire il porting di vece come applicazioni dentro un sistema
Windows XP (XenoXP), ma il lavoro non è an- operativo preesistente (VMM ospitati) (Figu-
cora terminato e risulta essere più che altro ra 3). Nella prima opzione si integrano ad un
una sperimentazione. Attualmente lo svilup- sistema operativo “leggero” le funzionalità
po di XEN è alla versione 3; tra le funzionalità di virtualizzazione, in un unico sistema che
più rilevanti vi è il supporto per sistemi multi- esegue direttamente sopra l’hardware dell’e-
processore e per i più recenti kernel di Linux. laboratore. Un’implementazione così a bas-
Sono supportati inoltre meccanismi di “live so livello offre migliori prestazioni, anche se
migration” di VM da un host con XEN ad un si rende necessario corredare il VMM di tutti i
altro: ciò permette di eseguire manutenzioni
su di un singolo calcolatore senza interrom- VM1 VM2
pere i servizi, oppure bilanciare il carico com-
plessivo tra i vari host con XEN di cui si dispo- Applicazioni Applicazioni
ne. Inoltre le principali distribuzioni di Linux
commerciali (Suse e RedHat) offrono già i Applicazioni
Sistema operativo Sistema operativo
pacchetti precompilati per installare XEN,
nonchè le immagini della propria distribuzio-
ne modificate per la paravirtualizzazione. Virtual Machine Monitor
XEN 3 supporta le istruzioni per la virtualiz-
zazione che AMD ed Intel hanno di recente Sistema operativo
inserito nei propri processori basati su IA-32
e questo consente di eseguire sistemi guest
Windows non modificati, in una modalità di Hardware
virtualizzazione completa. In tal modo si so-
no superati i problemi legati al porting di si-
stemi guest proprietari. Sta infine crescendo
1
l’offerta di strumenti di lavoro che permetto- FIGURA 3
no una gestione centralizzata di varie instal-
lazioni di XEN e delle relative macchine vir-
Schema puramente indicativo di un VMM ospitato su di un sistema operativo
preesistente, con cui condivide l’accesso alle risorse 0

45
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7
0

driver necessari per pilotare le periferiche. In periferiche; infine, potrà servirsi di vari altri
generale i prodotti implementati secondo servizi dell’host OS come lo scheduling e la
questo modello supportano un numero mol- gestione delle risorse. È dunque una soluzio-
to limitato di hardware certificato, rendendo ne comoda, che sacrifica le performance ma
meno impegnativa la gestione delle periferi- semplifica il disegno del VMM ed è supportata
che altrimenti molto difficile vista l’enorme da qualsiasi piattaforma IA-32 sulla quale sia
varietà degli hardware nel mercato consu- già installabile un sistema operativo. Spesso
mer. Un esempio di VMM di sistema è per tale opzione è più che sufficiente per un uten-
1 esempio la versione ESX di VMware, non a te che abbia solo l’esigenza di avere contem-
caso quella più diffusa in ambiti professiona- poraneamente attivi sul proprio PC diversi si-
li, o anche lo stesso XEN. Quest’ultimo adot- stemi operativi per sviluppare o testare appli-
ta driver derivati dal kernel di Linux ottimiz- cazioni. In questo segmento, per le architettu-
zati per offrire le migliori prestazioni sull’I/O re x86, si trovano la versione gratuita di
in un contesto di virtualizzazione (varie VM in VMware Server (prima noto come GSX), Vir-
0 concorrenza); naturalmente tali driver sono
compatibili con una lista molto ristretta di
tual Server di Microsoft, il software opensour-
ce User Mode Linux.
schede di rete e FibreChannel.
La seconda opzione prevede invece l’installa-
3. VIRTUALIZZAZIONE
zione del VMM come un’applicazione sopra E CONSOLIDAMENTO
un sistema operativo preesistente e non diret- DEI SERVER ALL’UNIVERSITÀ
tamente sull’hardware del calcolatore. Con un DI BOLOGNA
certo livello di approssimazione per non en-
trare troppo nei dettagli, si può dire che il 3.1. Il contesto
VMM, anziché collocarsi sotto tutti gli altri li- L’Università di Bologna ha concentrato pres-
velli software, opera nello spazio utente e ac- so il proprio Centro Servizi Informatici d’Ate-
cede all’hardware attraverso le system call neo (CeSIA) la gestione della rete accademica
messe a disposizione dal sistema operativo ALMAnet e della Server Farm che ospita i si-
su cui si installa. Le performance sono certa- stemi per i servizi centralizzati: posta elettro-
mente inferiori, ma ci sono alcuni vantaggi im- nica, DNS, file server, portale web d’Ateneo,
portanti: il VMM è più semplice da installare sistemi per l’autenticazione, strumenti per il
poiché è come un’applicazione; inoltre potrà monitoraggio e la gestione della rete ALMA-
fare affidamento sul sistema operativo sotto- net, le basi dati di personale e studenti, le ap-
stante - sicuramente più fornito di driver per plicazioni per le segreterie, servizi per docen-
l’hardware più diffuso – per la gestione delle ti, studenti, e per l’amministrazione generale.
All’inizio del 2005 ci si è posti il problema del
VMM di sistema e VMM ospitati rinnovamento della Server Farm, che aveva
I VMM di sistema si installano direttamente sull’hardware del calcolatore, raggiunto dimensioni critiche: 200 server
ed integrano le funzionalità di virtualizzazione ad un sistema operativo mi- stand alone, Linux e Windows, ognuno con il
nimale. Un’implementazione a basso livello offre migliori prestazioni, an- proprio disco in locale, ognuno dedicato in
che se si rende necessario corredare il VMM di tutti i driver necessari per
pilotare le periferiche. In generale i prodotti implementati secondo questo
modo esclusivo ad una singola applicazione o
modello supportano un numero molto limitato di hardware certificato, ri- servizio, e come tale piuttosto sottoutilizzato.
sultando compatibili con un piccolo sottoinsieme dell’hardware presente Un modello così rigido non era chiaramente in
nel mercato consumer. alcun modo scalabile e già così poneva grossi
I VMM ospitati si installano come un’applicazione all’interno di un sistema problemi sui costi di approvvigionamento e di
operativo preesistente e non direttamente sull’hardware del calcolatore. Con
un certo livello di approssimazione si può dire che il VMM opera nello spazio manutenzione; vi erano inoltre problemi di or-
utente e accede l’hardware attraverso le system call messe a disposizione dal dine logistico come il condizionamento del-
sistema operativo su cui si installa. Le performance sono certamente inferio- l’ambiente e la distribuzione dell’energia elet-
1 ri, ma il VMM è più semplice da installare ed inoltre si affida al sistema opera-
tivo sottostante - sicuramente più fornito di driver per l’hardware più diffuso –
trica. Ma, soprattutto, si osservava che la sola
gestione ordinaria di un parco così ampio as-
per la gestione delle periferiche. Esso potrà inoltre utilizzare servizi dell’host
OS come lo scheduling e la gestione delle risorse. È dunque una soluzione sorbiva completamente il personale prepo-

0 comoda, che sacrifica le performance ma semplifica il disegno del VMM. sto, che vedeva ridursi il tempo per la parte
più qualificante del lavoro: lo sviluppo dei ser-

46
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7
0

vizi a valore aggiunto che sono oggi conside- Stato precedente Nuova atchitettura
rati fondamentali, come la remotizzazione dei
CeSIA DR
dati, le politiche di recupero da disastro e di
continuità operativa (Figura 4).
Si è così stabilito di avviare un progetto di ra-
IP
zionalizzazione della Server Farm secondo li-
nee più moderne, con l’obiettivo primario del-
la diminuzione del mero lavoro gestionale e
dei costi di manutenzione, da attuarsi me- 1
diante una riduzione del parco macchine e Storage Area Network
concentrando più servizi sui medesimi siste-
mi (consolidamento hardware ed applicati-
vo). Era poi richiesto che la nuova architettura
supportasse in modo semplice e nativo fun-
zionalità di recupero da disastro e di conti-
nuità operativa, da attuarsi con l’appoggio di
0
un sito secondario a circa un chilometro di di-
stanza dal CeSIA e connesso con esso tramite FIGURA 4
fibre ottiche, di cui l’Ateneo si era nel frattem- Modelli di gestione a confronto: rispetto ad un modello classico di gestione tipo
po dotato. Si richiedeva inoltre il supporto per “un server fisico per un’applicazione”, si evidenza la modularità dell’architettura
sistemi Windows e Linux, entrambi ampia- nella nuova infrastruttura, la semplicità nell’estendere su siti comunicanti la
mente utilizzati in Ateneo e la possibilità di Server Farm per ottenere continuità operativa, il ridotto numero di persone
sviluppare in modo più semplice, economico necessarie al presidio
e standardizzato i servizi intorno ai server, in
particolare backup/restore, monitoraggio, ri- da un calcolatore con VMware ad un altro; di-
dondanze. spone di driver per la gestione del più diffuso
Sono state studiate le tecnologie per il con- hardware professionale in commercio, con
solidamento ed acquisiti gli elementi di base funzionalità avanzate per supportare la ri-
per realizzare un’architettura consolidata: dondanza dei percorsi di I/O; è dotato di un
hardware scalabili che consentono di dimen- sistema molto raffinato di gestione della me-
sionare la potenza di elaborazione e lo spa- moria (risorsa scarsa e costosa) che consen-
zio su disco in modo dinamico al crescere te una forte sovra-allocazione di memoria al-
della necessità, e sistemi operativi per la vir- le VM rispetto alla memoria fisica presente.
tualizzazione, che consentono di partiziona- Va comunque osservato che le funzionalità
re le risorse hardware disponibili tra diversi descritte non sono in alcun modo prerogati-
sistemi che ne fanno un uso concorrente. va del prodotto di VMware, ma con gradi di
I calcolatori scelti sono quadriprocessori dual- sviluppo diversi sono caratteristiche comu-
core in architettura IA-32; essi accedono ai ni di quasi tutti i sistemi di virtualizzazione
sottosistemi disco attraverso la rete Fibre- commerciali ed opensource presenti sul
Channel, una tecnologia di trasporto ottimiz- mercato ([5, 6, 7, 12] e altri ancora). In parti-
zata per la comunicazione dei comandi SCSI. colare, ciò che ha permesso il cambiamento
Dei diversi VMM per architetture IA-32 è sta- radicale nel modello di gestione della Ser-
to preferito VMware ESX per le seguenti ra- ver Farm è stata la combinazione di hardwa-
gioni: supporta sistemi operativi guest sia di re scalabile di tipo “commodity” (cioè facil-
tipo Windows che Linux; è dotato di una con- mente reperibile sul mercato, e indifferente-
sole di gestione centralizzata (VirtualCenter) mente da produttori diversi) unito al parti-
che permette di tenere sotto controllo ed zionamento delle risorse operato secondo
eseguire operazioni su tutte le macchine vir-
tuali installate su qualsiasi calcolatore con
principi molto simili da qualsiasi VMM per
architetture IA-32. In particolare, è patrimo-
1
VMware; dispone di meccanismi per la conti- nio comune di queste tecnologie operare il
nuità operativa (Vmotion) che permettono la
migrazione a caldo di una macchina virtuale
multiplexing delle risorse disponibili ed in-
capsulare un intero server in un solo file su 0

47
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7
0

disco, azioni che sono la chiave di volta di


Virtual Appliance
tutte le funzionalità sopra descritte.
Le Virtual Applicance sono macchine virtuali confe-
zionate e configurate con a bordo tutto l’occorrente
3.2. La soluzione per svolgere funzioni applicative di un certo tipo, co-
È nato così il nucleo della nuova Server Farm: me web server, firewall, applicazioni di fonia su IP,
in una tale architettura, una macchina virtua- ecc.. Esistono in rete repositori che contengono cen-
tinaia di immagini di Virtual Appliances divise per
le è un processo in esecuzione su di un calco- categorie e scaricabili gratuitamente. Ad oggi tali
latore, ed il suo disco è interamente incapsu-
1 lato in un file posizionato sullo Storage Array.
immagini sono eseguibili esclusivamente sul Virtual
Machine Monitor per cui sono state create, poichè
Tutti i nuovi server sono stati sistematica- non esistono standard condivisi per il formato del
disco delle VM o per le interfacce di paravirtualizza-
mente creati come VM all’interno di questa zione. Sono comunque già molto utilizzate per te-
infrastruttura. I vecchi server sono stati mi- stare e prototipare rapidamente ambienti operativi.
grati uno ad uno all’interno della nuova infra-
struttura, alcuni ricostruendoli da zero in am-
0 biente virtuale, altri trasferiti da fisico a vir-
tuale mediante strumenti automatici che si
su di un unico quadriprocessore (8 core)
con 32 GB di RAM. La vecchia sala server di
occupano di ricostruire in una VM un server 200 macchine fisiche è stata così ristretta a
fisico ed il contenuto dei suoi dischi. Tali soli 7 quadriprocessori, con risparmi ingenti
software sono spesso indicati come P2V, che dal punto di vista dei costi di gestione. Le
sta per “Physical to Virtual”. operazioni quotidiane di presidio e gestione
Per supportare la continuità operativa, le reti ordinaria si sono radicalmente semplificate
di trasmissione dati sono state estese dal Ce- poiché l’intera Server Farm è diventata con-
SIA verso il sito secondario mediante fibre ot- trollabile da un unica interfaccia – Virtual-
tiche di proprietà dell’Ateneo; nel sito secon- Center – attraverso cui è possibile accedere
dario è stata predisposta un’uscita di backup alle console dei server, monitorarne l’uso
verso Internet, e lì sono stati posti alcuni cal- delle risorse, cambiarne a caldo la connetti-
colatori con VMware ed uno dei due Storage vità di rete, attivare allarmi al superamento
Array acquistati. Attraverso la rete FibreChan- di soglie critiche, comandarne la migrazione
nel, i calcolatori in un sito vedono anche il di- a caldo nel caso occorra compiere manuten-
sco che è nell’altro sito: così le macchine vir- zioni sull’hardware sottostante. È inoltre di-
tuali in esecuzione al CeSIA possono essere ventato semplice aggiornare l’hardware vir-
migrate a caldo – tramite Vmotion – anche sui tuale di una VM: si può incrementare la RAM
calcolatori presenti nel sito secondario in po- o il numero di processori, aggiungere spa-
chi secondi, consentendo ad esempio di effet- zio disco o ulteriori schede di rete nello spa-
tuare manutenzioni su un singolo calcolatore zio di un riavvio.
senza interrompere i servizi. Inoltre, in caso di Un altro vantaggio fondamentale dell’am-
rottura di un calcolatore nel sito primario i cal- biente virtuale è legato alla creazione di un
colatori del sito secondario possono interve- nuovo server: si possono infatti confezionare
nire riavviando i server caduti. Mediante mec- dei template di installazioni tipiche (per
canismi di replica sincrona e asincrona dei da- esempio, una immagine di Windows 2003
ti attuati tra i controller dei due Storage Array, con a bordo antivirus, agente di backup e al-
è possibile mantenere sul sito remoto una co- tre applicazioni già configurate) ed eseguire
pia allineata in tempo reale dei dati più critici installazioni di nuovi server virtuali a partire
del sito primario, per esempio le basi dati di da essi, con un notevole risparmio di tempo
personale e studenti. In modo analogo si può ed energie. Si può anche creare un nuovo
mantenere nel sito secondario una copia delle server clonando una macchina virtuale già in
immagini disco delle macchine virtuali più im- esecuzione, ottenendo in modo molto rapido
1 portanti, per potere ripristinare i servizi nel si-
to secondario anche nel caso di un disastro
un ambiente di test fedele all’originale per
provare ad esempio l’effetto di aggiornamen-
che paralizzi totalmente il CeSIA. ti di sistema, variazioni di configurazione etc.

0 Dopo un’attenta fase di test, si è compreso


che era possibile concentrare fino a 40 VM
Inoltre, liberarsi di questi ambienti è facile
come cancellare un file: un vantaggio enor-

48
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7
0

me rispetto all’approccio classico che impo- [9] Dijkstra E.W.: The Structure of the Multipro-
ne investimenti in acquisto di hardware dedi- gramming System. Communication of the ACM.
cato, l’installazione del sistema operativo e Vol. 8, n. 9, 1968.
delle applicazioni ecc. con pochissima flessi- [10] Goldberg R.P.: Survey of Virtual Machines. Com-
bilità e costi elevati in termini di risorse uma- puter, June 1974.
ne e materiali. [11] Goslin B., Steele G.: The Java Language Specifi-
La modularità dell’architettura, ad ogni suo cation. Addison Wesley,1996.
livello, permette di acquisire autonomamen- [12] Microsoft Corporation: Microsoft Virtual Ser-
te ed in stock le parti necessarie se le risorse ver 2005 R2 Technical Overview, 2005.
http://www.microsoft.com/windowsserver-
1
per nuove VM scarseggiano: ulteriori calcola- system/virtualserver/overview/vs2005te-
tori per aumentare la capacità di elaborazio- ch.mspx
ne, o ulteriori dischi per lo Storage Array. Si [13] Popek G.J, Goldberg R.P: Formal Requirements
beneficia così di una riduzione dei costi sia in for Virtualizable Third Generation Architectu-
virtù di acquisti in lotto, sia in virtù della ge- res. Communication of the ACM, July 1974.
stione centralizzata dell’hardware e della
elevata standardizzazione delle componenti.
[14] Rosemblum M., Garfinkel T.: Virtual Machine
Monitors: Current Technology and Future
0
Dal punto di vista organizzativo poche per- Trends. IEEE Computer, May 2005.
sone, esperte sui temi della virtualizzazione [15] Salmoria N.: MAME, the Multiple Arcade Machi-
dei sistemi operativi, dei sistemi di calcolo e ne Emulator. http://www.mame.net
disco, delle reti, sono in grado di governare [16] Sites R., et al.: Binary Translation. Comm. ACM,
senza affanno un’architettura come quella Febr. 1993.
descritta, poiché la quota di lavoro mera- [18] Sugerman J., Venkitachalam G., Beng-Hong Lim:
mente gestionale si riduce in modo notevo- Virtualizing I/O devices on VMware Workstation
le, e non scala in modo lineare con il nume- Hosted Virtual Machine Monitor. Proc.Usenix
Annual Technical Conference., June 2001.
ro dei server.
[17] Smith J.E, Ravi Nair: The Architecture of Virtual
Machines. IEEE Computer, May 2005.
Bibliografia [19] Uhlig C., Neiger G., et altri : Intel Virtualization
Tecnology. IEEE Computer, May 2005.
[1] Abramson, at al.: Intel Virtualization Techno- [20] Waldspunger C.: Memory Resource manage-
logy for directed I/O. Intel Technology Journal, ment in VMware ESX Server. ACM SIGOPS Ope-
Vol. 10, Issue 3, 2006. rating Systems Rew, Winter 2002.
[2] Adair R.J., Bayles R.U., Comeau L.W., Creasy [21] Klaiber A.: The technology beyind Crusoe pro-
R.J.: Virtual Machine for the 360/40. IBM Corp., cessors: low-power x86-compatible processors
Cambridge Scientific Center, Report, n. 320- implemented with code morphing software. Te-
2007, May 1966. ch. brief, Transmeta Corp., 2000.
[3] Adams K., Agesen O.: A Comparison of Softwa-
re and Hardware Techniques for x86 Virtualiza-
tion. ASPLOS’06 Conference Proceedings, Oc-
tober 21–25, 2006, San Jose, California, USA.
SIMONE BALBONI è responsabile dei sistemi e servizi di
[4] AMD Corporation: AMD64 Virtualization Codena- rete presso il Centro Servizi Informatici d’Ateneo del-
med “Pacifica” Technology: Secure Virtual Ma- l’Università di Bologna (CeSIA). Ha conseguito il dot-
chine. Architecture Reference Manual, May 2005. torato di ricerca in Fisica computazionale ed è autore
[5] AA.VV.: User Mode Linux. 2006, http://user- di alcuni articoli sul calcolo scientifico, sulle trasmis-
mode-linux.sourceforge.net/ sione in rete di dati multimediali, sulla sicurezza
informatica.
[6] Barham P., Dragovic B., Fraser K., Hand S., Harris
E-mail: simone.balboni@unibo.it
T., Ho A., Neugebauer R., Pratt I., Warfield A.: Xen
and the Art of Virtualization. Proc. of the 19-th MAURELIO BOARI è professore ordinario di calcolatori
ACM SIGOPS, October 2003. elettronici presso la Facoltà di Ingegneria dell'Uni-
[7] Bellard F.: QEMU opensource process emulator,
2006. http://fabrice.bellard.free.fr/qemu/
versità di Bologna. È autore di numerosi articoli
scientifici ed alcuni libri. Ha interessi di ricerca nel
1
settore dei sistemi distribuiti, linguaggi di program-
[8] Creasy R.J.: The Origin of the VM/370 Time Sha- mazione e sistemi operativi. È attualmente delegato
ring System. IBM J., Research and Develop-
ment, Semptember 1981.
del Rettore per l'informatica e le reti di Ateneo.
E-mail: maurelio.boari@unibo.it
0

49
M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 7