Vous êtes sur la page 1sur 22

Faculte des Sciences

Departement dInformatique
La Virtualisation
Francois Santy
Projet de Recherche et Communication Scientique
Annee academique 2009 - 2010
Table des mati` eres
1 Introduction 1
2 D enition 2
3 Les domaines de la virtualisation 2
3.1 La virtualisation dapplications . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2 La virtualisation de r eseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3 La virtualisation de stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.4 La virtualisation de serveurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Les avantages de la virtualisation 5
5 Les inconv enients de la virtualisation 7
6 Les principes de la virtualisation 8
6.1 Vocabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.2 Pr erequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.3 Th eor` emes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.4 Composants dun hyperviseur . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7 Les probl` emes li es ` a la virtualisation 11
8 La virtualisation mat erielle 13
9 Les di erents types de virtualisation 14
9.1 Machine virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.2 Para-virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
9.3 Virtualisation au niveau du syst` eme dexploitation . . . . . . . . . . . . . . . . 16
10 Conclusion 18
A Les 18 instructions probl ematiques de x86 20
1 INTRODUCTION
1 Introduction
La virtualisation est un outil qui change radicalement lapproche de linformatique en
repoussant les limites de nos ordinateurs. Il sagit dune technologie ` a la port ee de tous, du
particulier qui souhaite ex ecuter en toute s ecurit e une distribution Linux sur sa plate-forme
Windows, aux grandes entreprises qui souhaitent rentabiliser davantage leur infrastructure
informatique.
Dans ce document, nous commencerons par pr esenter bri` evement les di erents domaines
de la virtualisation, pour nous concentrer ensuite plus particuli` erement sur la virtualisation
des serveurs.
Apr` es avoir pr esent e lhistorique de cette technologie nous explorerons les avantages et
les inconv enients quelle pr esente.
Nous nous attarderons ensuite sur la th eorie de Popek et Goldberg, deux chercheurs
am ericains qui se sont rapidement int eress es ` a la virtualisation et en ont pos e les bases.
Nous nous rendrons compte par la suite que les ordinateurs actuels ne respectent mal-
heureusement pas compl` etement cette th eorie, et que cela pose de nombreux probl` emes en
terme dimpl ementation des syst` emes de virtualisation.
Nous montrerons par apr` es quil est possible de r esoudre ces probl` emes au moyen de
technologies mat erielles daide ` a la virtualisation.
Nous terminerons notre analyse par une rapide pr esentation des grandes classes de
strat egies de virtualisation.
1 / 20
3 LES DOMAINES DE LA VIRTUALISATION
2 D enition
Virtualization is a term that refers to the abstraction of computer resources.
[...] virtualization is a framework or methodology of dividing the resources of
a computer into multiple execution environments, by applying one or more concepts
or technologies such as hardware and software partitioning, time-sharing, partial or
complete machine simulation, emulation, quality of service, and many others. [14]
Virtualization is the creation of a virtual (rather than actual) version of some-
thing, such as an operating system, a server, a storage device or network resources. [1]
Nous voyons que la virtualisation repose sur trois el ements importants :
1. Labstraction des ressources informatiques ;
2. La r epartition des ressources par linterm ediaire de di erents outils, de mani` ere ` a ce
que celles-ci puissent etre utilis ees par plusieurs environnements virtuels ;
3. La cr eation denvironnements virtuels.
Ces trois concepts fondamentaux nous am` enent ` a donner la d enition suivante de la
virtualisation :
La virtualisation est un processus qui va permettre de masquer les caract eristiques
physiques dune ressource informatique de mani` ere ` a simplier les interactions entre cette
ressource et dautres syst` emes, dautres applications et les utilisateurs. Elle va permettre
de percevoir une ressource physique comme plusieurs ressources logiques et, invers ement,
de percevoir plusieurs ressources physiques comme une seule ressource logique.
3 Les domaines de la virtualisation
3.1 La virtualisation dapplications
La virtualisation dapplication est une technologie logicielle qui va permettre dam eliorer
la portabilit e et la compatibilit e des applications en les isolant du syst` eme dexploitation sur
lequel elles sont ex ecut ees. Elle consiste ` a encapsuler lapplicationet soncontexte dex ecution
syst` eme dans un environnement cloisonn e. La virtualisation dapplication va n ecessiter la-
jout dune couche logicielle suppl ementaire entre un programme donn e et le syst` eme d-
exploitation; son but est dintercepter toutes les op erations dacc` es ou de modication de
chiers ou de la base de registre
1
an de les rediriger de mani` ere totalement transparente
vers une localisation virtuelle (g en eralement un chier). Puisque cette op eration est trans-
parente, lapplication na pas notion de son etat virtuel. Le terme virtualisation dapplication
est trompeur puisquil ne sagit pas de virtualiser lapplication mais plut ot le contexte au
sein duquel elle sex ecute (registres du processeur, syst` eme de chiers,...).
F. 1 Virtualisation dapplications
1
La base de registre est utilis ee par les syst` emes Windows qui y renseignent les donn ees de conguration du
syst` eme dexploitation et des autres logiciels install es
2 / 20
3 LES DOMAINES DE LA VIRTUALISATION
La virtualisation dapplications a de nombreux avantages : elle permet dex ecuter des
applications qui ont et e d evelopp ees pour dautres environnements dex ecution (p. ex. Wine
permet dex ecuter des applications Windows sur une plateforme Linux) ; elle prot` ege le
syst` eme dexploitation h ote en sassurant que lapplication virtualis ee ne viendra pas inter-
agir avec les chiers de conguration du syst` eme ; elle evite de faire appel ` a une machine
virtuelle qui consomme plus de ressources ; elle autorise lex ecution de code incorrect (p. ex.
une application pourrait vouloir ecrire un chier dans un r epertoire syst` eme dont elle ne
poss` ede que les droits en lecture).
3.2 La virtualisation de r eseaux
De mani` ere g en erale, la virtualisation des r eseaux consiste ` a partager une m eme infras-
tructure physique (d ebit des liens, ressources CPU des routeurs,...) au prot de plusieurs
r eseaux virtuels isol es. Un VLAN (Virtual Local Area Network) est un r eseau local regroupant
un ensemble de machines de facon logique et non physique. Puisquun VLAN est une entit e
logique, sa cr eation et sa conguration sont r ealis ees de mani` ere logicielle et non mat erielle.
On distingue plusieurs types de r eseaux virtuels :
Les r eseaux virtuels de niveau 1, appel es r eseaux virtuels par port (port-based VLAN) :
ils d enissent un r eseau virtuel en fonction des ports de raccordement sur le com-
mutateur (switch). Ainsi, chaque port du commutateur est associ e ` a un r eseau virtuel,
ind ependamment de la machine qui y est physiquement raccord ee. Le principal in-
conv enient dun VLAN de niveau 1 est sa rigidit e : si une station se raccorde physique-
ment au r eseau par linterm ediaire dun autre port du commutateur, alors il est
n ecessaire de recongurer ce commutateur an de r eint egrer la station dans le bon
r eseau virtuel.
Les r eseaux virtuels de niveau 2, appel es r eseaux virtuels par adresse MAC (MAC
address-based VLAN) : ils consistent ` a d enir un r eseau virtuel sur base des adresses
MACdes stations. Une adresse MACest unidentiant unique impl ement e dans chaque
adaptateur r eseau. Ce type de VLAN est beaucoup plus souple que le pr ec edent car il
est ind ependant de la localisation de la machine.
Les r eseaux virtuels de niveau 3. On distingue principalement deux types de VLAN
de niveau 3 :
Les r eseaux virtuels par adresse de sous-r eseau (Network address-based VLAN) : ils
d eterminent les r eseaus virtuels sur base de ladresse IPsource des segments. Ce type
de r eseau virtuel est tr` es exible puisque les commutateurs adaptent automatique-
ment leur conguration lorsquune station est d eplac ee. En revanche, une l eg` ere
d egradation des performances peut se faire resentir puisque les segments doivent
etre analys es plus minutieusement.
Les r eseaux virtuels par protocole (Protocol-based VLAN). Dans ce cas, les r eseaux
virtuels sont cr e es sur base des protocoles utilis es (TCP/IP, IPX,...) et les stations sont
regroup ees en r eseaux virtuels suivant le protocole quelles utilisent.
Les avantages quorent les r eseaux virtuels sont les suivants : une r eduction du trac de
diusion (broadcast) puisque celui-ci est ` a pr esent contenu au sein de chaque r eseau virtuel ;
une s ecurit e accrue puisque linformation est encapsul ee dans une couche suppl ementaire ;
une meilleure exibilit e puisquune modicationde la structure des r eseaux peut etre r ealis ee
en modiant la conguration du commutateur.
3.3 La virtualisation de stockage
La virtualisation de stockage est un proc ed e qui va s eparer la repr esentation logique et la
r ealit e physique de lespace de stockage. Son but est de faire abstraction des p eriph eriques
de stockage utilis es et des interfaces qui leur sont associ es (SATA, SCSI,...) an de limiter
limpact des modications structurelles de larchitecture de stockage.
3 / 20
3 LES DOMAINES DE LA VIRTUALISATION
F. 2 R eseaux virtuels
Ce type de virtualisation fait appel ` a une application dadministration de volumes
logiques (Logical Volume Manager, LVM). Il sagit dune couche logicielle qui va permettre de
regrouper plusieurs espaces de stockage, appel es volumes physiques, pour ensuite d ecouper
cet espace global suivant la demande en partitions virtuelles appel ees volumes logiques. Ce
processus de virtualisation peut etre vu comme une extension du mod` ele de partitionnement
classique des disques dur.
La virtualisation de stockage permet :
dadjoindre un p eriph erique de stockage suppl ementaire sans interruption des ser-
vices ;
de regrouper des unit es de disques durs de di erentes vitesses, de di erentes tailles et
de di erents constructeurs ;
de r eallouer dynamiquement de lespace de stockage. Ainsi, un serveur n ecessitant
un espace de stockage suppl ementaire pourra rechercher des ressources non allou ees
sur le disque logique. Invers ement, un serveur n ecessitant moins despace de stockage
pourra lib erer cet espace et le rendre disponible pour dautres serveurs.
F. 3 Virtualisation de stockage
4 / 20
4 LES AVANTAGES DE LA VIRTUALISATION
3.4 La virtualisation de serveurs
La virtualisationdes serveurs consiste ` a masquer les ressources duserveur, c.-` a-d. le nom-
bre et les caract eristiques de chaque machine physique, de chaque processeur et de chaque
syst` eme dexploitation pour les utilisateurs de ce serveur. Ladministrateur du serveur va
utiliser un logiciel gr ace auquel il va diviser un serveur physique (constitu e ou non de
plusieurs machines distinctes) en plusieurs environnements virtuels isol es les uns des autres.
Ces environnements isol es sont parfois appel es serveurs priv es virtuels, h otes, instances, con-
taineurs ou emulations.
La virtualisation de serveurs sinscrit dans une tendance globale qui tend ` a promou-
voir la virtualisation au sein des entreprises en faisant notamment appel ` a la virtualisation
de stockage et ` a la virtualisation de r eseaux. Cette tendance est une composante dans le
d eveloppement de syst` emes autonomes. Un syst` eme est dit autonome si il est capable de
sauto-g erer sur base de lactivit e quil percoit, sans aucune intervention externe, et en con-
servant les d etails de son impl ementation invisibles pour lutilisateur.
La suite de ce document concerne plus particuli` erement la virtualisation des serveurs.
4 Les avantages de la virtualisation
Au cours des derni` eres ann ees, la virtualisation semble s etre impos ee comme un el ement
incontournable au sein des entreprises et ce sont principalement les serveurs qui sont au
centre de toutes les attentions. La virtualisation pr esente les avantages suivants :
1. Une optimisation de linfrastructure. La virtualisation permet doptimiser la charge
de travail des serveurs physiques. En eet, il y a quelques ann ees, la relation une ap-
plication un serveur etait encore largement r epandue. Cependant, comme le montre
le sch ema 4, cette relation introduit un gaspillage important des ressources puisquon
estime que la charge moyenne dun serveur se situe entre 5% et 15% [4]. Lid ee est alors
F. 4 Rendement dun serveur en
labsence de virtualisation
F. 5 Rendement dun serveur en
pr esence de virtualisation
de r ecup erer ces ressources disponibles an den faire b en ecier dautres applications.
La virtualisation va apporter une solution ecace : plut ot que de faire tourner une
seule application sur le serveur physique, on va installer sur celui-ci plusieurs serveurs
virtuels ex ecutant chacun une application bien pr ecise, et cest le logiciel de virtu-
alisation qui se charge de r epartir equitablement les ressources entre les di erentes
instances. De cette mani` ere, comme le montre le sch ema 5, on optimise le rendement
de chacun des serveurs physiques.
2. Une r eduction de linfrastructure physique et des economies d energies. Les centres
de donn ees sont dimportants consommateurs de ressources. VMware arme quun
serveur au repos consomme jusqu` a 30% du pic de consommation electrique et selon
5 / 20
4 LES AVANTAGES DE LA VIRTUALISATION
Intel, 36,4% de l energie est utilis ee par les composants physiques des serveurs (pro-
cesseurs, m emoire,...) tandis que les 63,6%restants sont consomm es par les equipements
de climatisation. Ces chires sont interpelants et la virtualisation de linfrastructure
dune entreprise doit devenir un de ses projets prioritaires. Puisque plusieurs appli-
cations peuvent ` a pr esent cohabiter de mani` ere ecace sur un m eme syst` eme, les
entreprises vont pouvoir r eduire le nombre de machines de leur centre de donn ees
en investissant ` a nouveau dans dimportants mainframes avec lesquels r eapparat le
mod` ele de centralisation de la puissance de calcul. Par cons equent, les entreprises
font des economies en terme despace mais aussi en terme de frais de ventilation et
dalimentation. La r eduction des co uts dalimentation et de refroidissement sinscrit
F. 6 Centre de calcul distribu e
F. 7 Centre de calcul cen-
tralis e
egalement dans une tendance g en erale ` a la promotion du respect de lenvironnement.
Selon Gartner, une entreprise am ericaine de conseil et de recherche dans le domaine des
techniques avanc ees, lindustrie informatique serait responsable de 2% des emissions
mondiales de CO2. La virtualisation aurait permis d economiser 5 milliards de kWh
d energie electrique (source :VMware).
3. Une reprise automatique lors des incidents. La virtualisation permet dam eliorer la
pr evention et la gestion des pannes ainsi que le plan de reprise de lactivit e du syst` eme.
En eet, les equipements virtuels etant constitu es dun ensemble de chiers, il est tr` es
simple de les sauvegarder. Si un probl` eme survient sur une machine physique, les
chiers qui ont et e sauvegard es auparavant pourront rapidement etre restaur es sur une
autre machine physique, en attendant que la machine virtuelle initiale soit red emarr ee.
4. Une optimisation de la s ecurit e des donn ees. Par la centralisation des ressources ap-
plicatives au sein du centre de donn ees, la virtualisation contribue ` a s ecuriser lacc` es
et lusage des donn ees de lentreprise. Il est en eet beaucoup plus simple de contr oler
lacc` es aux donn ees lorsquelles sont regroup ees en un lieu que lorsquelles sont
r eparties sur lensemble des sites de lentreprise, comme cest le cas dans un mod` ele
dinformatique distribu e. Il est n eanmoins indispensable de disposer dun syst` eme
de synchronisation qui permettra de sauvegarder lensemble des informations sur un
site ext erieur. De cette mani` ere, on limite les risques li es ` a la destruction du centre de
donn ee initial.
5. Une facilit e de migration. La virtualisation apporte la possiblit e de migrer facilement
un environnement virtuel dune machine physique vers une autre, facilitant ainsi la
mise ` a jour du centre de donn ee ou le remplacement de mat eriel d efectueux.
De nombreux outils daide ` a la migrationont et e d evelopp es. Ils peuvent etre regroup es
en3 grandes cat egories : P2V(Physical to Virtual), V2P(Virtual to Physical) et V2V(Virtual
6 / 20
5 LES INCONV

ENIENTS DE LA VIRTUALISATION
to Virtual). Les outils P2V sont g en eralement utilis es dans les projets de virtualisation
dune infrastructure informatique. Ils consistent ` a convertir les serveurs physiques en
serveurs virtuels. Les outils V2P, qui permettent de convertir des serveurs virtuels
en serveurs physiques, sont peu demand es mais une telle fonctionnalit e rassure les
entreprises qui souhaitent utiliser de la virtualisation; elle leur permet, si elles le
d esirent, de faire marche arri` ere. Enn, les outils V2V, qui permettent de convertir
des serveurs virtuels dun format dans un autre, sont principalement utilis es au sein
dentreprises qui utilisent des gestionnaires de syst` emes virtuels di erents.
6. Flexibilit e et compatibilit e. La virtualisation est un outil ecace en terme de exibilit e
et de compatibilit e. En eet, elle supprime toute d ependance entre une application
donn ee et et laspect mat eriel de la machine sur laquelle elle est ex ecut ee. Il devient alors
possible dex ecuter sur un syst` eme une application qui a et e d evelopp ee ` a destination
dun autre syst` eme.
7. Uncloisonnement. Le d eveloppement dune applicationsaccompagne n ecessairement
de phases de tests aucours desquelles le programmeur sassure dubonfonctionnement
et de la stabilit e de son logiciel. N eanmoins, il est parfois risqu e dex ecuter une ap-
plication lorsque lon nest pas certain du r esultat qui sera produit. Pour r eduire les
risques li es ` a des applications peu ables, la virtualisation peut etre utilis ee pour cr eer
des environnements isol es et s ecuris es qui vont servir de plateformes dessai. Il devient
d` es lors possible dit erer un grand nombre de fois un processus de test sans craindre
de d estabiliser la machine physique sur laquelle sex ecute lapplication.
5 Les inconv enients de la virtualisation
1. Un point de d efaillance unique. Il sagit probablement du plus gros d esavantage de la
virtualisation. Puisque plusieurs environnements virtuels sex ecutent sur une unique
machine physique, si cette machine tombe en panne, alors les services fournis par les
environnements virtuels sont interrompus.
2. Unrecours ` a des machines puissantes. Lavirtualisationpermet de r ealiser des economies
puisque moins de machines physiques sont n ecessaires. N eanmoins, les outils de vir-
tualisations sont des applications tr` es gourmandes en ressources et n ecessitent des
machines puissantes. Il est evidemment possible dutiliser la virtualisation sur des
machines plus modestes, mais un manque de m emoire ou de capacit e CPU peut faire
chuter les performances de mani` ere dramatique.
3. Une d egradation des performances. Bien quelle soit impl ement ee sur des machines
puissantes, la virtualisation peut r eduire les performances des applications. Suivant le
type de virtualisation envisag e, cette perte de performances peut ou non etre signica-
tive. Ce probl` eme est dautant plus embarassant quil est dicile destimer ` a lavance
limpact quaura la virtualisation sur une application donn ee. Dans certains cas, la
d egradation des performances est telle quil est pr ef erable de conserver lapplication
dans un environnement physique.
4. Une complexit e accrue de lanalyse derreurs. La virtualisation dun serveur implique
des changements importants dans linfrastructure du syst` eme. La couche de virtuali-
sation vient sajouter aux autres et apporte potentiellement avec elle un ensemble de
nouveaux probl` emes. La dicult e de cette couche additionnelle r eside dans le fait
que, si quelque chose ne fonctionne pas correctement, la localisation du probl` eme peut
demander des eorts consid erables.
5. Une impossibilit e de virtualisation. Bien que, dans la plupart des cas, il nest pas
possible de pr edire si une application se comportera normalement une fois virtualis ee,
il existe des applications qui sont connues pour rencontrer des dicult es lors de
leur virtualisation. Les bases de donn ees sont un exemple de telles applications. En
eet, les bases de donn ees ont recours ` a de nombreux acc` es disques et le d elai dacc` es
suppl ementaire introduit par la virtualisationpeut dans certaincas rendre lapplication
inutilisable.
7 / 20
6 LES PRINCIPES DE LA VIRTUALISATION
6. Un d eploiement massif de serveurs. Il ne sagit pas r eellement dun d esavantage de
la virtualisation en tant que tel, mais dun d esavantage de la facilit e de mise en place
dun nouvel environnement virtuel. En eet, certains administrateurs estiment quil
est plus s ecurisant de d eployer un serveur dans un nouvel environnement virtuel, isol e
des autres, plut ot quau sein dun syst` eme dexploitation qui ex ecute simultan ement
dautres applications. Cependant, ladministration et les co uts dune telle op eration
ajoutent une charge suppl ementaire quil est dicile destimer ` a lavance.
7. Un probl` eme de standardisation. La virtualisation est une technologie largement
r epandue mais elle ne fait lobjet daucun protocole de normalisation. Il nexiste par
cons equent aucun outil standard aux di erentes formes de virtualisation.
6 Les principes de la virtualisation
Gerald J. Popek et Robert P. Goldberg sont deux chercheurs en informatique qui, en
1974, ont pos e les bases de la virtualisation. Leur article [11], publi e dans le Communications
of the ACM (Association for Computing Machinery) de juillet 1974, discute les possibilit es de
virtualisation des architecture de troisi` eme g en eration. A lheure actuelle, on distingue cinq
g en erations darchitectures :
1. La premi` ere g en eration, de 1940 ` a 1956 : les tubes sous vide. Les premiers ordina-
teurs utilisaient des tubes sous vide pour r ealiser des calculs num eriques et stockaient
les r esultats dans de la m emoire primaire mat erialis ee sous la forme de tambours
magn etiques (magnetic drums). Les op erations dentr ees (inputs) se faisaient ` a laide
de cartes perfor ees et les op erations de sorties (outputs) etaient r ealis es sous forme
dimpressions.
2. La deuxi` eme g en eration, de 1956 ` a 1963 : les transistors. Invent es en 1947 par les
Bell Laboratories, ce nest qu ` a partir des ann ees 1950 quils se d eploient et viennent
remplacer les tubes sous vide. Les transistors sont devenus un composant cl e dans
la fabrication de tout circuit digital et disposent de nombreux avantages par rapport
aux tubes sous vide : ils sont plus petit, consomment moins d energie et sont moins
sujets aux pannes. Les op erations dentr ees/sorties sont similaires aux ordinateurs de
premi` ere g en eration.
3. La troisi` eme g en eration, de 1964 ` a 1971 : les circuits int egr es. Le d eveloppement des
circuits int egr es sest impos e comme la raison d etre des architectures de troisi` eme
g en eration. Les transistors sont miniaturis es et plac es sur des puces en silicium, appel e
semiconducteur, ce qui a pour eet daccrotre consid erablement la vitesse et lecacit e
des ordinateurs de l epoque. Les ordinateurs de troisi` eme g en eration r evolutionnent
egalement les interactions avec lutilisateur. Les cartes perfor ees sont remplac ees par
un clavier et les moniteurs prennent la place des impressions. De plus, lutilisation
dun syst` eme dexploitation permet de g erer lex ecution de plusieurs programmes
simultan ement.
4. La quatri` eme g en eration, de 1971 ` a aujourdhui : les microprocesseurs. Des milliers de
circuits int egr es sont assembl es sur une seule puce en silicium pour donner naissance
` a lunit e centrale de traitement (Central Processing Unit, CPU) qui equipe ` a lheure
actuelle tous les ordinateurs. Ce qui, dans les ann ees 1960, n ecessitait une pi` ece enti` ere
tient ` a pr esent dans la paume de la main. Cette quatri` eme g en eration dordinateur
a egalement vu apparatre les interfaces graphiques et la souris qui ont facilit e les
interactions avec lutilisateur.
5. La cinqui` eme g en eration : lintelligence articielle. Bien quelle soit toujours en cours
de d eveloppement, certaines applications des ordinateurs de cinqui` eme g en eration,
comme la reconnaissance vocale, sont d ej ` a largement r epandues. Le d eveloppement
de cette technologie a pour but de rendre le comportement des ordinateur similaire ` a
celui des humains.
8 / 20
6 LES PRINCIPES DE LA VIRTUALISATION
6.1 Vocabulaire
Avant de poursuivre notre analyse, il est n ecessaire de d enir deux termes qui seront
largement utilis es dans la suite de ce document :
Une machine virtuelle (Virtual Machine, VM) : il sagit dune reproduction isol ee et
ecace dune machine physique. [11]
Un hyperviseur ou contr oleur de machine virtuelle (Virtual Machine Monitor, VMM) :
il sagit dun logiciel qui va cr eer et g erer lex ecution dun certain nombre de machines
virtuelles. Popek et Goldberg ont etabli trois contraintes que doivent respecter les
contr oleurs de machines virtuelles pour pouvoir etre consid er es en tant que tels :
1. Crit` ere d equivalence :
Any program run under the VMM should exhibit an eect identical with that
demonstrated if the program had been run on the original machine directly, with
the possible exception of dierences caused by the availability of systemresources
and dierences caused by timing dependencies.
Ce crit` ere impose que tout programme doit montrer un comportement simi-
laire, quil soit ex ecut e au travers dun syst` eme de virtualisation ou bien directe-
ment sur la machine physique, ` a lexception dune eventuelle indisponibilit e des
ressources ou de contraintes temporelles. Les contraintes temporelles sont dues
` a la couche logicielle de virtualisation qui intervient et ` a lexistence dautres ma-
chines virtuelles.
2. Crit` ere decacit e :
The second characteristic of a virtual machine monitor is eciency. It demands
that a statistically dominant subset of the virtual processors instructions be
executed directly by the real processor, with no software intervention by the
VMM.
Cette contrainte exige quune majorit e des instructions du processeur virtuel
soient directement ex ecut ees par le processeur physique et ce, sans intervention
du syst` eme de virtualisation. La virtualisation mat erielle (voir 8) permet de mieux
r epondre ` a cette contrainte. Ce crit` ere exclut les syst` emes purement logiciels
(simulations) ainsi que l emulation.
3. Crit` ere de contr ole des ressources :
The VMMis said to have complete control of these resources if it is not possible for
a program running under it in the created environment to access any resource
not explicitly allocated and it is possible under certain circumstances for the
VMM to regain control of resources already allocated.
Ce crit` ere impose au syst` eme de virtualisation davoir un contr ole total des
ressources. Un programme virtualis e ne doit pas avoir la possibilit e dacc eder ` a
une ressources autrement quau travers du syst` eme de virtualisation et ce dernier
se r eserve le droit de reprendre le contr ole dune ressource ` a nimporte quel mo-
ment. Le terme ressource se r ef` ere ` a la m emoire et aux autres p eriph eriques, pas
uniquement au processeur.
6.2 Pr erequis
Les pr erequis enonc es par Popek et Goldberg sont un ensemble de conditions n ecessaires
assurant ` a une architecture mat erielle de supporter ecacement le processus de virtualisa-
tion.
Le probl` eme est de d eterminer les caract eristiques que doit poss eder le jeu dinstructions
dun processeur an de r epondre de mani` ere ecace aux contraintes evoqu ees en 6.1. Le
jeu dinstructions (Instruction Set Architecture, ISA) est lensemble des instructions quun
processeur est en mesure dex ecuter. Pour enoncer leurs th eor` emes, Popek et Goldberg ont
class e les instructions de lISA en 3 groupes :
9 / 20
6 LES PRINCIPES DE LA VIRTUALISATION
F. 8 Le sch ema dhyperviseur et de machine virtuelle pr esent e dans larticle de Popek et
Goldberg de 1974 [11]
Les instructions privil egi ees : pour les ex ecuter, le processeur doit etre dans un mode
particulier, le mode privil egi e. Si le processeur ne se trouve pas dans cet etat, une
interruption est d eclench ee et linstruction est pi eg ee (trapped). Linterruption consiste
en un changement de contexte au cours duquel le syst` eme (que ce soit lOS h ote ou
lhyperviseur) d ecide de la suite ` a donner ` a cette instruction.
Les instructions sensibles ` a la conguration : ce sont les instructions qui ont la possi-
bilit e dinterroger ou de modier la conguration du syst` eme comme par exemple le
mode du processeur ou la quantit e de m emoire allou ee ` a un processus particulier.
Les instructions sensibles au comportement : il sagit des instructions dont le com-
portement ou le r esultat va d ependre de l etat ou la disponibilit e des ressources (si le
processeur se trouve en mode privil egi e ou non,...).
6.3 Th eor` emes
Les r esultats de lanalyse de Popek et Golberg peuvent s enoncer suivant 2 th eor` emes :
Th eor` eme 1
For any conventional third generation computer, a VMM may be constructed if
the set of sensitive instructions for that computer is a subset of the set of privileged
instructions.
De mani` ere intuitive, le th eor` eme arme que pour construire un hyperviseur pour une
architecture particuli` ere, il est n ecessaire que les instructions qui pourraient compro-
mettre le bon fonctionnement de cet hyperviseur (instructions sensibles ` a la congura-
tion) soient pi eg ees et que le contr ole soit donn e ` a lhyperviseur. Ceci garantit le crit` ere
de contr ole des ressources. Les instrutions non privil egi ees, quant ` a elles, doivent etre
ex ecut ees sans intervention de lhyperviseur an de garantir le crit` ere decacit e.
Remarquons que si les instructions sensibles ` a la congurations ne font pas par-
tie des instructions privil egi ees, alors, en vertu du crit` ere decacit e, elles seront
ex ecut ees sans intervention de lhyperviseur et par cons equent, le crit` ere de contr ole
des ressources nest pas respect e.
Une d emonstration plus rigoureuse de ce th eor` eme est pr esent ee dans larticle original
de Popek et Goldberg [11].
Th eor` eme 2
A conventional third generation computer is recursively virtualizable if 1) it is
virtualizable and 2) a VMM [...] can be constructed for it.
10 / 20
7 LES PROBL
`
EMES LI

ES
`
A LA VIRTUALISATION
Le second th eor` eme porte sur la possibilit e de faire de la virtualisation r ecursive, cest
` a dire dex ecuter une ou plusieurs machines virtuelles au sein dune machine virtuelle.
Ce th eor` eme arme que ce processus est r ealisable pour autant que larchitecture
mat erielle r eponde au premier th eor` eme et quun hyperviseur puisse etre d evelopp e
pour cette architecture.
6.4 Composants dun hyperviseur
Lhyperviseur, ou programme de contr ole, est un logiciel constitu e dun ensemble de
modules. Les modules dun hyperviseur peuvent etre regroup es en trois cat egories :
1. Le r egulateur (dispatcher) : il peut etre consid er e comme le module de contr ole de plus
haut niveau de lhyperviseur. Son r ole est de donner le contr ole ` a un des modules de
la deuxi` eme ou de la troisi` eme cat egorie.
2. Lallocateur : son r ole est de d eterminer quelle(s) ressource(s) doivent etre allou ees
aux applications virtualis ees. Il est egalement du ressort de lallocateur de ne pas
donner une m eme ressource simultan ement ` a deux environnements virtuels distincts.
Le r egulateur fera appel ` a lallocateur chaque fois quun environnement virtuel tentera
dex ecuter une instruction privil egi ee qui aurait comme r epercution de modier les
ressources allou ees ` a cet environnement virtuel.
3. Des interpr eteurs : ` a chacune des instructions privil egi ees (` a lexception de celles qui
sont prises en charge par lallocateur), on va associer une routine dinterpr etation. Le
r ole de ces routines est de simuler le r esultat des instructions privil egi ees qui sont
pi eg ees.
F. 9 Modules dun hyperviseur
7 Les probl` emes li es ` a la virtualisation
Les probl` emes actuels de la virtualisation sont principalement li es ` a lomnipr esence de
larchitecture x86 au sein des ordinateurs. Bien que largement r epandu, le jeu dinstruc-
tions qui la compose nest pas exempt de d efauts. Si cette architecture se pr ete mal ` a la
virtualisation, cest ` a cause de 18 instructions dites critiques. Ces instructions critiques sont
des instructions sensibles ` a la conguration mais qui ne font pas partie des instructions
privil egi ees (si ces notions ne sont pas claires, nous renvoyons le lecteur au point 6.2).
Dun point de vue pratique, les instructions dun processeur sont r eparties en plusieurs
cat egories (ou niveaux dabstraction) appel ees anneaux. Un processeur qui impl emente lar-
chitecture x86 dispose de quatre anneaux o` u chaque anneau correspond ` a un certain niveau
de privil` eges. Si nous appelons D(i) le niveau de privil` ege accord e aux applications qui
sex ecutent sur lanneau i, nous pouvons d enir la relation suivante sur les anneaux :
11 / 20
7 LES PROBL
`
EMES LI

