DÉVERROUILLEZ LE MONDE DE L'IT

Apprentissage Sans Frontières

Accédez gratuitement à nos supports de cours et élargissez vos horizons en IT

Cours Offert (50min) : Boostez votre Carrière IT en 6 Étapes Simples !

La virtualisation, ou découverte de la machine virtuelle

La virtualisation, ou découverte de la machine virtuelle

Damien.SO Damien.SO
19 minutes de lecture

Écouter l'article
Audio generated by DropInBlog's Blog Voice AI™ may have slight pronunciation nuances. Learn more

Machine virtuelle ou virtualisation, le concept novateur

La virtualisation, tout comme une machine virtuelle, est similaire à un ordinateur physique, un smartphone, un ordinateur portable, un serveur, etc. Elle possède un processeur, une mémoire et des disques pour stocker vos fichiers. De plus, la machine peut se connecter à internet au besoin.

Les composants d’un ordinateur sont tangibles et physiques. Les machines  virtuelles sont des ordinateurs virtuels et sont considérées comme des ordinateurs à définition logicielle implantés dans des serveurs physiques sous la forme de code.

Diverses solutions logicielles favorisent le fonctionnement de plusieurs systèmes invités sur un système hôte commun. Comment fonctionne la virtualisation et quels sont les avantages et les inconvénients d’une machine virtuelle ? Découvrez ici le concept de la virtualisation matérielle qui est fondée sur un hyperviseur

Quel est l’historique de la virtualisation ?

Le terme machine virtuelle fait son apparition à partir de 1936 dans le secteur de la logique. La virtualisation apparait lorsque Turing crée la machine de Turing universelle. Elle sert à simuler le fonctionnement d’une machine et a pour entrée un programme dont on veut simuler l’exécution.

La machine VM/370 fabriquée par IBM en 1970 permet à plusieurs utilisateurs d’utiliser en temps partagé un ordinateur qui exécute le système d’exploitation DOS/VSE qui ne favorisait pas l’utilisation en temps partagé.

Cette machine constitue un des tout premiers systèmes de virtualisation en informatique. Elle est aussi la première machine virtuelle à être proposée à l’échelle industrielle. La machine fonctionnait sur les ordinateurs IBM 370 malgré le fait qu’une autre version destinée aux universités tournait sur le modèle 67. Ce modèle fonctionnait sur le modèle 67 et était dénommé Control Program (CP). Le modèle a progressé et est devenu en 2016,  z/VM avec des performances d’adressage plus étendues.

Les logiciels Omniview, Desquview, Windows/386 et VM/386 servent en 1989 à stimuler les machines virtuelles qui exécutent le système d’exploitation MS-DOS. Les logiciels Windows/386 et Desqview disposent d’une interface graphique qui offre sur le même écran la possibilité de voir les diverses machines qui fonctionnent.

En 1995, la machine virtuelle Java est créée par Sun Microsystems. Elle servait à exécuter des logiciels téléchargés sur un serveur web peu importe les caractéristiques techniques de l’appareil qui télécharge et exécute le logiciel. Cette machine est proposée avec un langage de programmation Java.

Windows NT et ses successeurs intègrent une machine virtuelle qui stimule la machine qui exécute MS-DOS. Linus dispose d’un environnement de virtualisation dénommé Open Source (Xen). Windows Server 2008 a quant à lui un hyperviseur intégré.

VMware est un logiciel qui voit le jour en 1999. Il sert à exécuter divers systèmes d’exploitation sur la même machine. La version simplifiée du produit proposé par la société VMware qui est rachetée par EMC Corporation en 2004 est rendue gratuite en 2006.

La virtualisation, qu’est-ce que c’est ?

Une machine virtuelle est un environnement virtuel qui fonctionne sur une machine physique. Elle dispose d’un système d’exploitation qui se sert des ressources matérielles d’un système d’hôte. Le système invité fonctionne comme un ordinateur indépendant disposant d’un disque dur, d’une mémoire RAM, d’un système de fichiers.

À noter : Diverses machines virtuelles avec OS différents peuvent fonctionner sur le même serveur physique : Windows, Linus, MacOs. Il faut noter que chaque machine virtuelle est basée sur un logiciel d’hyperviseur. L’hyperviseur fonctionne telle une application sur le système d’exploitation hôte. Il peut aussi fonctionner sur le matériel de la machine physique et utilise les ressources matérielles du système hôte.

Le logiciel hyperviseur génère une couche d’abstraction entre la machine virtuelle et le matériel physique. Chaque machine virtuelle fonctionne indépendamment du système hôte et des autres systèmes invités dans son environnement virtuel. On parle d’ici d’encapsulation qui est le processus par lequel la machine virtuelle n’affecte pas son hôte ou les autres machines virtuelles raccordés au même matériel hôte.

