Qu'est-ce qu'une machine virtuelle - Types et avantages

Essayez Notre Instrument Pour Éliminer Les Problèmes





Le concept de machine virtuelle a été introduit vers 1960. C'est l'évolution de la technique du temps partagé. Dans la méthode de partage de temps, chaque programme a un accès complet à toutes les ressources informatiques mais à la fois, un seul programme sera exécuté. Le système bascule entre les programmes par tranches de temps tout en sauvegardant et en restaurant les états des programmes à chaque fois. Avec l'utilisation de la méthode de partage de temps, plusieurs utilisateurs peuvent utiliser le système informatique simultanément. Les centres de recherche IBM ont développé la méthode de partage du temps en tant que machines virtuelles. CP-67 était le premier disponible architecture de machine virtuelle . Des systèmes avec plusieurs machines virtuelles sur un seul hôte et une seule machine virtuelle sur plusieurs hôtes ont été développés.

Avant de lancer tout nouveau matériel La technologie , il est d'abord testé sur l'émulateur pour détecter, recréer et réparer les défauts dans les étapes de conception et de collage nécessaires. De même, avant d'introduire un nouveau logiciel, il est simulé pour vérifier les erreurs et les déboguer. Pour faire cette tâche, un système qui peut agir comme un substitut à l'environnement principal pour construire de nouvelles technologies. C'est là que les machines virtuelles entrent en scène. Il agit comme une émulation du système informatique fournissant toutes les fonctionnalités du système physique.




Qu'est-ce qu'une machine virtuelle?

Avec l'introduction de nouvelles technologies et de nouveaux modèles de recherche, un grand nombre de produits matériels et logiciels sont lancés. De nombreux logiciels dépendent de la plate-forme, il est donc parfois difficile de les déboguer ou de les vérifier en raison des ressources matérielles limitées.

Une VM (machine virtuelle) est une émulation d'un système informatique, où ces machines utilisent des architectures informatiques pour fournir les fonctionnalités d'un ordinateur physique. Le périphérique physique sur lequel les machines virtuelles fonctionnent est appelé hôte, tandis que les machines virtuelles sont appelées invité. Un seul hôte peut avoir plusieurs nombres d'invités.



Types de machine virtuelle

La machine virtuelle fonctionne comme un ordinateur et est mise en bac à sable à partir du reste du système hôte. Le logiciel dans l'invité ne peut pas apporter de modifications au logiciel du système hôte. Ainsi, les fichiers de virus peuvent être testés à l'aide d'une machine virtuelle sans affecter le système informatique principal. Le logiciel informatique qui crée et exécute la machine virtuelle est appelé Hypervisor. En fonction de leurs fonctions, il existe deux types différents de machines virtuelles: les machines virtuelles système et les machines virtuelles de processus.

1). Machines virtuelles système


Ces types de VM offrent une virtualisation complète. Agissant en remplacement de la machine réelle, ceux-ci fourniront des fonctionnalités pour exécuter un système opérateur . Les ressources matérielles sont partagées et gérées, formant plusieurs environnements sur le système hôte. Ces environnements sont isolés les uns des autres mais existent sur le même hôte physique. Ainsi, ceux-ci offrent un partage de temps entre plusieurs systèmes d'exploitation à tâche unique.

Pour autoriser le partage de mémoire entre différentes machines virtuelles sur un ordinateur système opérateur , des systèmes de surconsommation de mémoire peuvent être appliqués. Les pages mémoire ayant un contenu identique peuvent être partagées entre plusieurs machines virtuelles présentes sur le même hôte physique. Ceci est très utile pour les pages en lecture seule.

2). Processus de machines virtuelles (VM)

Ces machines virtuelles sont également appelées machines virtuelles d'application, environnements d'exécution gérés. Ce type de VM s’exécute comme une application normale à l’intérieur du système d’exploitation de l’hôte, prenant en charge un seul processus. Il est créé avec le démarrage du processus et est détruit lorsque le processus se termine. Il est utilisé pour fournir une plate-forme indépendante programmation l'environnement au processus, lui permettant de s'exécuter de la même manière sur l'une des autres plates-formes.

Processus-Machine virtuelle

Processus-Machine virtuelle

Ceux-ci sont implémentés à l'aide d'interprètes et fournissent des abstractions de haut niveau. Ceux-ci sont couramment utilisés pour la programmation Java qui utilise la machine virtuelle Java pour l'exécution de programmes. Il existe un cas particulier de machine virtuelle de processus qui résume le mécanisme de communication d'un cluster d'ordinateurs. Ceux-ci contiennent un processus par machine physique dans le cluster. Ceux-ci aident le programmeur à se concentrer sur l'algorithme au lieu du processus de communication fourni par l'interconnexion et machine virtuelle sous OS . L'application exécutée sur ces machines virtuelles a accès à tous les services du système d'exploitation. Machine virtuelle parallèle, l'interface de transmission de messages sont des exemples de ces machines virtuelles (VM).

Architecture

Le logiciel Runtime est le logiciel de virtualisation qui implémente Process VM. Il est implémenté au niveau API de l'architecture informatique au-dessus de la couche combinée du système d'exploitation et du matériel. Cela émule les instructions au niveau de l'utilisateur ainsi que les appels du système d'exploitation ou de la bibliothèque. Pour la machine virtuelle système, le logiciel de virtualisation est appelé Virtual Machine Monitor (VMM). Ce logiciel est présent entre la machine matérielle hôte et le logiciel invité. VMM émule l'ISA matérielle permettant au logiciel invité d'exécuter une autre ISA.

Avantages

Certains des avantages des machines virtuelles sont les suivants:

  • Les machines virtuelles fournissent une compatibilité logicielle avec les logiciels qui y sont exécutés. Ainsi, tous les logiciels écrits pour l'hôte virtualisé s'exécuteront également sur la machine virtuelle.
  • Il fournit une isolation entre différents types de systèmes d'exploitation et de processus. Ainsi, le système d'exploitation du processeur s'exécutant sur une machine virtuelle ne peut pas modifier les processus des autres machines virtuelles et du système hôte.
  • Ceux-ci assurent l'encapsulation et les logiciels présents sur une machine virtuelle peuvent être modifiés et contrôlés.
  • Pour l'hôte multi-système d'exploitation, ceux-ci fournissent diverses fonctionnalités telles que l'absence de double démarrage, le transfert de fichiers entre les machines virtuelles, l'erreur dans un système d'exploitation n'affecte pas l'autre système d'exploitation présent sur l'hôte, un système d'exploitation freash peut être ajouté facilement.
  • Ceux-ci fournissent une bonne gestion logicielle comme ceux-ci peuvent exécuter une pile logicielle complète de la machine hôte, exécuter un système d'exploitation hérité, etc.
  • Ici, il est possible de partager des ressources matérielles avec des piles logicielles indépendantes et d'équilibrer la charge, les machines virtuelles peuvent être transférées vers les différents ordinateurs.

Ainsi, les systèmes informatiques modernes deviennent de plus en plus complexes et contiennent divers composants logiciels et matériels en étroite interaction. Ici, la virtualisation agit comme une technologie d'interconnexion. Les machines virtuelles permettent à des sous-systèmes incompatibles de fonctionner ensemble. Il permet également une utilisation plus flexible et efficace des ressources matérielles entre plusieurs systèmes d'exploitation. Ceux-ci assurent l'interopérabilité entre le matériel, le logiciel système et les applications. Quelles sont les différences entre le processus Machine virtuelle et machine virtuelle système?