Je me souviens, il y a quelques années avec ATARI, on parlait d'émulateur pour faire tourner un logiciel qui n'était pas prévu fonctionner avec un OS.
Quelle est la différence entre un émulateur et un wrapper ?
Merci.
Un émulateur comme son nom l'indique émule une machine pour fonctionner sur une autre qui est totalement incompatible. Globalement, tu traduis les instructions machine au niveau assemble (instruction de base pour le CPU). Par exemple, on émule un processeur ARM sur processeur x86, exemple typique pour développer sur Android pour un smartphone/tablette sans avoir ce téléphone sous la main. Ou encore, émuler une console sur PC.
Wine est un wrapper qui traduit les appels systèmes (exemple "lire le fichier bidule", "jouer le son", ...) d'un système d'exploitation sur un autre. Il faut par contre que les fichiers exécutables soient compilés pour des architectures identiques. On peut donc faire tourner un programme Windows x86 sur un Linux x86. Tu ne pourras par contre pas faire tourner un programme Windows x86 sur un Linux ARM, puis qu'on entre ici dans le demain de l'émulation.
Une machine virtuelle, c'est plus proche d'un super wrapper que d'un émulateur.