ES
`
A LA VIRTUALISATION
D(3) < D(2) < D(1) < D(0)
Les instructions critiques n ecessitent en th eorie de sex ecuter au niveau de privil` ege le plus
elev e, c.-` a-d. ` a lanneau 0. Le probl` eme de 18 de ces instructions critiques, list ees dans lan-
nexe A, est quelles peuvent egalement sex ecuter aux anneaux 1, 2 et 3. Cela constitue un r eel
probl` eme pour les logiciels de virtualisation. En eet, il ne faut en aucun cas quun syst` eme
virtuel ait la possibilit e de modier les ressources physiques de la machine. Il est donc du
ressort de lhyperviseur dintercepter ces instructions critiques de mani` ere ` a simuler leur
comportement.
Dupoint de vue des instructions privil egi ees, aucunprobl` eme ne se pose : ces instructions
vont etre pi eg ees (puisque le syst` eme virtuel est ex ecut e ` a lanneau 3) et lhyperviseur pourra
les traiter. Mais pour ces 18 instructions critiques, la situation est plus complexe. Comme
elles ne seront pas pi eg ees (puisquelles ne n ecessitent pas un niveau de privil` ege tr` es elev e),
lhyperviseur doit etre en mesure de les d etecter de mani` ere ` a pouvoir les interpr eter. Il en
r esulte evidemment une surcharge de calcul importante ainsi quune grande complexit e de
lhyperviseur.
Dautre part, les syst` emes dexploitation sont concus pour etre ex ecut e au niveau de
privil` eges 0, puisquils sont sens es disposer dun contr ole total des ressources. Or, lorsquils
sont virtualis es, les syst` emes dexploitatation ne sont plus ex ecut es sur lanneau 0, mais
sur lanneau 3. Lhyperviseur doit donc etre en mesure de leurrer le syst` eme dexploitation
virtualis e an que celui-ci ne se rende pas compte quil sex ecute avec un faible niveau de
privil` eges.
Au-del` a des probl` emes li es ` a larchitecture du processeur, la virtualisation se heurte
egalement ` a des probl` emes dadressage m emoire. En eet, le syst` eme virtualis e suppose
quil a acc` es ` a toute la m emoire, ce qui est faux puisquil la partage avec dautres environ-
nements virtuels et avec lhyperviseur. Celui-ci doit donc egalement sassurer que chaque
environnement virtuel nacc` ede pas ` a un espace dadressage m emoire qui ne lui appartient
pas et eectuer la traduction dynamique dadresses virtuelles en adresses physiques.
Enn, les dispositifs dentr ees/sorties constituent ` a lheure actuelle un probl` eme ma-
jeur dans la plupart des logiciels de virtualisation. Sil est plut ot facile dajouter des unit es
de calcul sur un serveur physique an dam eliorer les performances des environnements
virtuels, il nest pas possible daugmenter le d ebit dacc` es aux disques par exemple
2
. De
plus, contrairement au CPU, une grande partie des p eriph eriques sont emul es, ce qui sig-
nie que chaque instruction dacc` es au pilote dun p eriph erique virtuel doit etre traduite
2
Il faudrait pour cela envisager de remplacer tout le mat eriel de stockage existant par du mat eriel plus
performant
12 / 20
8 LA VIRTUALISATION MAT

ERIELLE
en une instruction dacc` es ` a un p eriph erique physique, ce qui fait lourdement chuter les
performances.
8 La virtualisation mat erielle
Introduite pour la premi` ere fois par IBM sur ses syst` emes 370, la virtualisation mat erielle
est une approche de la virtualisation qui vise ` a am eliorer les performances des environ-
nements virtuels en faisant appel aux capacit es mat erielles des composants de la machine
physique, et plus particuli` erement du processeur. Ce chapitre mettra donc laccent sur les
technologies mat erielles de virtualisation impl ement ees au sein des processeurs.
La n ecessit e de d evelopper des solutions de virtualisation assist ees par le processeur a
fait son apparition avec la prolif eration des syst` emes ` a base darchitecture x86. Comme nous
lavons vu au point 7, cette architecture se pr ete tr` es mal ` a la virtualisation et celle-ci n ecessite
un travail consid erable de la part de lhyperviseur. A laide de la virtualisation mat erielle,
lhyperviseur est en mesure de virtualiser correctement lensemble des instructions de lar-
chitecture x86, y compris les 18 instructions critiques qui posent probl` eme.
Les deux principaux fabricants de processeurs sur le march e, Intel et AMD, ont rapide-
ment compris lint er et de ces solutions et, en 2006, ils ont chacun inaugur es une nouvelle
gamme de processeurs incluant une technologie daide mat erielle ` a la virtualisation. Cette
technologie est connue sous le nom de Intel VT-x (anciennement Vanderpool) et AMD-V (an-
ciennement Pacia). Globalement, les technologies des deux concurrents sont semblables et
nous ne les di erencierons pas.
Dun point de vue pratique, ces processeurs incluent un nouveau mode dex ecution ap-
pel e Extension de Machine Virtuelle (Virtual Machine Extension, VMX). Puisque lhyperviseur
et lenvironnement virtuel ne peuvent pas se trouver au m eme niveau de privil` eges (voir
section 7), ce nouveau mode dex ecution va ajouter cinq anneaux suppl ementaires regroup es
en deux niveaux. Le premier, appel e niveau racine correspond ` a un anneau qui se trouverait
sous lanneau 0
3
(le niveau racine a donc un contr ole absolu des ressources). Le second,
appel e niveau normal, correspond aux quatres anciens anneaux (ils sont donc regroup es au
sein dun niveau de privil` eges unique). Puisque lhyperviseur doit g erer la r epartition des
ressources, il sex ecute au niveau racine tandis que les environnements virtuels sex ecutent
au niveau normal.
Pour entrer dans le mode dex ecution virtuel, le processus ex ecute une instruction partic-
uli` ere (VMXON chez Intel) et, sym etriquement, pour quitter le mode virtuel, le processus
ex ecute linstruction inverse (VMXOFF chez Intel). Lorsque lhyperviseur est lanc e, il peut
passer du mode racine au mode normal (et donc, donner le contr ole ` a un environnement
virtuel) ` a laide dune autre instruction(appel ee VMLAUNCHchez Intel) et, sym etriquement,
lhyperviseur reprendra le contr ole et passera au niveau racine au moyen de linstruction
inverse (VMRESUME chez Intel).
Les technologies de virtualisation mat erielle dIntel et AMD impl ementent egalement des
instructions qui permettent dacc el erer les sauvegardes et restaurations de contexte. En eet,
lorsquunhyperviseur veut donner le contr ole ` a unautre environnement virtuel, il doit dune
part sauvegarder le contexte dex ecution de lenvironnement virtuel actuellement actif et,
dautre part, restaurer le contexte dex ecution de lenvironnement virtuel ` a qui il sappr ete ` a
donner le contr ole. Ainsi, ` a chaque environnement virtuel est associ e unsegment enm emoire
de quelques kBytes qui contient les donn ees importantes du contexte dex ecution de cet en-
vironnement. Il est lu ` a chaque activation dun environnement virtuel et r e ecrit ` a chaque
sortie de celui-ci. Chez AMD, ce segment sappelle Bloc de Contr ole de la Machine Virtuelle
(Virtual Machine Control Block, VMCB) ; chez Intel, ce segment sappelle Structure de Contr ole
de la Machine Virtuelle, (Virtual Machine Control Structure, VMCS).
3
il est parfois aussi appel e anneau -1
13 / 20
9 LES DIFF

ERENTS TYPES DE VIRTUALISATION


F. 10 Virtual Machine Extension
9 Les di erents types de virtualisation
Il existe trois approches populaires de virtualisation de serveurs : le mod` ele de machines
virtuelles, le mod` ele de para-virtualisation et la virtualisation au niveau du syst` eme dexploitation.
9.1 Machine virtuelle

