Ca dépends effectivement du type de virtualisation/émulation.
KVM ne fait que de la virtualisation "pure", sensée fonctionner dans tous les cas (en principe, et sauf vérification de la part d'un programme virtualisé).
Alors que VirtualBox et vmware (les seuls à ma connaissance) font de la réécriture de code: lorsqu'une instruction protégée est rencontrée, elle est si possible remplacée par un appel "ordinaire". Le logiciel de virtualisation doit savoir quel OS on utilise (c'est pour ça qu'il est utile de préciser qu'on utilise Windows server 2008 par exemple), il va puiser dans sa bibliothèque de solutions toutes faites (définies par les programmes) et hop, il patch le code en cours d'exécution.
Résultat, ça fonctionne plus vite qu'en utilisant le support d'émulation matériel (en gros hein). Résultat bis, ça fonctionne parfaitement aussi sur des processeurs qui ne sont pas prévus pour. Et ça c'est top :-)
Mais c'est un travail nettement plus délicat.
[^] # Re: vt-x
Posté par Kerro . En réponse au message Virtualisation et vx-t. Évalué à 5.
KVM ne fait que de la virtualisation "pure", sensée fonctionner dans tous les cas (en principe, et sauf vérification de la part d'un programme virtualisé).
Alors que VirtualBox et vmware (les seuls à ma connaissance) font de la réécriture de code: lorsqu'une instruction protégée est rencontrée, elle est si possible remplacée par un appel "ordinaire". Le logiciel de virtualisation doit savoir quel OS on utilise (c'est pour ça qu'il est utile de préciser qu'on utilise Windows server 2008 par exemple), il va puiser dans sa bibliothèque de solutions toutes faites (définies par les programmes) et hop, il patch le code en cours d'exécution.
Résultat, ça fonctionne plus vite qu'en utilisant le support d'émulation matériel (en gros hein). Résultat bis, ça fonctionne parfaitement aussi sur des processeurs qui ne sont pas prévus pour. Et ça c'est top :-)
Mais c'est un travail nettement plus délicat.