II .2. ÉVOLUTION DE LA VIRTUALISATION
Les premiers ordinateurs, qui occupaient plusieurs
pièces d'un bãtiment, n'étaient pas faits pour
exécuter plusieurs programmes à la fois. On concevait un
programme (qui était à l'époque une simple succession de
calculs), on le mettait dans la file d'attente des programmes, et quand le
système d'exploitation avait fini de traiter un programme, on lui
donnait le suivant dans la liste.
Très vite, dès la fin des années
cinquante, l'idée de pouvoir exécuter plusieurs programmes en
parallèle voit le jour. On parle de temps partagé (time
sharing), de multiprogrammation, etc. L'idée était de
pouvoir faire cohabiter plusieurs programmes au même moment, ayant tous
accès au méme matériel, sans qu'ils ne se génent
mutuellement.
La virtualisation est très proche de concept.
Au milieu des années soixante, IBM effectue des
recherches sur les systèmes virtualisés avec le projet M44/44X.
L'architecture du système se basait sur des systèmes
d'exploitation virtualisés (nommés 44X) s'exécutant
au-dessus du matériel (une machine M44).
Les systèmes invités étaient
gérés par une simple multiprogrammation. En 1967 est
lancé, toujours par IBM, le système CP-40, le premier
système offrant une virtualisation complète. Le CP-40 sera suivi
par plusieurs évolutions, amenant chacune de nouvelles
fonctionnalités pour les utilisateurs. On peut notamment citer le
système VM/370, qui a connu un très fort succès dans les
entreprises, et est parfois encore en usage dans certaines entreprises
aujourd'hui.
Après le succès des machines virtuelles
introduites par IBM, les technologies ont assez peu évolué. Le
système hôte a vite été réduit à
l'état de simple arbitre entre les systèmes invités,
amenant la notion d'hyperviseur. Toutefois, toutes ces technologies de
virtualisation étaient réservées au monde professionnel,
destinées à être utilisées sur des
mainframes coûtant plusieurs millions de dollars.
Parallèlement à cela, le monde de la recherche
(souvent financé par ces mêmes entreprises) a continué
à étudier différentes possibilités pour
améliorer les performances et à essayer de nouvelles
technologies. La plupart de ces travaux de recherche sont toutefois
restés assez confidentiels et n'ont que rarement été
transposés sur un produit.
L'orientation « grand public » des technologies de
virtualisation est beaucoup plus récente. Dans les années
quatre-vingt-dix, l'intérêt pour les émulateurs de consoles
de jeu ainsi que l'explosion du marché de l'informatique personnelle
(les ordinateurs de type PC) ont fait prendre conscience aux entreprises qu'il
y avait un marché pour la virtualisation sur PC. Des
sociétés ont alors commencé à créer des
produits de virtualisation basés sur des machines virtuelles pour les
« petites » entreprises c'est à dire celles ne pouvant
s'offrir des serveurs à plusieurs millions de dollars et pour les
particuliers.
À partir de ce moment-là, les technologies ont
vraiment progressé, avec l'arrivée des nouveaux acteurs toujours
prêt à innover pour se démarquer des concurrents.
Prenons l'exemple d'une solution de virtualisation faite pour
le grand public, de type VMware : l'utilisateur possède un seul
ordinateur, sur lequel est installé un système d'exploitation
(Microsoft Windows, GNU/Linux, Mac OS X, etc.) ainsi qu'une application qui
fait office de machine virtuelle : le logiciel installé par VMware.
L'utilisateur peut à partir de son système d'exploitation
appelée aussi système hôte, démarrer un nouveau
système d'exploitation qui peut être totalement différent
de celui installé sur la machine physique.
Le système d'exploitation virtualisé
appelé système invité (guest system) est alors
exécuté par la machine virtuelle, et complètement
détaché de tout le matériel de l'ordinateur. La machine
virtuelle se charge d'émuler pour le système invité tout
le matériel « standard » d'un ordinateur : disque dur,
écran, clavier, souris, etc. L'utilisateur peut alors utiliser le
système invité comme normal : installer l'application, naviguer
sur Internet, exécuter un programme, etc. Le système hôte
installé sur la machine physique et le système invité sont
totalement indépendants : le système invité est vu par
l'hôte comme un simple programme, il n'a pas d'accès direct au
matériel contrairement à l'hôte.
Aujourd'hui, les solutions de virtualisation couvrent
principalement deux domaines : les systèmes de stockage
et les systèmes serveurs. Dans le cas des environnements de stockage, la
virtualisation est utilisée par les administrateurs pour gérer
les différentes ressources par une vue unique virtuelle. Par cette vue,
ils gèrent de façon centralisée l'espace disponible
indépendamment des technologies utilisées SAN, NAS, etc. La
virtualisation des systèmes serveurs répond à un objectif
similaire. Les entreprises en ont recours pour disposer d'une vue
générale sur l'utilisation de leurs ressources machines. Ils
peuvent ainsi découper un serveur physique en des multiples serveurs
logiques, dont
chacun se verra attribuer une tâche différente. Les
vues virtuelles ne tiennent pas compte des technologies exécutées
par la machine.
|