Virtualisation d'un réseau intranet( Télécharger le fichier original )par Bonhomie BOPE Institut supérieur de techniques appliquées - Ingénieur en génie électrique 2010 |
II.6.3. Le Système a HyperviseurUn hyperviseur est une plate-forme de virtualisation qui permet à plusieurs systèmes d'exploitation de travailler sur une machine physique en même temps. L'Hyperviseur est un noyau hôte allégé et optimisé pour ne faire tourner que des noyaux des systèmes invités adaptés et optimisés pour tourner sur cette architecture spécifique, les systèmes invité ayant conscience d'être virtualisés. L'utilisation d'un hyperviseur est en quelque sorte l'évolution logique de la paravirtualisation, l'on recherche encore une amélioration des performances. Dans les technologies précédentes, le système hôte était le seul à avoir un accès direct au matériel ; avec hyperviseur, le système hôte partage cet accès avec les systèmes invités. 9 On parle de portage, de la même manière qu'on porte un système ou une application vers une nouvelle architecture matérielle. Au démarrage de l'ordinateur, c'est normalement le système d'exploitation qui prend la main et contrôle le matériel. Dans le cas de l'utilisation d'un hyperviseur, c'est un système minimaliste, l'hyperviseur, qui prend le contrôle du matériel. Ensuite, il fait appel à un système d'exploitation complet, qui sera donc exécuté par-dessus l'hyperviseur. Ainsi, le système d'exploitation doit passer par l'hyperviseur pour tout accès au matériel. On peut donc très facilement installer un deuxième système d'exploitation, qui passera lui aussi par l'hyperviseur pour l'accès au matériel. Comme les systèmes d'exploitation doivent obligatoirement passer par ce dernier pour tout accès au matériel, l'hyperviseur peut assurer qu'ils n'accèdent qu'aux ressources autorisées, sans perturber le fonctionnement des autres systèmes. A la différence des deux technologies vues précédemment, la virtualisation complet et la paravirtualisation, l'hyperviseur est le seul à un accès privilégié au matériel. Il n'y a cette fois pas d'accès direct au matériel pour le système d'exploitation, uniquement une couche d'abstraction minimale fournie par l'hyperviseur comme illustre la figure 9 ci-dessous. fig. 9. virtualisation par Hyperviseur Sur la figure 9, les systèmes cohabitent au même
niveau de privilège, a donc plus de couche d'abstraction logicielle, le matériel accessible est celui de la machine physique, avec toutes les fonctionnalités qu'il peut offrir. Le gain de performance est significatif, notamment dans le cas des E/S, où le système peut utiliser toutes les extensions des périphériques pour accélérer les transferts. Du point de vue privilège, et selon certaines implémentations, il y a souvent un système privilégié, qui est en général le premier système démarré par l'hyperviseur. Ce système est alors autorisé à modifier les paramètres de l'Hyperviseur ou à installer des nouveaux systèmes invités. A l'opposé, sur d'autres implémentations, la différence entre hôte et invité est inexistante, tous les systèmes ont les mêmes privilèges et l'Hyperviseur est alors contrôlé d'une autre manière. Les systèmes à hyperviseur contrôlent de façon plus fine l'accès au matériel et l'utilisation des ressources. Au niveau de l'hyperviseur, on veillera donc qu'un système ne dérange pas les autres en consommant trop de ressources, alors que dans le système de virtualisation complète, on s'assurera qu'un programme utilisateur ne dérange pas la machine virtuelle qui exécute les autres systèmes d'exploitation en tant que systèmes invités. Tous les systèmes destinés à s'exécuter au-dessus d'un hyperviseur doivent être portés10, comme les systèmes invités pour la paravirtualisation. Cette opération vise à adapter les couches basses du niveau système d'exploitation pour qu'elles communiquent avec l'hyperviseur plutôt qu'avec le matériel. Les inconvénients sont donc les mêmes que pour la paravirtualisation : il est nécessaire d'avoir accès au code source de tous les systèmes ainsi que l'autorisation du détenteur des droits. En outre, le portage est beaucoup plus lourd à réaliser pour fonctionner sur un hyperviseur. En effet, pour la paravirtualisation, seuls quelques pilotes et sous-systèmes avaient besoin d'être réécrits pour tirer parti de l'accélération. Au contraire, un hyperviseur nécessite la modification de toutes les couches d'accès au matériel ; la complexité du code s'en trouve grandement augmentée. Le portage sur un hyperviseur revient quasiment à porter le système d'exploitation sur une nouvelle architecture matérielle. Les technologies vues jusqu'alors présentent une complexité croissante quant à la mise en oeuvre. Cependant les technologies que proposent le cloisonnement ou l'isolation sont différentes. 10 Un portage est l'adaptation d'un programme dans un environnement autre que son environnement d'origine. Dans le domaine du jeu vidéo, on parle de portage lorsqu'un jeu est adapté d'un système à un autre ; (source : http://fr.wikipedia.org/wiki/portage#Informatique visité le 25 juillet 2011 à 17h14. |
|