Bof ... l'un ou l'autre ont quand même des conséquences sur les perfs. La virtualisation ne fait que "passer" les instruction au cpu sans "traduction" tandis que l'émulation doit "traduire" les instructions. On peut considérer que "virtualisation" est un terme trop générique et qu'il peut englober l'émulation, mais en pratique c'est plus qu'un détail d'implémentation.
Pour moi c'est un détail d'implémentation quand même dans ce cas précis.
Dans les deux cas, tu as un système invité qui tourne comme s'il tournait sur du matériel dédié. La méthode diffère un peu, ce qui a en effet un impact sur les performances, mais dans les deux cas le système invité n'y voit que du feu. C'est transparent pour lui, l'un comme l'autre sont bien interchangeables.
Après l'impact réel sera peut être pour l'utilisateur pour qui la perte en perf serait trop grande (et encore). Mais du point du vue système invité il n'a aucun moyen de voir la différence.
Note d'ailleurs dans les deux cas il y a traduction même si l'un est plus léger qu'un autre. D'ailleurs tous les processeurs x86 n'ont pas le même jeu d'instruction, même sous l'ère x86_64. Mais la virtualisation simple comme tu dis peut avoir une implémentation générique matérielle pertinente pour améliorer les performances. Par contre Intel et AMD ne vont pas investir pour mettre sur silicium des accélérateurs de traductions des instructions pour une console NES sur x86, ça ne serait pas rentable. D'ailleurs tu le vois la perte en perf quand tu utilises la virtualisation sur des processeurs dépourvus de cette fonctionnalité matérielle.
La limite est plus mince que tu ne le penses à mon avis.
[^] # Re: Tout est possible, c'est le jeu de la vie
Posté par Renault (site web personnel) . En réponse au journal fin de la compatibilité 16/32 bits pour l'architecture Intel X86: deux questions. Évalué à 7.
Pour moi c'est un détail d'implémentation quand même dans ce cas précis.
Dans les deux cas, tu as un système invité qui tourne comme s'il tournait sur du matériel dédié. La méthode diffère un peu, ce qui a en effet un impact sur les performances, mais dans les deux cas le système invité n'y voit que du feu. C'est transparent pour lui, l'un comme l'autre sont bien interchangeables.
Après l'impact réel sera peut être pour l'utilisateur pour qui la perte en perf serait trop grande (et encore). Mais du point du vue système invité il n'a aucun moyen de voir la différence.
Note d'ailleurs dans les deux cas il y a traduction même si l'un est plus léger qu'un autre. D'ailleurs tous les processeurs x86 n'ont pas le même jeu d'instruction, même sous l'ère x86_64. Mais la virtualisation simple comme tu dis peut avoir une implémentation générique matérielle pertinente pour améliorer les performances. Par contre Intel et AMD ne vont pas investir pour mettre sur silicium des accélérateurs de traductions des instructions pour une console NES sur x86, ça ne serait pas rentable. D'ailleurs tu le vois la perte en perf quand tu utilises la virtualisation sur des processeurs dépourvus de cette fonctionnalité matérielle.
La limite est plus mince que tu ne le penses à mon avis.