Egalement connue sous le nom de virtualisation compl` ete, cette strat egie de virtualisation
consiste ` a cr eer des environnements virtuels qui sont une copie dune machine physique
(m emoire, disques,...). Les machines virtuelles se basent sur deux principes :
1. la traduction binaire des instructions que le noyau du syst` eme virtualis e souhaite
ex ecuter ;
2. lex ecution directe des instructions relatives aux applications utilisateurs.
La traduction binaire ne consiste pas ` a traduire les instructions dun jeu dinstructions par-
ticulier vers un autre (p. ex. x86 RISC), mais plut ot de traduire les instructions dun
jeu dinstructions vers ce m eme jeu dinstructions (p. ex. x86 x86)
4
. Le code traduit est
plac e dans le cache de traduction. La traduction binaire dune instruction issue dun environ-
nement virtuel pourrait par exemple consister ` a remplacer une instruction de manipulation
du mat eriel physique en une instruction de manipulation du mat eriel virtuel associ e ` a cet en-
vironnement, ou ` a remplacer une instruction privil egi ee par une instruction non privil egi ee
(de mani` ere ` a ce quelle soit pi eg ee par lOS h ote). La traduction binaire repose donc sur un
travail danalyse des instructions ex ecut ees par le noyau du syst` eme invit e. Cette traduction
peut sav erer indispensable pour assurer le maintien de la stabilit e du syst` eme dans sa glob-
alit e
5
.
4
Parfois, la traduction consiste simplement ` a recopier linstruction de d epart
5
Le syst` eme h ote ainsi que les autres environnements virtuels
14 / 20
9 LES DIFF

ERENTS TYPES DE VIRTUALISATION


F. 11 Intel VT-x
F. 12 Virtualisation compl` ete : ` a gauche, lhyperviseur g` ere lui m eme le hardware sous-
jacent ; ` a droite, lhyperviseur transmet les requ etes aux syst` eme dexploitation h ote
Les instructions utilisateurs sont quant ` a elles ex ecut ees directement car lhyperviseur
fait la supposition quelles ne sont pas dangeureuses pour le syst` eme
6
. Elle sex ecutent donc
comme sil nexistait aucune couche de virtualisation.
Il existe deux types de machines virtuelles : celles o` u lhyperviseur est une application
install ee sur un syst` eme dexploitation h ote, et celles o` u lhyperviseur est install e en lieu et
place du syst` eme dexploitation h ote.
Avantages :
permet de faire fonctionner plusieurs syst` emes di erents sur lam eme machine physique ;
bonnes performances et stabilit e.
Inconv enients : consommation importantes des ressources (la consommation est fonction
du nombre de machines virtuelles).
Exemples : Microsoft Virtual PC, Microsoft Virtual Server, VirtualBox, VMware Workstation.
Selon VMware, la virtualisation compl` ete est actuellement la strat egie de virtualisation
la plus largement r epandue et la plus able.
6
Elles seront de toute facon pi eg ees une fois trait ees par le syst` eme h ote
15 / 20
9 LES DIFF

ERENTS TYPES DE VIRTUALISATION


9.2 Para-virtualisation
La para-virtualisation consiste pour le syst` eme dexploitation virtualis e ` a communiquer
plus ecacement avec lhyperviseur de mani` ere ` a accrotre les performances du syst` eme.
Cette strat egie de virtualisation est egalement connue sous le nomde virtualisation assist ee par
le syst` eme dexploitation(invit e). La para-virtualisationimplique une modicationdunoyaudu
syst` eme dexploitation virtualis e an de remplacer les instructions non virtualisables par des
hyper-appels (hypercalls) qui vont communiquer directement avec la couche virtuelle de lhy-
perviseur. Lhyperviseur fournit egalement un ensemble dinterfaces dhyper-appels pour
dautres op erations critiques du noyau telles que les op erations de gestion de la m emoire,
des interruptions,...
La para-virtualisation est di erente de la virtualisation compl` ete o` u le syst` eme virtualis e
nest pas conscient de son etat et les instructions critiques sont pi eg ees et traduites. Le prin-
cipal atout de la para-virtualisatio r eside dans ses faibles co uts de virtualisation
7
, mais ses
performances par rapport ` a la virtualisation compl` ete d ependent fortement de la charge de
travail de la machine physique.
Puisque la para-virtualisationne supporte pas les syst` emes nonmodi es (et, par cons equent,
les syst` emes propri etaires tels que Microsoft Windows), sa portabilit e et sa compatibilit e sont
r eduites. La para-virtualisationintroduit egalement des probl` emes de maintenance et de sup-
port au sein denvironnements de d eveloppement puisquelle n ecessite des modications
du noyau du syst` eme.
Avantages : performances accrues et stabilit e.
Inconv enients :
N ecessite une adaptation du noyau des syst` emes invit es ;
Usage limit e aux syst` emes libres (cons equence du point pr ec edent).
Exemples : Xen,Microsoft Hyper-V.
9.3 Virtualisation au niveau du syst` eme dexploitation
La virtualisation au niveau du syst` eme dexploitation est une strat egie qui consiste ` a
r ealiser le processus de virtualisation au niveau du noyau du syst` eme h ote (ce mod` ele ne
fait donc pas intervenir de couche virtuelle suppl ementaire). Cette forme de virtualisation
consiste ` a cr eer des environnements virtuels (appel es conteneurs) qui vont chacun dupli-
quer certains composants du syst` eme dexploitation h ote. Les capacit es de virtualisation
font d` es lors partie int egrante du syst` eme h ote et non plus de lhyperviseur. La principale
contrainte de ce mod` ele de virtualisation r eside dans le fait que les syst` emes invit es doivent
imp erativement etre du m eme type que le syst` eme h ote
8
.
Dans le mod` eles des machines virtuelles, chaque syst` eme virtualis e communique avec
le mat eriel au travers dune couche de virtualisation. Plus le nombre de machines virtuelles
est important et plus le syst` eme est ralentit (il faut en eet traduire un grand nombre
dop erations virtuelles). Par contre, la virtualisation au niveau du syst` eme dexploitation au-
torise les environnements virtuels ` a communiquer directement avec le syst` eme dexploitation
h ote, comme sil nexistait aucune couche de virtualisation, ce qui am eliore les performances.
Comme les partitions de virtualisationauniveaudusyst` eme dexploitationsont g en eralement
bien plus petites que les partitions des machines virtuelles, il est possible dex ecuter un grand
nombre denvironnements virtuels en parall` ele.
Avantages :
permet de faire fonctionner plusieurs instances du m eme syst` eme de facon etanche.
7
Une grande partie du travail de virtualisation a et e r ealis e en modiant le noyau du syst` eme invit e
8
On ne duplique plus virtuellement le mat eriel sous-jacent mais bien des composants logiciels du syst` eme
dexploitation h ote ; il nest donc pas possible dex ecuter des applications qui n ecessiteraient un environnement
dex ecution di erent
16 / 20
9 LES DIFF

