Les solutions
Afin de simplifier tout cela, Intel a conçu VT-x et AMD a proposé AMD-V. Ces deux technologies sont très similaire, au point que nous n’allons pas les différencier dans la description suivante. Intel VT-x et AMD-V se composent toutes deux de trois volets, chacun visant à résoudre de façon les difficultés à la virtualisation du CPU, à la virtualisation de la mémoire, et à la virtualisation des périphériques.
La virtualisation du CPU : Intel VT-x et AMD-V
Afin de faciliter la virtualisation du CPU, Intel et AMD ont cherché à supprimer la nécessité de surveillance et de traduction des instructions. Pour ce faire, de nouvelles instructions ont été ajoutées. Une nouvelle structure de contrôle fait aussi son apparition, baptisée VMCS (Virtual Machine Control Structure) chez Intel.
Parmi les nouvelles instructions, l’une d’elles (VM entry chez Intel) permet de basculer le processeur dans un nouveau mode d’exécution, dédié aux systèmes invités. Ce mode possède aussi quatre niveaux de privilèges différents. Ainsi sont supprimés les problèmes liés à l’exécution de l’OS invité en anneau 3 : l’OS invité peut s’exécuter en anneau 3 du mode VM. Quand le contexte l’exige, le processeur bascule du mode invité au mode normal. Cette bascule est décidée par des conditions fixées par le VMM à l’aide des bits de contrôle stockées dans la VMCS.
Au moment de basculer, l’état du processeur dans le mode invité est stocké dans la VMCS et l’état du processeur en mode hôte est rechargé à partir de la VMCS. Les instructions nécessaires sont alors exécutées, puis le VMM fait ressortir le processeur du mode hôte pour repasser en mode invité, en stockant l’état du processeur hôte dans la VMCS et en rechargeant l’état invité précédemment stocké. Il n’y a donc plus aucune traduction d’instructions, les instructions critiques provoquant le passage du mode invité au mode hôte. Passage automatique grâce aux règles fixées dans la VMCS.
Avec ces technologies, Intel et AMD ont considérablement accélérés les programmes de virtualusations et le traitement de ce type d'instructions, lent au départ, s'améliore de plus en plus avec la sortie des nouveaux processeurs (comme on le voit dans le tableau). Par ailleurs, la mise en place des instructions en question a permis la dispartition d'un type de virtualisation, la « paravirtualisation ». Cette technologie consistait à modifier le système d'exploitation client pour qu'il n'utilise plus les instructions posant problèmes (en simplifiant), ce qui permettait de gagner en performances, au détriment de l'universalité (un OS en open source étant nécessaire). L'intégration d'AMD-V et de VT-x a signé l'arrêt de mort de cette technologie.
Dans la pratique, et même si les gains ne sont pas toujours aussi important qu'attendus, VT-x et AMD-V sont maintenant des prérequis pour installer des programmes de virtualisation (comme avec Windows 7) et les (rares) processeurs ne disposant pas encore de ces technologies sont peu à peu mis à l'écart de la virtualisation.
Quels ont les softs de virtualisation qui supporte vt-d ? Vmware ? (quels version de vmware) ...
Petite question :
à l'heure ou le hackintosh est devenu un viol de la propriété intellectuelle d'apple comment devons nous considérer la virtualisation?
Ce système ne profiterait donc qu'à apple ? Puisqu'il est possible d'installer windows sur un mac mais pas l'inverse... (pas de mac os x sur un pc)
Que devons nous attendre de cette avancée technologique puisqu'il ne nous ai pas permis d'installer mac os sur un pc...
Surtout que cela profiterait à bons nombres de professionnels ou même particuliers qui voudraient travailler sur mac os (adobe cs4 entre autres...)
et utiliser windows au loisirs.
Dans mon cas, la virtualisation me permet surtout d'avoir un environnement Windows avec des applis spécifiques qui tournent tout le temps, sans avoir à laisser mon PC (300W de conso) allumé !
Pour cela j'utilise mon Home Server VHS-4 Ve-hotech (45W de conso) qui intègre QEMU/KVM (+ accélération matériel), trés facile d'utilisation et performant, une fois qu'on y a goûté, on ne s'en passe plus
Intéressant ce dossier, même si j'ai remarqué qu'il s'agit surtout d'une mise à jour d'un dossier antérieur. Le sujet m'intéresse car j'ai de plus en plus souvent recours à la virtualisation malgré que je ne dispose pas encore de processeur capable de l'accélérer (j'ai des pentium 4 dépourvu de VT-x).
D'après l'article, si je passe d'un Pentium 4 à un Core i7, je n'aurais pas à choisir entre différents modèles puisque tous les Core i7 accélèrent la virtualisation, ce qui n'est pas le cas de tous les Core 2 : c'est bon à savoir
Juste une remarque à faire concernant le dossier :
Même si Windows Virtual PC, Microsoft Hyper-V et Parallels Workstation exigent effectivement des processeurs qui supportent les fonctions Intel VT-X ou AMD-V, il faut remarquer que les dernières versions de VmWare Workstation (logiciel qui reste la référence dans le domaine) et de Sun VirtualBox (une alternative gratuite) peuvent toujours fonctionner sans problème sur des processeurs plus anciens.
Quant à Windows 7, si Windows Virtual PC ne marche pas, il est toujours possible d'utiliser la version conçue pour Windows Vista.
Avec Microsoft Virtual PC 2007, vous ne pourrez pas bénéficier du XP Mode mais vous pourrez virtualiser sur une machine plus ancienne sous Windows 7. VmWare Workstation 7 et Sun VirtualBox 3.1.4 fonctionnent aussi très bien sous Windows 7 avec un proco ne supportant pas Intel VT-x ou AMD-V.
Dire que la virtualisation perce en 2006 pour faire tourner Windows sur mac, c'est quand meme restrictif. La virtualisation a surtout pris de l'importance dans les datacenter. Pour moi, les choses ont vraiment commencée avec vmware esx server, mais dans certains lieux, le mouvement avait commence avant.
Essentiellement les versions "pro" des programmes, simplement parce que VT-d reste rare. 9a devrait être de plus en plus courant dans le futur, surtout avec les Core ix qui le prennent en charge. Mais ça reste — de par les limitations — dédiés au monde professionnel.
@fricadelle59
On ne peut pas installer Mac OS sur un pc pour la simple et bonne raison que les drivers mac sont développé uniquement pour le matos qu'ils mettent dans leurs machine. On ne trouvera pas de drivers Mac pour une Radeon 5970 par exemple. Autrement dit si tu achètes un pc avec les mêmes composants qu'un mac tu pourrais installer Mac OS en théorie.