Émulation

En informatique, l'émulation consiste à substituer un élément de matériel informatique – tel un terminal informatique, un ordinateur ou une console de jeux – par un logiciel.

La définition du terme émuler est « chercher à imiter ». Il faut voir dans l'émulation une imitation du comportement physique d'un matériel par un logiciel, et ne pas le confondre avec la simulation, laquelle vise à imiter un modèle abstrait. L'émulateur reproduit le comportement d'un modèle dont toutes les variables sont connues, alors que le simulateur tente de reproduire un modèle mais en devant extrapoler une partie des variables qui lui sont inconnues (exemple : la simulation du comportement d'un trou noir). Le recours à un émulateur, selon le contexte, permet de faciliter le développement ou le débogage d'un système ou de remplacer un système obsolète ou inutilisable par un autre. Dans ce cadre, il est possible de faire fonctionner le nouveau système, l'émulateur, de la même manière que le système imité.

Applications

Émulation d'un système Unix par Cygwin.

On peut discerner plusieurs applications principales.

Émulateur de terminal

Article détaillé : Émulateur de terminal.

L'émulation d'un terminal informatique est pratiquée depuis les années 1970 [1]. En effet, les terminaux physiques sont devenus rares, mais le mode d'interaction est resté. Ainsi on utilise un émulateur de terminal comme xterm pour émuler une console VT100.

Émulation d'ordinateur

Pour une imitation logicielle d'un ordinateur, on stocke le contenu des périphériques de stockage ( disque durs…) dans des fichiers images (reflets) des périphériques d'origine. Ces fichiers images peuvent être à taille fixe (qui ne grandira pas) ou à taille dynamique (qui grandira au fur et à mesure que l'on y stocke des données dans la limite de la taille du disque dur physique sur lequel ce fichier image se trouve).
Parfois, ces émulateurs d'ordinateurs utilisent certains lecteurs physiques comme les lecteurs de CD rom ce qui permet d'utiliser directement les supports de stockage sans être obligé de transférer leurs données dans des fichiers images qui prennent de la place sur le disque dur.

Émulation en conception électronique

Dans le domaine de l' électronique de l' informatique embarquée, le terme émulateur désigne un dispositif matériel (électronique) qui permet de faire du développement et du débogage. Dans ce cadre, et afin de marquer la différence, on parle de simulateur pour un logiciel qui émule le comportement d'un microprocesseur.

L'émulateur remplace physiquement le microprocesseur (ou le microcontrôleur) à l'aide d'une sonde ( connecteur dont le brochage est compatible avec ce dernier). L'électronique pilotée de l'émulateur remplace ainsi (idéalement strictement à l'identique) le microprocesseur d'un point de vue électrique et numérique. La sonde est interfacée (généralement via une carte périphérique spécifique) avec un ordinateur de développement pour permettre à l' ingénieur de contrôler et d'observer le fonctionnement du microprocesseur émulé.

On parle d'émulateur temps-réel lorsque celui-ci respecte les contraintes temporelles du microprocesseur (cycles d'écriture, temps de réponse…).

Ce type de matériel est très coûteux en comparaison du circuit émulé, coût lié au développement complexe d'un tel dispositif et au fait qu'il ne fait pas l'objet d'une utilisation massive : l'émulateur est utilisé dans le développement, le microprocesseur/microcontrôleur est utilisé pour la production (de masse). De plus, il n'existe généralement des émulateurs que pour les « petits » microcontrôleurs (8 bits). Pour les autres, il est plus fréquent de voir ce que l'on appelle un «  in-circuit emulator » (ICE) : l'émulateur est alors intégré au microprocesseur lui-même et est connecté à l'ordinateur de développement via une interface plus simple (comme le célèbre JTAG).

Other Languages
العربية: محاكي (حاسوب)
azərbaycanca: Emulyator
беларуская: Эмуляцыя
български: Емулатор
čeština: Emulátor
dansk: Emulator
Deutsch: Emulator
English: Emulator
español: Emulador
eesti: Emulaator
فارسی: برابرساز
עברית: אמולציה
hrvatski: Emulator
magyar: Emulátor
interlingua: Emulator
Bahasa Indonesia: Emulator
Ido: Emuleso
italiano: Emulatore
한국어: 에뮬레이터
lietuvių: Emuliatorius
Nederlands: Emulator
norsk nynorsk: Emulator
norsk: Emulator
polski: Emulator
português: Emulador
русский: Эмуляция
Simple English: Emulator
slovenščina: Emulator
српски / srpski: Емулатор
svenska: Emulator
Türkçe: Öykünücü
українська: Емуляція
中文: 仿真器