ERENTS TYPES DE VIRTUALISATION


F. 13 Virtualisation compl` ete
performances proches du mode natif.
Inconv enients : ne permet de faire fonctionner quun seul type de syst` eme.
Exemples : Linux VServer,Virtuozzo.
17 / 20
10 CONCLUSION
10 Conclusion
Nous avons vu que la virtualisation est une technologie aujourdhui largement r epandue
au sein des entreprises. Elle peut prendre de nombreuses formes et est pr esente ` a tous les
niveaux. Bien que ces solutions pr esentent un certain nombre dinconv enients, les avantages
quelles apportent peuvent sav erer d eterminants dans la politique dacquisition, de struc-
turation et de gestion des ressources informatiques.
Bas ee sur le travail de deux chercheurs am ericains qui ont, dans un document publi e il
y a bient ot 40 ans, impos e au jeu dinstructions des processeurs un certain nombre de con-
traintes an de pouvoir supporter la virtualisation, celle-ci pose aujourdhui de nombreux
probl` emes. En eet, le jeu dinstructions de larchitecture la plus r epandue actuellement ne
respecte pas ces contraintes. Ceci a pour cons equence de complexier le travail des hyper-
viseurs et il en r esulte une d egradation des performances des logiciels de virtualisation.
Le besoin de pallier ces probl` emes sest vite fait ressentir et cest ainsi que sest d evelopp e
un grand nombre de solutions daide ` a la virtualisation directement incluses au sein du
mat eriel qui constitue nos ordinateurs.
Aujourdhui, m eme sil existe beaucoup de logiciels de virtualisation, ceux-ci peuvent
etre regroup es en trois grandes classes : la virtualisation compl` ete, la para-virtualisation et
la virtualisation au niveau du syst` eme dexploitation.
Pour terminer, quel est lavenir de la virtualisation? Lavenir de la virtualisation d epend
dun grand nombre de facteurs. Tout dabord, il est n ecessaire de reconsid erer notre vision
de la technologie an de proter pleinement des avantages li es ` a la virtualisation. Linfor-
matique est une science en constante evolution et il est imp eratif de remettre en question un
grand nombre de principes qui sont aujourdhui largement r epandus. Intel et AMD, bien
quils soient sur la bonne voie, ont encore des eorts ` a faire pour am eliorer le support mat eriel
de la virtualisation inclu dans leur processeurs, de mani` ere ` a supporter plus ecacement
les di erentes technologies pr esentes sur le march e. Les constructeurs de p eriph eriques
dentr ees/sorties doivent etablir de nouvelles normes pour permettre une simplication des
interactions entre les environnements virtuels et les chiers. Enn, les d eveloppeurs sont
tenus de standardiser les di erentes technologies de virtualisation utilis ees ` a lheure actuelle
an de garantir des solutions plus accessibles dans le futur.
18 / 20
R ef erences
[1] Server Virtualization : Covrering todays Server Virtualization topics.
searchservervirtualization.techtarget.com/.
[2] AllExperts. Serveurs et Stockage. www.zdnet.fr/actualites/it-management/0,
3800005311,39711925,00.htm.
[3] AnandTech. Hardware Virtualization : the Nuts and Bolts. www.anandtech.com/IT/
showdoc.aspx?i=3263&p=1.
[4] Arumtec. Pourquoi virtualiser est GREEN. www.arumtec.net/fr/
laboratoire-arumtec/faq/q5-pourquoi-virtualiser-est-green.
[5] AMD Company. AMD Nested Paging. Juillet 2008.
[6] Alain Devarieux. Virtualisation de serveurs, Solutions Open Source.
[7] Gagnaire Laure et Lahoudere Fabien. La virtualisation. D ecembre 2007.
[8] Bernard Golden. Virtualization for Dummies.
[9] Cynthia E. Irvine John Scott Robin. Analysis of the Intel Pentiums Ability to Support a
Secure Virtual Machine Monitor. Ao ut 2000.
[10] Najmi. Generations of Computer. Ao ut 2004.
[11] Popek and Goldberg. Formal Requirements for Virtualizable Third Generation Architectures.
Juillet 1974.
[12] Inc. Red Hat. Virtualization Guide : Red Hat Virtualization. 2007.
[13] Hardware Secrets. Intel Virtualization Technology (VT) Explained. www.hardwaresecrets.
com/article/263/1.
[14] Amit Singh. An introduction to virtualization. www.kernelthread.com/publications/
virtualization/, Janvier 2004.
[15] Genesis Multimedia Solutions. Virtualization Technologies. Juin 2009.
[16] Pascal Verschaeve. Trasys - Service Presentation - Virtualization Service Oerings.
[17] Virtualizationdefrag. The Rise of Virtual Systems and Virtualization.
virtualizationdefrag.com/articles/history-of-virtualization/index.php,
2009.
[18] VMware. Understanding Full Virtualization, Paravirtualization, and Hardware Assist. 2007.
[19] VMware. Historique de la virtualisation. www.vmware.com/fr/overview/history.html,
2008.
[20] ZDnet. Serveurs et Stockage. www.zdnet.fr/actualites/it-management/0,
3800005311,39711925,00.htm.
A Les 18 instructions probl ematiques de x86
SGDT
SIDT
SLDT
SMSW
PUSHF
POPF
LAR
LSL
VERR
VERW
POP
PUSH
CALL
JMP
INT n
RET
STR
MOVE

Vous aimerez peut-être aussi