Dans la news de MacGe d'hier, Intel détaillait sa technologie de virtualisation. Beaucoup se demandent ce que cela veut dire et à quoi ça sert.
En fait Intel profite de l'arrivée des processeurs multicores. En effet imaginons une machine avec la configuration suivante :
2 processeurs bicores à 2 GHz
2Go de RAM
2 disques de 100 Gigas chacun
2 cartes ethernet
2 sorties USB
On voit bien qu'avec de telles ressources, il y a de quoi faire deux machines. Justement la virtualisaton cache une technologie qui permet de le faire. Pour cela il suffit de rajouter une couche logicielle pour permettre d'allouer les ressources. Dans les ordinateurs qui permettent la virtualisation, cette couche s'appelle en général l'hyperviseur. C'est lui qui permet de configurer les machines dites virtuelles.
Vous vous poser certainement la question de savoir comment la mémoire qui est physique comment est-elle divisée? Eh bien il faut savoir que dans les OS modernes, la mémoire physique est divisée en pages. une application qui s'exécute est chargée en mémoire. En fait tout son code n'est pas dans la mémoire physique. Une partie est certes en mémoire physique mais une autre est soit en cache soit sur disque dur.
D'autre part la mémoire physique d'une machine n'est pas remplie des pages de code d'un seul programme. Par contre les pages en mémoire physique ne dépassent pas la taille totale de celle-ci. En géneral la taille d'une page est de 4k. cela veut dire qu'une mémoire de 1 Giga de Ram aura 256 pages.
Dans ces conditions le fait de configurer par l'hyperviseur une mémoire de 1giga pour une machine virtuelle veut simplement dire que les programmes tournant sur cette machine virtuelle n'auront pas plus de 256 pages en mémoire réelle qui elle a 2 gigas.
Quant aux processeurs, au lieu de voir les procs physiques, on peut raisonner en terme de puissance disponible. Supposons que nos 2 procs bicores procurent une puissance constructeur de 12 unités de puissance (donnée purement constructeur). On peut estimer qu'on a une machine à 3 unités de puissance par proc.
Certains hyperviseurs permettent des configuration de 1/10 ème de puissance. Ainsi il n'est pas superflu d'attribuer par exemple à une machine 0,6 CPU. ce qui équivaut à 0,6 de la puissance globale de la machine.
Certaines technologies permettent la configuration de machines virtuelles (ou partitions) dynamiques. Cela veut dire qu'au lieu d'attribuer une puissance, on en attribue 3 valeurs de puissance.
Une valeur minimum par exemple 1 CPU, une valeur de CPU souhaitée soit par exemple 2 CPUs puis enfin une valeur maximum par exemple de 3CPUs. Tut cela sur une machine possédant une puissance de 4 CPUs.
Cela veut dire que pour fonctionner, ma partition doit avoir la puissance d'un proc. et que si l'autre machine ne fait pratiquement rien elle pourra aller jusqu'à s'octroyer une puissance de 3 CPUs. Et dans un cas de fonctionnement normal des deux partitions, elle a une puissance équivalente à 2 CPUs.
Même les éléments d'I/O comme disques et réseau peuvent être virtualisés.
Chose aussi importante, c'est que une fois les partitions configurées, on peut y installer l'OS que l'on veut. Donc un mac OS X sur une partition et un Windows Vista sur une autre. Cotrairement au dual boot, ici les deux partitions fonctionnent en même temps. L'hyperviseur permet de passer d'une partition à une autre.
J'espère avoir été assez clair. La discussion peut commencer
En fait Intel profite de l'arrivée des processeurs multicores. En effet imaginons une machine avec la configuration suivante :
2 processeurs bicores à 2 GHz
2Go de RAM
2 disques de 100 Gigas chacun
2 cartes ethernet
2 sorties USB
On voit bien qu'avec de telles ressources, il y a de quoi faire deux machines. Justement la virtualisaton cache une technologie qui permet de le faire. Pour cela il suffit de rajouter une couche logicielle pour permettre d'allouer les ressources. Dans les ordinateurs qui permettent la virtualisation, cette couche s'appelle en général l'hyperviseur. C'est lui qui permet de configurer les machines dites virtuelles.
Vous vous poser certainement la question de savoir comment la mémoire qui est physique comment est-elle divisée? Eh bien il faut savoir que dans les OS modernes, la mémoire physique est divisée en pages. une application qui s'exécute est chargée en mémoire. En fait tout son code n'est pas dans la mémoire physique. Une partie est certes en mémoire physique mais une autre est soit en cache soit sur disque dur.
D'autre part la mémoire physique d'une machine n'est pas remplie des pages de code d'un seul programme. Par contre les pages en mémoire physique ne dépassent pas la taille totale de celle-ci. En géneral la taille d'une page est de 4k. cela veut dire qu'une mémoire de 1 Giga de Ram aura 256 pages.
Dans ces conditions le fait de configurer par l'hyperviseur une mémoire de 1giga pour une machine virtuelle veut simplement dire que les programmes tournant sur cette machine virtuelle n'auront pas plus de 256 pages en mémoire réelle qui elle a 2 gigas.
Quant aux processeurs, au lieu de voir les procs physiques, on peut raisonner en terme de puissance disponible. Supposons que nos 2 procs bicores procurent une puissance constructeur de 12 unités de puissance (donnée purement constructeur). On peut estimer qu'on a une machine à 3 unités de puissance par proc.
Certains hyperviseurs permettent des configuration de 1/10 ème de puissance. Ainsi il n'est pas superflu d'attribuer par exemple à une machine 0,6 CPU. ce qui équivaut à 0,6 de la puissance globale de la machine.
Certaines technologies permettent la configuration de machines virtuelles (ou partitions) dynamiques. Cela veut dire qu'au lieu d'attribuer une puissance, on en attribue 3 valeurs de puissance.
Une valeur minimum par exemple 1 CPU, une valeur de CPU souhaitée soit par exemple 2 CPUs puis enfin une valeur maximum par exemple de 3CPUs. Tut cela sur une machine possédant une puissance de 4 CPUs.
Cela veut dire que pour fonctionner, ma partition doit avoir la puissance d'un proc. et que si l'autre machine ne fait pratiquement rien elle pourra aller jusqu'à s'octroyer une puissance de 3 CPUs. Et dans un cas de fonctionnement normal des deux partitions, elle a une puissance équivalente à 2 CPUs.
Même les éléments d'I/O comme disques et réseau peuvent être virtualisés.
Chose aussi importante, c'est que une fois les partitions configurées, on peut y installer l'OS que l'on veut. Donc un mac OS X sur une partition et un Windows Vista sur une autre. Cotrairement au dual boot, ici les deux partitions fonctionnent en même temps. L'hyperviseur permet de passer d'une partition à une autre.
J'espère avoir été assez clair. La discussion peut commencer