3.2 Concepts
3.2.1 Emulation
Dans l'émulation, la machine virtuelle simule le
matériel et l'ensemble des instructions nécessaires pour
exécuter sans modification des clients d'une architecture
matérielle complètement différente.
En règle générale, l'émulation est
utilisée pour créer des systèmes d'exploitation nouveaux
ou microcodes pour de nouveaux matériels, avant que le matériel
ne soit disponible physiquement.
Applications
|
Applications
|
Applications
|
|
OS invité
non modifié
pour A
|
OS invité
non modifié
pour A
|
OS invité
non modifié
pour B
|
|
... Matériel virtuel - Machine A
Architecture Y
|
Matériel virtuel - Machine B
Architecture Z
|
Matériel physique - Architecture X
|
Figure 3.1 :
EMULATION
L'émulateur de machines virtuel fournit une
architecture virtuelle qui peut être différente de l'architecture
du système hôte.
Les OS invités s'exécutent sans modification sur
le matériel virtuel.
3.2.2 Virtualisation complète
La virtualisation complète (full virtualization) est
similaire à l'émulation.
Comme dans l'émulation, les systèmes
d'exploitation et applications non modifiés s'exécutent dans la
machine virtuelle. La virtualisation complète diffère de
l'emulation dans le fait que les systèmes d'exploitation et applications
sont conçus pour fonctionner sur la même architecture que celle de
la machine physique hôte.
Ce qui permet à un système de virtualisation
complète d'exécuter plusieurs instructions directement sur le
matériel physique sousjacent.
L'hyperviseur dans ce cas, donne l'accès au
matériel physique et donne à chaque système d'exploitation
invité l'illusion d'avoir sa propre copie. Il ne doit plus utiliser un
logiciel pour simuler une architecture de base différente.
Applications
|
Applications
|
|
|
... OS invité
non modifié
pour X
|
OS invité
non modifié
pour X
|
Interface
de gestion
de l'hyper viseur
|
Hyperviseur (Moniteur des machines virtuelles)
|
Matériel physique - Architecture X
|
Figure 3.2 :
VIRTUALISATION COMPLETE
L'hyperviseur présente le matériel physique du
système hôte à tous les systèmes invités. Les
systèmes d'exploitation invités ont un accès au
matériel sousjacent et s'exécutent sans modification et n'ont
pas conscience qu'ils sont virtualisés.
3.2.3 Paravirtualisation
Dans la paravirutalisation, l'hyperviseur exporte une version
modifiée de la machine physique hôte. La machine virtuelle
exportée a la même architecture que le système hôte;
ce qui n'est pas forcément le cas dans l'émulation.
Le système d'exploitation invité requière
quelques légères modifications pour fonctionner sur
l'architecture émulée par l'hyperviseur.
Les modifications effectuées visent à rendre le
système émulé « au courant » du fait qu'il
s'exécute dans une machine virtuelle. De ce fait, il pourra collaborer
plus étroitement avec le système hôte, en utilisant une
interface spécifique et accéder au matériel virtuel via
des couches d'abstraction.
Applications
|
Applications
|
|
|
... OS invité modifié
Système 1
|
OS invité modifié
Système 2
|
Interface
de gestion
de l'hyper viseur
|
Hyperviseur (Moniteur des machines virtuelles)
|
Matériel physique - Architecture X
|
Figure 3.3
PARAVIRTUALISATION
La paravirtualisation est similaire à la virtualisation
complète à la seule différence que les systèmes
invités sont modifiés et ont conscience qu'ils s'exécutent
dans un environnement virtuel.
|