De nombreux hyperviseurs allient les fonctionnalités d’émulation avec des  technologies de virtualisation matérielle. Elles ne créent  pas seulement une couche abstraite entre la couche virtuelle qu’ils utilisent et le matériel physique sur lequel ils sont déployés. Les machines virtuelles comblent aussi les incompatibilités entre les diverses architectures de systèmes. L’utilisateur peut ainsi émuler des environnements d’exécution pour les systèmes d’exploitation présents sur le même système hôte. Il peut aussi exploiter des systèmes invités dans les machines virtuelles dont l’architecture système diffère de celle du système hôte.

Comment fonctionnent les machines virtuelles en pratique ?

Dans la virtualisation matérielle, les ressources d’un système physique peuvent être redistribuées sur plusieurs systèmes virtuels. Tous les programmes  qui y sont exécutés ainsi que le système invité sont séparés du matériel sous-jacent.

Les machines virtuelles servent en général pour des raisons de sécurité, car elles permettent d’isoler certains processus et application. À l’inverse d’autres types de virtualisation, les machines virtuelles offrent une excellente encapsulation et servent à héberger des produits qui exécutent moult serveurs client sur une même  plateforme matérielle.

Les offres d’hébergement mutualisées et de VPS (Virtual Private Server) proviennent de la mise à disposition de machines virtuelles. Puisque chaque système invité fonctionne dans un environnement d’exécution isolé, les processus encapsulés dans une machine virtuelle n’impactent pas le système hôte ou les autres systèmes invités.

En entreprise, les machines virtuelles servent à minimiser  les coûts d’exploitation et de maintenance des infrastructures informatiques.  Les entreprises ont une infrastructure informatique qui reste inactive pour la plupart du temps. Avec la virtualisation des machines, les temps morts d’utilisation sont réduits. Plusieurs entreprises se tournent vers des serveurs de messagerie, des fichiers ou des applications, des bases de données, des fichiers ou des applications dans des environnements virtuels. Ce type de manœuvre sert à consolider les serveurs. Il est moins onéreux d’avoir une plateforme informatique pour plusieurs systèmes virtuels plutôt que d’utiliser divers petits ordinateurs.

À noter : La virtualisation permet aussi le développement des logiciels. Les programmeurs informatiques, dans le processus de création des applications, utilisent des machines virtuelles pour tester les logiciels. Il faut souligner que la virtualisation matérielle et l’émulation génèrent des pertes de performance.

Quelles sont les différentes utilisations de la machine virtuelle ?

La virtualisation de la machine a plusieurs usages :

  • L’émulation ;
  • La fonction multitâches ;
  • Une machine virtuelle de haut niveau ;
  • La virtualisation ;
  • Une machine virtuelle parallèle
  • La programmation.

Revenons sur ces différents usages de la machine virtuelle.

L’émulation

Elle permet de mettre en œuvre les fonctionnalités d’un appareil en se servant d’un autre appareil qui a des fonctionnalités différentes. Elle sert à mettre en œuvre le jeu d’instructions d’un processeur en en servant d’un autre processeur. Vous pouvez utiliser un ordinateur récent pour exécuter des programmes qui sont destinés à un autre ordinateur, à un système d’exploitation ou à une console de jeu  qui n’est plus disponible dans le commerce. Cette simulation vient avec une baisse considérable de la puissance de calcul.

La fonction multitâche

Depuis les années 1970, les machines virtuelles sont utilisées pour réaliser du multitâches. L’ordinateur peut ainsi réaliser diverses opérations simultanément avec plusieurs utilisateurs. La machine virtuelle est affectée à chaque utilisateur et elle donne l’illusion qu’il est la seule personne à utiliser cet ordinateur. Cette fonctionnalité est intégrée dans tous les systèmes d’exploitation.

Une machine virtuelle de haut niveau

Le code source des programmes est traduit en code objet intermédiaire par un compilateur. Le code objet est traduit ensuite en code machine qui se sert du jeu d’instructions spécifique du processeur pour stimuler la machine.

Les programmes sont répartis sur le marché sous forme de bytecode. Il peut être exécuté par tout appareil informatique qui a le logiciel adéquat pour simuler cette machine. Le bytecode se sert du jeu d’instruction  d’une machine imaginaire qui n’est pas disponible dans le commerce. Il est créé pour dans le but d’utiliser le jeu d’instruction pour exécuter le programme.  Le langage de programmation Pascal utilise cette technique pour la première fois en 1980.

La virtualisation

