Documente Academic
Documente Profesional
Documente Cultură
D´epartement d’Informatique
La V i r t u a l i s a t i o n
Fran¸cois Santy
9 Les differents
´ types de virtualisation 14
9.1 Machine virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.2 Para-virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
9.3 Virtualisation au niveau du syst`eme d’exploitation . . . . . . . . . . . . . . . . 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 l’approche de l’informatique en
repoussant les limites de nos ordinateurs. Il s’agit d’une 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 diff erents
´ domaines
de la virtualisation, pour nous concentrer ensuite plus particuli`erement sur la virtualisation
des serveurs.
Apr`es avoir pr´esent´e l’historique de cette technologie nous explorerons les avantages et
les inconv´enients qu’elle 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 d’impl´ementation des syst`emes de virtualisation.
Nous montrerons par apr`es qu’il est possible de r´esoudre ces probl`emes au moyen de
technologies mat´erielles d’aide 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´efinition
“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. L’abstraction des ressources informatiques ;
2. La r´epartition des ressources par l’interm´ediaire de diff erents ´ outils, de mani`ere a` ce
ˆ utilis´ees par plusieurs environnements virtuels ;
que celles-ci puissent etre
3. La cr´eation d’environnements virtuels.
Ces trois concepts fondamentaux nous am`enent a` donner la d´efinition suivante de la
virtualisation :
La virtualisation est un processus qui va permettre de masquer les caract´eristiques
physiques d’une ressource informatique de mani`ere a` simplifier les interactions entre cette
ressource et d’autres syst`emes, d’autres 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.
F . 1 – Virtualisation d’applications
1
La base de registre est utilis´ee par les syst`emes Windows qui y renseignent les donn´ees de configuration du
syst`eme d’exploitation et des autres logiciels install´es
2 / 20
3 LES DOMAINES DE LA VIRTUALISATION
3 / 20
3 LES DOMAINES DE LA VIRTUALISATION
F . 2 – R´eseaux virtuels
F . 3 – Virtualisation de stockage
4 / 20
4 LES AVANTAGES DE LA VIRTUALISATION
de r´ecup´erer ces ressources disponibles afin d’en faire b´en´eficier d’autres applications.
La virtualisation va apporter une solution effi cace : plutotˆ 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 c’est le logiciel de virtu-
´
alisation qui se charge de r´epartir equitablement ´
les ressources entre les diff 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 l’infrastructure physique et des economies
´ d’´energies. Les centres
de donn´ees sont d’importants consommateurs de ressources. VMware affi rme qu’un
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 chiff res sont interpelants et la virtualisation de l’infrastructure
d’une entreprise doit devenir un de ses projets prioritaires. Puisque plusieurs appli-
cations peuvent a` pr´esent cohabiter de mani`ere effi ˆ
cace sur un meme syst`eme, les
entreprises vont pouvoir r´eduire le nombre de machines de leur centre de donn´ees
en investissant a` nouveau dans d’importants mainframes avec lesquels r´eapparaˆıt le
mod`ele de centralisation de la puissance de calcul. Par cons´equent, les entreprises
font des economies
´ en terme d’espace mais aussi en terme de frais de ventilation et
d’alimentation. La r´eduction des couts ˆ d’alimentation et de refroidissement s’inscrit
egalement
´ dans une tendance g´en´erale a` la promotion du respect de l’environnement.
Selon Gartner, une entreprise am´ericaine de conseil et de recherche dans le domaine des
techniques avanc´ees, l’industrie 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 d’am´eliorer la
pr´evention et la gestion des pannes ainsi que le plan de reprise de l’activit´e du syst`eme.
´
En eff et, les equipements ´
virtuels etant constitu´es d’un ensemble de fichiers, il est tr`es
simple de les sauvegarder. Si un probl`eme survient sur une machine physique, les
fichiers 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 l’acc`es
et l’usage des donn´ees de l’entreprise. Il est en eff et beaucoup plus simple de controler ˆ
l’acc`es aux donn´ees lorsqu’elles sont regroup´ees en un lieu que lorsqu’elles sont
r´eparties sur l’ensemble des sites de l’entreprise, comme c’est le cas dans un mod`ele
d’informatique distribu´e. Il est n´eanmoins indispensable de disposer d’un syst`eme
de synchronisation qui permettra de sauvegarder l’ensemble 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 d’une 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 d’aide a` la migration ont et´e´ d´evelopp´es. Ils peuvent etre
ˆ regroup´es
en 3 grandes cat´egories : P2V (Physical to Virtual), V2P (Virtual to Physical) et V2V (Virtual
6 / 20
´
5 LES INCONVENIENTS DE LA VIRTUALISATION
to Virtual). Les outils P2V sont g´en´eralement utilis´es dans les projets de virtualisation
d’une 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. Enfin, les outils V2V, qui permettent de convertir
des serveurs virtuels d’un format dans un autre, sont principalement utilis´es au sein
´
d’entreprises qui utilisent des gestionnaires de syst`emes virtuels diff erents.
6. Flexibilit´e et compatibilit´e. La virtualisation est un outil effi cace en terme de flexibilit´e
et de compatibilit´e. En eff et, elle supprime toute d´ependance entre une application
donn´ee et et l’aspect mat´eriel de la machine sur laquelle elle est ex´ecut´ee. Il devient alors
possible d’ex´ecuter sur un syst`eme une application qui a et´e ´ d´evelopp´ee a` destination
d’un autre syst`eme.
7. Un cloisonnement. Le d´eveloppement d’une application s’accompagne n´ecessairement
de phases de tests au cours desquelles le programmeur s’assure du bon fonctionnement
et de la stabilit´e de son logiciel. N´eanmoins, il est parfois risqu´e d’ex´ecuter une ap-
plication lorsque l’on n’est pas certain du r´esultat qui sera produit. Pour r´eduire les
risques li´es a` des applications peu fiables, la virtualisation peut etre
ˆ utilis´ee pour cr´eer
des environnements isol´es et s´ecuris´es qui vont servir de plateformes d’essai. Il devient
d`es lors possible d’it´erer un grand nombre de fois un processus de test sans craindre
de d´estabiliser la machine physique sur laquelle s’ex´ecute l’application.
7 / 20
6 LES PRINCIPES DE LA VIRTUALISATION
8 / 20
6 LES PRINCIPES DE LA VIRTUALISATION
6.1 Vocabulaire
Avant de poursuivre notre analyse, il est n´ecessaire de d´efinir deux termes qui seront
largement utilis´es dans la suite de ce document :
• Une machine virtuelle (Virtual Machine, VM) : il s’agit d’une reproduction isol´ee et
effi cace d’une machine physique. [11]
• Un hyperviseur ou controleur ˆ de machine virtuelle (Virtual Machine Monitor, VMM) :
il s’agit d’un logiciel qui va cr´eer et g´erer l’ex´ecution d’un certain nombre de machines
virtuelles. Popek et Goldberg ont etabli ´ trois contraintes que doivent respecter les
controleurs
ˆ 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 effect identical with that
demonstrated if the program had been run on the original machine directly, with
the possible exception of differences caused by the availability of system resources
and differences caused by timing dependencies.
Ce crit`ere impose que tout programme doit montrer un comportement simi-
laire, qu’il soit ex´ecut´e au travers d’un syst`eme de virtualisation ou bien directe-
ment sur la machine physique, a` l’exception d’une eventuelle
´ indisponibilit´e des
ressources ou de contraintes temporelles. Les contraintes temporelles sont dues
a` la couche logicielle de virtualisation qui intervient et a` l’existence d’autres ma-
chines virtuelles.
2. Crit`ere d’effi cacit´e :
The second characteristic of a virtual machine monitor is efficiency. It demands
that a statistically dominant subset of the virtual processor’s instructions be
executed directly by the real processor, with no software intervention by the
VMM.
Cette contrainte exige qu’une 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 controle ˆ des ressources :
The VMM is 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 d’avoir un controle ˆ total des
ressources. Un programme virtualis´e ne doit pas avoir la possibilit´e d’acc´eder a`
une ressources autrement qu’au travers du syst`eme de virtualisation et ce dernier
se r´eserve le droit de reprendre le controle ˆ d’une ressource a` n’importe 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 effi cacement le processus de virtualisa-
tion.
Le probl`eme est de d´eterminer les caract´eristiques que doit poss´eder le jeu d’instructions
d’un processeur afin de r´epondre de mani`ere effi ´
cace aux contraintes evoqu´ees en 6.1. Le
jeu d’instructions (Instruction Set Architecture, ISA) est l’ensemble des instructions qu’un
processeur est en mesure d’ex´ecuter. Pour enoncer
´ leurs th´eor`emes, Popek et Goldberg ont
class´e les instructions de l’ISA en 3 groupes :
9 / 20
6 LES PRINCIPES DE LA VIRTUALISATION
6.3 Th´eor`emes
Les r´esultats de l’analyse 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 affi rme 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 configura-
tion) soient pi´eg´ees et que le controle
ˆ soit donn´e a` l’hyperviseur. Ceci garantit le crit`ere
de controle
ˆ des ressources. Les instrutions non privil´egi´ees, quant a` elles, doivent etre ˆ
ex´ecut´ees sans intervention de l’hyperviseur afin de garantir le crit`ere d’effi cacit´e.
Remarquons que si les instructions sensibles a` la configurations ne font pas par-
tie des instructions privil´egi´ees, alors, en vertu du crit`ere d’effi cacit´e, elles seront
ex´ecut´ees sans intervention de l’hyperviseur et par cons´equent, le crit`ere de controle
ˆ
des ressources n’est pas respect´e.
Une d´emonstration plus rigoureuse de ce th´eor`eme est pr´esent´ee dans l’article 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 PROBLEMES ´ A` LA VIRTUALISATION
LIES
11 / 20
`
7 LES PROBLEMES ´ A` LA VIRTUALISATION
LIES
12 / 20
8 LA VIRTUALISATION MATE´RIE LLE
en une instruction d’acc`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 l’accent 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 d’architecture x86. Comme nous
l’avons vu au point 7, cette architecture se prete
ˆ tr`es mal a` la virtualisation et celle-ci n´ecessite
un travail consid´erable de la part de l’hyperviseur. A l’aide de la virtualisation mat´erielle,
l’hyperviseur est en mesure de virtualiser correctement l’ensemble des instructions de l’ar-
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 l’int´eret
ˆ de ces solutions et, en 2006, ils ont chacun inaugur´es une nouvelle
gamme de processeurs incluant une technologie d’aide mat´erielle a` la virtualisation. Cette
technologie est connue sous le nom de Intel VT-x (anciennement Vanderpool) et AMD-V (an-
ciennement Pacifia). Globalement, les technologies des deux concurrents sont semblables et
´
nous ne les diff erencierons pas.
D’un point de vue pratique, ces processeurs incluent un nouveau mode d’ex´ecution ap-
pel´e Extension de Machine Virtuelle (Virtual Machine Extension, VMX). Puisque l’hyperviseur
et l’environnement virtuel ne peuvent pas se trouver au meme ˆ niveau de privil`eges (voir
section 7), ce nouveau mode d’ex´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 l’anneau 03 (le niveau racine a donc un controle ˆ absolu des ressources). Le second,
appel´e niveau normal, correspond aux quatres anciens anneaux (ils sont donc regroup´es au
sein d’un niveau de privil`eges unique). Puisque l’hyperviseur doit g´erer la r´epartition des
ressources, il s’ex´ecute au niveau racine tandis que les environnements virtuels s’ex´ecutent
au niveau normal.
Pour entrer dans le mode d’ex´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 l’instruction inverse (VMXOFF chez Intel). Lorsque l’hyperviseur est lanc´e, il peut
passer du mode racine au mode normal (et donc, donner le controle ˆ a` un environnement
virtuel) a` l’aide d’une autre instruction (appel´ee VMLAUNCH chez Intel) et, sym´etriquement,
l’hyperviseur reprendra le controle ˆ et passera au niveau racine au moyen de l’instruction
inverse (VMRESUME chez Intel).
Les technologies de virtualisation mat´erielle d’Intel et AMD impl´ementent egalement
´ des
instructions qui permettent d’acc´el´erer les sauvegardes et restaurations de contexte. En eff et,
lorsqu’un hyperviseur veut donner le controle ˆ a` un autre environnement virtuel, il doit d’une
part sauvegarder le contexte d’ex´ecution de l’environnement virtuel actuellement actif et,
d’autre part, restaurer le contexte d’ex´ecution de l’environnement virtuel a` qui il s’appreteˆ a`
donner le controle.ˆ Ainsi, a` chaque environnement virtuel est associ´e un segment en m´emoire
de quelques kBytes qui contient les donn´ees importantes du contexte d’ex´ecution de cet en-
vironnement. Il est lu a` chaque activation d’un environnement virtuel et r´eecrit´ a` chaque
sortie de celui-ci. Chez AMD, ce segment s’appelle Bloc de Controle ˆ de la Machine Virtuelle
(Virtual Machine Control Block, VMCB) ; chez Intel, ce segment s’appelle Structure de Controle ˆ
de la Machine Virtuelle, (Virtual Machine Control Structure, VMCS).
3
il est parfois aussi appel´e anneau -1
13 / 20
´
9 LES DIFFERENTS TYPES DE VIRTUALISATION
9 Les differents
´ 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 d’exploitation.
4
Parfois, la traduction consiste simplement a` recopier l’instruction de d´epart
5
Le syst`eme hote
ˆ ainsi que les autres environnements virtuels
14 / 20
´
9 LES DIFFERENTS TYPES DE VIRTUALISATION
F . 11 – Intel VT-x
Les instructions utilisateurs sont quant a` elles ex´ecut´ees directement car l’hyperviseur
fait la supposition qu’elles ne sont pas dangeureuses pour le syst`eme6. Elle s’ex´ecutent donc
comme s’il n’existait aucune couche de virtualisation.
Il existe deux types de machines virtuelles : celles ou` l’hyperviseur est une application
install´ee sur un syst`eme d’exploitation hote,
ˆ et celles ou` l’hyperviseur est install´e en lieu et
place du syst`eme d’exploitation hote.
ˆ
Avantages :
´
• permet de faire fonctionner plusieurs syst`emes diff erents ˆ machine physique ;
sur la meme
• 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 fiable.
6
Elles seront de toute fac¸on pi´eg´ees une fois trait´ees par le syst`eme hote
ˆ
15 / 20
´
9 LES DIFFERENTS TYPES DE VIRTUALISATION
9.2 Para-virtualisation
La para-virtualisation consiste pour le syst`eme d’exploitation virtualis´e a`communiquer
plus effi cacement avec l’hyperviseur de mani`ere a` accroˆıtre les performances du syst`eme.
Cette strat´egie de virtualisation est egalement
´ connue sous le nom de virtualisation assist´ee par
le syst`eme d’exploitation (invit´e). La para-virtualisation implique une modification du noyau du
syst`eme d’exploitation virtualis´e afin de remplacer les instructions non virtualisables par des
hyper-appels (hypercalls) qui vont communiquer directement avec la couche virtuelle de l’hy-
perviseur. L’hyperviseur fournit egalement´ un ensemble d’interfaces d’hyper-appels pour
d’autres op´erations critiques du noyau telles que les op´erations de gestion de la m´emoire,
des interruptions,...
La para-virtualisation est diff erente ´ de la virtualisation compl`ete ou` le syst`eme virtualis´e
n’est 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 couts ˆ de virtualisation7, 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-virtualisation ne supporte pas les syst`emes non modifi´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-virtualisation introduit egalement
´ des probl`emes de maintenance et de sup-
port au sein d’environnements de d´eveloppement puisqu’elle n´ecessite des modifications
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.
16 / 20
´
9 LES DIFFERENTS TYPES DE VIRTUALISATION
F . 13 – Virtualisation compl`ete
17 / 20
10 CONCLUSION
10 Conclusion
Nous avons vu que la virtualisation est une technologie aujourd’hui 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 d’inconv´enients, les avantages
qu’elles apportent peuvent s’av´erer d´eterminants dans la politique d’acquisition, 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 bientot
ˆ 40 ans, impos´e au jeu d’instructions des processeurs un certain nombre de con-
traintes afin de pouvoir supporter la virtualisation, celle-ci pose aujourd’hui de nombreux
probl`emes. En eff et, le jeu d’instructions de l’architecture la plus r´epandue actuellement ne
respecte pas ces contraintes. Ceci a pour cons´equence de complexifier 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 s’est vite fait ressentir et c’est ainsi que s’est d´evelopp´e
un grand nombre de solutions d’aide a` la virtualisation directement incluses au sein du
mat´eriel qui constitue nos ordinateurs.
Aujourd’hui, memeˆ s’il 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 d’exploitation.
Pour terminer, quel est l’avenir de la virtualisation ? L’avenir de la virtualisation d´epend
d’un grand nombre de facteurs. Tout d’abord, il est n´ecessaire de reconsid´erer notre vision
de la technologie afin de profiter pleinement des avantages li´es a` la virtualisation. L’infor-
matique est une science en constante evolution
´ et il est imp´eratif de remettre en question un
grand nombre de principes qui sont aujourd’hui largement r´epandus. Intel et AMD, bien
qu’ils soient sur la bonne voie, ont encore des eff orts a` faire pour am´eliorer le support mat´eriel
de la virtualisation inclu dans leur processeurs, de mani`ere a` supporter plus effi cacement
´
les diff erentes technologies pr´esentes sur le march´e. Les constructeurs de p´eriph´eriques
´
d’entr´ees/sorties doivent etablir de nouvelles normes pour permettre une simplification des
interactions entre les environnements virtuels et les fichiers. Enfin, les d´eveloppeurs sont
´
tenus de standardiser les diff erentes technologies de virtualisation utilis´ees a` l’heure actuelle
afin de garantir des solutions plus accessibles dans le futur.
18 / 20
R´ef´erences
[1] Server Virtualization : Covrering today’s 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 Pentium’s Ability to Support a
Secure Virtual Machine Monitor. Aout ˆ 2000.
[10] Najmi. Generations of Computer. Aout ˆ 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/
v i r t u a l i z a t i o n / , Janvier 2004.
[15] Genesis Multimedia Solutions. Virtualization Technologies. Juin 2009.
[16] Pascal Verschaeve. Trasys - Service Presentation - Virtualization Service Offerings.
[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
• L AR
• LSL
• VERR
• VERW
• POP
• PUSH
• CALL
• JMP
• INT n
• RET
• STR
• MOVE