Virtualisation - Partie 1
En informatique, la virtualisation (abréviation v12n) désigne un ensemble de technologies permettant de diviser les ressources informatiques physiques en machines virtuelles, systèmes d'exploitation, processus ou conteneurs. La virtualisation a débuté dans les années 1960 avec IBM CP/CMS. Le programme de contrôle CP fournissait à chaque utilisateur un ordinateur System/360 autonome simulé.
En virtualisation matérielle, la machine hôte est la machine utilisée par la virtualisation et la machine invitée est la machine virtuelle. Les termes « hôte » et « invité » permettent de distinguer les logiciels exécutés sur la machine physique de ceux exécutés sur la machine virtuelle. Le logiciel ou le micrologiciel qui crée une machine virtuelle sur le matériel hôte est appelé hyperviseur ou moniteur de machine virtuelle. La virtualisation matérielle diffère de l'émulation matérielle. La virtualisation assistée par matériel facilite la création d'un moniteur de machine virtuelle et permet aux systèmes d'exploitation invités de fonctionner de manière isolée.
La virtualisation de poste de travail consiste à séparer le poste de travail logique de la machine physique.
La virtualisation au niveau du système d'exploitation, également appelée conteneurisation, désigne une fonctionnalité du système d'exploitation dans laquelle le noyau autorise l'existence de plusieurs instances d'espace utilisateur isolées.
L'objectif habituel de la virtualisation est de centraliser les tâches administratives tout en améliorant l'évolutivité et l'utilisation globale des ressources matérielles.
Historique
Une forme de virtualisation a été démontrée pour la première fois avec le système de recherche CP-40 d'IBM en 1967, puis distribuée en open source dans CP/CMS de 1967 à 1972, et réimplémentée dans la famille de machines virtuelles d'IBM de 1972 à nos jours. Chaque utilisateur CP/CMS disposait d'un ordinateur autonome simulé. Chaque machine virtuelle disposait de toutes les fonctionnalités de la machine sous-jacente et (pour son utilisateur) ne pouvait être distinguée d'un système privé. Cette simulation était complète et reposait sur le manuel de principes de fonctionnement du matériel. Elle incluait donc des éléments tels qu'un jeu d'instructions, une mémoire principale, des interruptions, des exceptions et l'accès aux périphériques. Le résultat était une machine unique pouvant être multiplexée entre plusieurs utilisateurs.
La virtualisation assistée par matériel est apparue pour la première fois sur l'IBM System/370 en 1972, pour être utilisée avec VM/370, le premier système d'exploitation de machines virtuelles. IBM a ajouté de la mémoire virtuelle à la série System/370 la même année, une mémoire matérielle différente des anneaux Intel VT-x, offrant un niveau de privilèges plus élevé à l'hyperviseur pour contrôler correctement les machines virtuelles nécessitant un accès complet aux modes Superviseur, Programme ou Utilisateur.
Avec la demande croissante de graphismes haute définition (par exemple, la CAO), la virtualisation des mainframes a perdu de son intérêt à la fin des années 1970, lorsque l'arrivée des mini-ordinateurs a favorisé l'allocation des ressources grâce au calcul distribué, englobant la banalisation des micro-ordinateurs.
L'augmentation de la capacité de calcul par serveur x86 (et en particulier l'augmentation substantielle de la bande passante des réseaux modernes) a ravivé l'intérêt pour l'informatique en centre de données, basée sur les techniques de virtualisation. Le principal moteur était le potentiel de consolidation des serveurs : la virtualisation permettait à un seul serveur de consolider de manière rentable la puissance de calcul de plusieurs serveurs dédiés sous-utilisés. La marque la plus visible d'un retour aux sources de l'informatique est le cloud computing, synonyme d'informatique en centre de données (ou informatique de type mainframe) via des réseaux à haut débit. Il est étroitement lié à la virtualisation.
L'architecture x86 initialement mise en œuvre ne répondait pas aux exigences de virtualisation de Popek et Goldberg pour atteindre la « virtualisation classique » :
Équivalence : un programme exécuté sous le moniteur de machine virtuelle (VMM) devait présenter un comportement essentiellement identique à celui observé sur une machine équivalente directement.
Contrôle des ressources (également appelé sécurité) : le VMM doit avoir le contrôle total des ressources virtualisées.
Efficacité : une fraction statistiquement dominante des instructions machine doit être exécutée sans intervention du VMM.
Cela compliquait la mise en œuvre d'un moniteur de machine virtuelle pour ce type de processeur. Parmi les limitations spécifiques figurait l'impossibilité d'intercepter certaines instructions privilégiées. Par conséquent, pour compenser ces limitations architecturales, les concepteurs ont réalisé la virtualisation de l'architecture x86 par deux méthodes : la virtualisation complète et la paravirtualisation. Ces deux méthodes créent l'illusion d'un matériel physique pour atteindre l'objectif d'indépendance du système d'exploitation, mais présentent des compromis en termes de performances et de complexité.
Link 1
Link 2
Link 3
Link 4
Link 5
Link 6
Link 7
Link 8
Link 9
Link 10
Link 11
Link 12
Link 13
Link 14
Link 15
Link 16
Link 17
Link 18
Link 19
Link 20
Link 21
Ajouter un commentaire