La virtualisation est le fait de simuler l’existence de plusieurs machines informatiques en se servant d’une seule. Cette technique permet de réduire les coûts d’achat de matériel informatique et de rentabiliser leur usage.

En 2008, les technologies sont si révolutionnaires  que de façon normale, un serveur n’utilise que 10% des capacités du matériel. La virtualisation permet d’optimiser le temps. Pour cela, il suffit de modifier la configuration de l’émulateur.  Comme logiciels de virtualisation, vous pouvez retrouver : QEMU, KVM, Virtuabox, Xen, VirtualPC, Bochs.

Le serveur dédié virtuel est une machine virtuelle qui simule un serveur informatique. Il est destiné à un consommateur en particulier. La machine qui est utilisée pour la simulation sert plusieurs consommateurs en simultané. Chaque serveur dédié virtuel  dispose de son propre espace d’exploitation et de son propre disque dur. Le système d’exploitation  peut être installé et redémarré par le consommateur. Le serveur informatique physique peut  accueillir plusieurs serveurs dédiés virtuels qui sont cloisonnés les uns des autres et qui partagent les ressources.

La machine virtuelle parallèle

 Il s’agit d’un dispositif qui donne l’illusion d’un seul ordinateur alors que les ressources de divers ordinateurs sont utilisées pour augmenter la concurrence des calculs. La machine virtuelle parallèle est donc un ensemble d’outils de communication pour les réseaux d’ordinateurs et de bibliothèques. Il permet de fusionner  un réseau d’ordinateurs en un seul ordinateur virtuel.

La programmation

La machine virtuelle est contrôlée, confinée et préservée de l’utilisation abusive des ressources matérielles. Il permet d’exécuter des programmes douteux tels que les logiciels démo, les systèmes d’exploitation. Il sert aussi à analyser les malwares.

Utiliser la machine virtuelle pour la programmation de systèmes d’exploitation résout le problème des logiciels  qui sont utilisés pour le développement et à la mise au point du système d’exploitation.

Quelles sont les techniques utilisées pour faire fonctionner la machine virtuelle ?

L’hyperviseur contrôle l’utilisation des différentes machines virtuelles. L’hyperviseur de Type 2 utilise le système d’exploitation de l’ordinateur simulateur, tandis que l’hyperviseur de Type 1 ne nécessite pas de système d’exploitation sur l’appareil simulateur.

Les logiciels hyperviseurs et les systèmes d’exploitation simulent la présence de mémoire virtuelle et de mémoire centrale. Ce mécanisme permet aussi de simuler la présence de 4 Go de mémoire dans une machine qui est équipée de 1 Go.  La machine copie le contenu inutilisé de la mémoire vers le disque dur.

La compilation juste à temps est utilisée pour simuler un processeur ou pour accélérer l’exécution d’un programme en bytecode. Lorsque s’elle simule le processeur, le code machine es traduit pour devenir du code machine pour le processeur qui simule. Quand il accélère l’exécution d’un programme, le bytecode met plus de temps à se lancer, mais s’exécute rapidement.

La traduction est réalisée par un logiciel pareil à un compilateur. La technique est implantée pour la première fois dans les années 1960. La JVM d’Oracle depuis sa version 1.2 utilise cette technique pour les questions d’efficacité. À l’inverse la machine Dalvik d’Android n’utilise pas cette technique.

La machine virtuelle de haut niveau, qu’est-ce que c’est ?

Pour mettre en œuvre une machine virtuelle, le logiciel ou l’interpréteur de haut niveau isole l’application dont se sert l’utilisateur des spécificités de l’ordinateur. Par cette action, l’application est disponible sur plusieurs ordinateurs sans les obligations habituelles pour la rédaction d’un logiciel portable qui tourne sur l’ordinateur.

La compilation juste à temps permet à l’application d’avoir des performances identiques à celle d’une application native. Windows XP et tous les systèmes d’exploitation identiques fonctionnent  dans un univers virtualisé créé par la couche HAL. Si vous changez de machine physique, vous pouvez changer le HAL sans toucher le reste de l’installation Windows.

Les technologies Net , Java et Java EE qu’est-ce que c’est ?

Les technologies Java et JVM de Sun sont basées sur une machine virtuelle. Elles dissimulent les détails matériels de l’ordinateur sur lequel leurs programmes s’exécutent. Elles utilisent un langage intermédiaire qui leur est propre bytecode Common Intermediate Language (MSIL devenu CIL) pour le système Microsoft. Elles se servent  de Java byte-code pour Sun.

