Journal du Net > Développeur  > Outils >  Algo/Méthodes > Expliquez-moi > Les machines virtuelles
Expliquez-moi
 
06/06/2007

Les machines virtuelles

Elles créent au sein d'un système existant des environnements virtuels. Elles peuvent couvrir deux objectifs : porter plusieurs OS sur une même machine, faire tourner une application quel que soit le système d'exploitation sous-jacent.
  Envoyer Imprimer  

 
En savoir plus
 
 
 

Au premier sens du terme, une machine virtuelle a pour but de générer sur une même machine un ou plusieurs environnements d'exécution applicative. On en distingue deux types d'application : d'une part la virtualisation par le biais d'un hyperviseur jouant le rôle d'émulateur de système (PC ou serveur), d'autre part la virtualisation applicative qui permet de faire tourner un application sur un poste client quelque soit le système sous-jacent.

Hyperviseur

La machine virtuelle avec hyperviseur est utilisée pour générer au dessus d'un système d'exploitation serveur une couche logicielle sous la forme d'un émulateur permettant de créer plusieurs environnements d'exécution serveur. Cet émulateur se place comme un niveau supplémentaire qui se greffe sur le système d'origine.

Le nombre de machines virtuelles se gère quasi indépendamment du nombre de machines réelles, et de façon transparente pour les utilisateurs. Les statistiques de charge des machines virtuelles permettent de les réorganiser sur les machines réelles, et de prévoir les dates auxquelles prévoir des extensions.

Par exemple, le logiciel créé par VMware permet la virtualisation non seulement d'un serveur ou d'un PC à architecture Intel/AMD , mais de tous les périphériques d'un réseau : un périphérique distant peut apparaître si on le désire comme local. De plus, la virtualisation n'est pas limitée à un seul système d'exploitation mais il est possible d'en émuler plusieurs et de versions différentes (Windows XP, 98, Linux).

Plusieurs systèmes d'exploitation sur le même ordinateur

Il existe aussi l'expression machine virtuelle parallèle (PVM). Dans ce cas, une machine virtuelle crée un environnement qui semble être un seul ordinateur alors que les ressources de plusieurs ordinateurs sont utilisées. La PVM permet par exemple d'exécuter un programme sur plusieurs ordinateurs.

 

Machine virtuelle applicative

Quant à la virtualisation applicative, elle désigne un logiciel ou interpréteur qui isole l'application cliente des spécificités du poste de travail, c'est-à-dire de celles de son architecture ou de son système d'exploitation. Cela permet au concepteur de l'application de ne pas avoir à rédiger plusieurs versions de son logiciel pour qu'il soit exécutable dans tous les environnements.

Comment fonctionne-t-elle ? La machine virtuelle applicative est un programme qui émule au sein du système d'exploitation un environnement standardisé, isolé et sécurisé. Dans cet environnement protégé, la machine virtuelle se charge de "convertir" les requêtes du logiciel vers le système. La machine virtuelle applicative fait la liaison entre le code (Java, C# ou autre) compilé et le système d'exploitation (voire les composants même de la machine), créant une couche d'abstraction identique à celle proposée par la même implémentation de la machine sur d'autres systèmes.

 
En savoir plus
 
 
 

La machine virtuelle la plus utilisée est celle de Sun Microsystems (la JVM pour Java Vitual Machine). Elle est gratuite, propriétaire jusqu'à la version 6 (stable) et libre (sous licence GPL) à partir de la version 7. La machine virtuelle Java permet aux applications Java compilées en bytecode de produire les mêmes résultats quelle que soit la plate-forme, tant que celle-ci est pourvue de la machine virtuelle Java adéquate.



JDN Développeur Envoyer Imprimer Haut de page

Sondage

Adobe parviendra-t-il à percer avec sa nouvelle suite de création Web Edge ?

Tous les sondages