En quoi la virtualisation diffère-t-elle de l'émulation, en termes de structure ?

Quelqu'un m'a dit qu'un programme de virtualisation comme VirtualBox ne fonctionne pas comme un émulateur dans le sens où il n'émule pas les registres et utilise les vrais pour les données virtualisées qui se trouvent sur le PROCESSEUR. Les émulateurs doivent émuler les registres car ils sont principalement destinés à exécuter des logiciels qui dépendent d'un environnement étranger (par exemple, un émulateur Genesis a besoin des registres et des adresses mémoire de Motorola 68000, le développeur doit donc mettre ces ressources à disposition comme registres émulés).

Ma question principale est, comment la virtualisation est-elle développée? Comment permettre à un système d'exploitation entier de s'exécuter en tant que processus dans une machine virtuelle, mais le faire fonctionner indépendamment tout en utilisant le processeur réel? Je ne connais que l'émulation, pas la virtualisation, donc si quelqu'un pouvait aider, ce serait bien!

PS: Je ne demande pas uniquement quelle est la différence, mais les différences dans la façon dont ils exécutent les logiciels.

demandé sur