Si vous utilisez .NET, le byte-code est compilé avant l’exécution ou à la volée (just-in-time, JIT) ou grâce à l’utilitaire ngen.exe. Le byte-code avec Java est compilé soit interprété en avance ou compilé juste-à temps. Elles fournissent toutes les deux des bibliothèques de classes extensibles qui règlent plein de problèmes de programmation courants. Elles servent à résoudre les questions de sécurité.

NET implémenter dans Microsoft est disponible entièrement pour Windows et partiellement pour Mac et Linux. Java quant à lui est disponible sur toutes les plateformes. Le système .Net depuis le début est indépendant de la plateforme et supporte plusieurs langages. De ce fait il est possible le ré-implémenter sur d’autres plateformes. L’implémentation Microsoft est destinée uniquement pour Windows CE, Windows et la Xbox360.

À la base, la plateforme Java est prévue pour supporter exclusivement le langage Java. D’autres langages ont été développés pour la machine virtuelle java mais ils ne sont pas très usités. L’implémentation Java de Sun est open source sous la licence GNU GPL. Elle intègre la bibliothèque de classes, la JVM, le compilateur et d’autres outils associés à la plateforme Java.

Que retenir des RIA-RDA ?

Les technologies progressent et se rapprochent pour fonctionner parfaitement sur OS et le web. Elles divergent plus par les outils de maintenance et de production plutôt que par les technologies utilisées.  Elles sont disponibles sur les téléphones, les périphériques multimédias, les ordinateurs, etc.

À noter : Les RIA sont basés sur une machine virtuelle qui fonctionne dans un navigateur web et les RDA sont quant à elles basées sur la machine virtuelle qui fonctionne sur le système d’exploitation. Avec le temps, les RIA et RDA sont de plus en plus multi-langage

Quels sont les avantages d’une machine virtuelle ?

La virtualisation gérée par l’hyperviseur permet à divers systèmes d’exploitation de tourner en parallèle sur la même base matérielle. Plusieurs hyperviseurs donnent la possibilité d’avoir des fonctions d’émulation pour compenser les divergences entre les différentes architectures de systèmes.

Lorsque plusieurs machines virtuelles fonctionnent sur une même machine physique, les ressources matérielles sont mieux exploitées. Cette consolidation améliore l’utilisation du matériel fourni, réduit les coûts et le temps d’inactivité.

À noter : La forte encapsulation protège le système invité et tous les processus inclus, car chaque système invité tourne dans un environnement d’exécution virtuel. Pour cela, si une machine virtuelle est en panne à cause d’un processus défectueux ou s’il est infiltré par des logiciels malveillants, cela n’a pas d’impact sur le système hôte ou les machines virtuelles.

La virtualisation vous permet de faire des économies en ressources de maintenance et en ressources informatiques. Passer à une plateforme matérielle pour plusieurs systèmes virtuels réduit les coûts d’administration et de maintenance en centralisant les fichiers.

Les serveurs virtuels et les PC peuvent être approvisionnés et portés facilement. Les machines virtuelles sont indépendantes du dispositif physique sous-jacent et servent à approvisionner aisément les ressources informatiques.  Vous pouvez créer, cloner et déplacer facilement les serveurs virtualisés ou les ordinateurs personnels vers une autre plateforme d’hébergement.

Quels sont les inconvénients d’une machine virtuelle ?

Il est évident que les machines virtuelles sont moins performantes que les machines physiques. Certaines ressources disponibles servent à faire fonctionner le logiciel de l’hyperviseur. Le matériel partagé peut créer des blocages pendant les hausses de consommation à l’instar de toutes les machines virtuelles. En effet, elles partagent les mêmes ressources matérielles et des goulots d’étranglement peuvent intervenir lors des pics de performance.

Attention : Si les  logiciels malveillants ou les hackers attaquent les logiciels de virtualisation, les systèmes invités gérés par l’hyperviseur peuvent subir des désagréments.

En ce qui concerne l’octroi de licence pour les systèmes d’exploitation virtuels, la situation juridique n’est pas exhaustive.

Voir plus sur l'informatique 

Newsletter IT "Hebdomadaire"

Recevez gratuitement dès votre inscription à ma Newsletter hebdomadaire :

  • La formation 100% en ligne "Devenir un Expert IT certifié", d'une valeur de 79€
  • Le guide pour tout comprendre sur la certification IT
  • Tous mes meilleurs conseils pour atteindre vos objectifs PRO


Rejoindre la TEAM IT

« Retour au blog

DÉVERROUILLEZ LE MONDE DE L'IT

Apprentissage Sans Frontières

Accédez gratuitement à nos supports de cours et élargissez vos horizons en IT

Cours Offert (50min) : Boostez votre Carrière IT en 6 Étapes Simples !