En fait QEmu et VMWare proposent déjà ces services, c'est ce qu'on appelle un VMM (Virtual machine monitor) qui permet de faire tourner plusieurs VM sur un seul ordinateur.
Actuellement cependant les logiciels en questions sont extrèmement complexes et lourds parce que les CPUs ne sont pas ce qu'on appelle "virtualisables", autrement dit lorsqu'une application en mode non privilégié essaie d'exécuter une instruction du mode privilégié (on parle d'instruction CPU ici), un CPU virtualisable devrait lancer une interruption et laisser le VMM traiter le problème.
Or l'architecture x86 ne fait pas cela (elle a un comportement incohérent selon les instructions, soit elle les ignore, soit elle fait planter le programme fautif...), elle n'est donc pas adapté à la virtualisation directe du CPU (où le VMM se contenterais d'exécuter les OS résident en mode non-privilégié et de traiter les interruptions).
Pacifica ou Vanderpool devrait entre autre permettre de rajouter un mode d'exécution virtualisable à x86. (je crois qu'il y a d'autres points à considérer (comme la gestion de la mémoire : avoir plusieurs MPU matérielles serait utile par exemple) mais je ne suis pas spécialiste). (Pour l'instant les VMMs transforme le code binaire des programmes pour qu'ils exécutent des instructions différentes lorsqu'ils devraient exécuter des instructions privilégiées, mais cela a un coût)
[^] # Re: incomprehensible
Posté par Chaddaï Fouché . En réponse à la dépêche Faille conceptuelle majeure dans la virtualisation matérielle. Évalué à 10.
Actuellement cependant les logiciels en questions sont extrèmement complexes et lourds parce que les CPUs ne sont pas ce qu'on appelle "virtualisables", autrement dit lorsqu'une application en mode non privilégié essaie d'exécuter une instruction du mode privilégié (on parle d'instruction CPU ici), un CPU virtualisable devrait lancer une interruption et laisser le VMM traiter le problème.
Or l'architecture x86 ne fait pas cela (elle a un comportement incohérent selon les instructions, soit elle les ignore, soit elle fait planter le programme fautif...), elle n'est donc pas adapté à la virtualisation directe du CPU (où le VMM se contenterais d'exécuter les OS résident en mode non-privilégié et de traiter les interruptions).
Pacifica ou Vanderpool devrait entre autre permettre de rajouter un mode d'exécution virtualisable à x86. (je crois qu'il y a d'autres points à considérer (comme la gestion de la mémoire : avoir plusieurs MPU matérielles serait utile par exemple) mais je ne suis pas spécialiste). (Pour l'instant les VMMs transforme le code binaire des programmes pour qu'ils exécutent des instructions différentes lorsqu'ils devraient exécuter des instructions privilégiées, mais cela a un coût)
--
Jedaï