Simulateur ou émulateur? Quelle est la différence?

523

Bien que je comprenne ce que la simulation et l'émulation signifient en général, je suis presque toujours confus à leur sujet. Supposons que je crée un logiciel qui imite le matériel / logiciel existant, comment dois-je l'appeler? Un simulateur ou un émulateur?

Quelqu'un pourrait-il expliquer la différence en termes de programmation?

Bonus: Quelle est la différence en anglais entre ces deux termes? (Désolé, je ne suis pas un locuteur natif :))

AraK
la source
3
Dans le développement d'applications mobiles, iPhone a un simulateur tandis qu'Android a un émulateur. Plus ici - stackoverflow.com/questions/4544588/…
Vishnu Haridas
1
J'ai trouvé l'avis de Wikipedia sur cette information: en.wikipedia.org/wiki/Emulator#Emulation_versus_simulation
AmigoNico
cela pourrait également être utile pour expliquer cela: programmers.stackexchange.com/questions/134746/…
Hakan Fıstık

Réponses:

463

L'émulation est le processus consistant à imiter le comportement extérieurement observable pour correspondre à une cible existante. L'état interne du mécanisme d'émulation n'a pas à refléter avec précision l'état interne de la cible qu'il émule.

La simulation, d'autre part, implique la modélisation de l'état sous-jacent de la cible. Le résultat final d'une bonne simulation est que le modèle de simulation émule la cible qu'il simule.

Idéalement, vous devriez pouvoir examiner la simulation et observer les propriétés que vous verriez également si vous regardiez la cible d'origine. En pratique, il peut y avoir des raccourcis vers la simulation pour des raisons de performances - c'est-à-dire que certains aspects internes de la simulation peuvent en fait être une émulation.

MAME est un émulateur de jeu d'arcade; Hyperterm est un émulateur de terminal (pas très bon). Il n'est pas nécessaire de modéliser la machine d'arcade ou un terminal en détail pour obtenir le comportement émulé souhaité.

Flight Simulator est un simulateur; SPICE est un simulateur électronique. Ils modélisent autant que possible chaque détail de la cible pour représenter ce que la cible fait en réalité.

EDIT: D'autres réponses ont souligné que le but d'une émulation est de pouvoir se substituer à l'objet qu'elle émule. Voilà un point important. Une simulation se concentre davantage sur la modélisation de l'état interne de la cible - et la simulation ne conduit pas nécessairement à l'émulation. En particulier, une simulation peut s'exécuter beaucoup plus lentement qu'en temps réel. SPICE, par exemple, ne peut pas se substituer à un circuit électronique réel (même en supposant qu'il existe une sorte de dispositif magique qui relie parfaitement les circuits électriques à une simulation SPICE.) Une simulation de simulation ne conduit pas toujours à l'émulation -

Constructeur de jouets
la source
33
Par cette définition, est-il donc impossible de simuler le monde réel dans un logiciel? Je ne pense pas que nous puissions représenter avec précision l'état sous-jacent du monde réel - émuler uniquement des propriétés observables ... pour l'instant.
Dolph
8
Je ne suis pas d'accord avec ce "modèle de [Simulations] autant que possible chaque détail de la cible pour représenter ce que la cible fait en réalité." Les simulations ont le modèle du système cible avec suffisamment de détails en fonction de l'objectif de la simulation. Par exemple, Flight Simulator ne modélise probablement pas les poissons dans la mer car il est inutile aux fins de la simulation.
Hamdi
18
Exactement la réponse opposée ici: stackoverflow.com/questions/2174638/…
smwikipedia
3
Il semble que la plupart des gens utilisent ces mots dans l'autre sens, comme dans: la simulation se produit généralement à un niveau supérieur à l'émulation (bien que les deux mots soient rarement utilisés ensemble dans un contexte donné). Voir par exemple l'émulateur Android contre le simulateur d'Apple. Je propose de changer les mots dans cette réponse pour rester cohérent avec la majorité des définitions et pour éviter toute confusion pour les futurs visiteurs.
aviateur
1
Je pense que cette réponse a changé les 2 termes. Toutes les autres sources l'expliquent comme suit: simulation = comportement en double; émulation = fonctionnement interne en double. Ce qui conduit à la conclusion suivante: ce sont tous deux des termes SUBJECTIFS flippants.
metalim
351

Si un simulateur de vol pouvait vous transporter de A à B, ce serait un émulateur de vol.

Un émulateur peut remplacer l'original pour une utilisation réelle .
Un PC virtuel émule un PC.

Un simulateur est un modèle d'étude et d'analyse.

Un émulateur devra toujours fonctionner presque en temps réel. Pour un simulateur ce n'est pas toujours le cas. Une simulation géologique pourrait faire 1000 ans / seconde ou plus.

Henk Holterman
la source
6
@Henk Votre exemple de "cockpit" est fantastique même si je l'ai compris après avoir lu la réponse de Toybuilder. Merci :)
AraK
1
Virtual PC n'émule pas , il virtualise. QEmu, d'autre part, ne Emuler. Dans les deux cas, le nom doit être un indice.
Jörg W Mittag
24
Je pense qu'il serait prudent de dire que Virtual PC émule un PC. COMMENT il émule le PC grâce à la virtualisation, mais c'est plus un détail d'implémentation. Vous pourriez faire valoir que la virtualisation matérielle est un sur-ensemble d'émulation, en ce sens qu'elle peut fournir une prise en charge accélérée du processeur, un accès exclusif aux périphériques matériels, etc.
Lee B
Attendez, Virtual PC ne fournit-il pas une réplique à peu près 1: 1 d'un vrai PC? (Je veux dire, la virtualisation du système en général devrait non seulement simuler le comportement externe mais à peu près tous les coins et recoins d'un système, contrairement à la virtualisation des applications où, par exemple, la pile réseau n'est pas recréée).
Camilo Martin
1
Où puis-je trouver ledit émulateur de vol?
Jerry Dodge
175

Simulation = Pour analyse et étude

Émulation = Pour une utilisation comme substitut

Un simulateur est un environnement qui modélise mais un émulateur est un environnement qui reproduit l'utilisation comme sur l'appareil ou le système d'origine.

Le simulateur imite l'activité de quelque chose qu'il simule. Il "apparaît" (beaucoup peut aller avec cela "apparaît", selon le contexte) pour être le même que la chose simulée. Par exemple, le simulateur de vol "semble" être un véritable vol pour l'utilisateur, bien qu'il ne vous transporte pas d'un endroit à un autre.

L'émulateur, en revanche, " fait " ce que fait la chose émulée, et ce faisant " semble faire la même chose ". Un émulateur peut utiliser différents ensembles de protocoles pour imiter la chose émulée, mais le résultat / résultat est toujours le même que l'objet d'origine. Par exemple, EMU8086 émule le microprocesseur 8086 sur votre ordinateur, qui ne fonctionne évidemment pas sur 8086 (= différents protocoles ), mais la sortie qu'il donne est ce que donnerait un vrai 8086.

Dheepak J
la source
9
Réponse la plus claire que j'ai vue. Pour moi, ne pourrait être amélioré qu'en omettant la phrase supplémentaire ou en l'intégrant dans vos excellentes définitions contrastées :-D
doughgle
40

C'est une différence de concentration. Les émulateurs 1 se concentrent sur la recréation du comportement d'un système, sans égard au fonctionnement interne du système. Les simulateurs 2 se concentrent sur la modélisation des composants d'un système. Vous utilisez un émulateur lorsque vous vous souciez principalement de ce que fait un système et un simulateur lorsque vous vous souciez de la façon dont il le fait.

Quant à leur signification générale en anglais, l'émulation est "l'effort d'égaler ou d'exceller une autre en qualités ou en actions ", tandis que la simulation consiste à " modéliser , reproduire, dupliquer le comportement, l'apparence ou les propriétés de". Pas beaucoup de différence. L'émulation vient de l' æmulus , «s'efforçant, rivalisant», et est liée à «imiter» et «image», ce qui suggère une ressemblance avec le levier de surface. "Simulation" vient de similis "like", tout comme le mot "similar", ce qui suggère peut-être une congruence plus profonde.

Références:

  1. Wikipédia: émulateur
  2. Wikipédia: simulation informatique
  3. Wiktionnaire: émulation
  4. Wiktionnaire: simulation
  5. Etymologie en ligne: émulation
  6. Etymologie en ligne: simulation
outis
la source
Votre réponse est différente des autres. Virtual PC est-il un simulateur ou un émulateur selon vous?
Mikaël Mayer
@ MikaëlMayer: Beaucoup de réponses sont différentes des autres, avec seulement quelques similaires. Je considérerais ma réponse équivalente (en ce sens que les choses seraient classées de la même manière) à Toybuilder et cdiggens, et compatible avec Jörg. C'est contraire à Pontus et Aeolai.
sortie
@ MikaëlMayer Virtual PC est un émulateur. Il peut faire tout ce qu'un vrai PC peut faire.
Un utilisateur
1
@Pri Voir la réponse de ce fil concernant Virtual PC. C'est les deux, cela dépend du point de vue. Par exemple, vous pouvez toujours dire que c'est une simulation car elle ne peut pas chauffer comme le fait un véritable ordinateur.
Mikaël Mayer
Merci d'être revenu @ MikaëlMayer, mais pour être honnête, parfois nous ne pouvons pas vraiment différencier si un système est un émulateur ou un simulateur. Un bon éventail de débats commence. J'espère que j'ai raison! Peu dérivent la différence basée sur l'utilisation, sa signification anglaise, la fonctionnalité, l'abordabilité. Mais quand j'applique toutes les réponses dans mon étude de cas, ce n'est pas une chose facile
Un utilisateur
19

Je ne pense pas que l'émulateur et le simulateur puissent être comparés. Les deux imitent quelque chose, mais ne font pas partie de la même portée de raisonnement, ils ne sont pas utilisés dans le même contexte.

En bref: un émulateur est conçu pour copier certaines fonctionnalités de l'orginial et peut même le remplacer dans l'environnement réel. Un simulateur n'est pas conçu pour copier les caractéristiques de l'original, mais seulement pour ressembler à l'original aux êtres humains. Sans les caractéristiques de l'original, le simulateur ne peut pas le remplacer dans l'environnement réel.

Un émulateur est un appareil qui imite quelque chose d'assez près pour qu'il puisse être substitué à la vraie chose. Par exemple, vous voulez qu'un circuit fonctionne comme un circuit ROM (mémoire morte), mais vous voulez également ajuster le contenu jusqu'à ce qu'il soit ce que vous voulez. Vous utiliserez un émulateur de ROM, une boîte noire (susceptible d'être basée sur le processeur) avec des interfaces physiques et électriques compatibles avec la ROM que vous souhaitez émuler. L'émulateur sera branché sur l'appareil à la place de la vraie ROM. La carte mère ne verra aucune différence lors du travail, mais vous pourrez facilement changer le contenu de la ROM émulée. Autrement dit, l'émulateur agira exactement comme la réalité dans son contexte de carte mère (peut-être un peu plus lent en raison du modèle interne réel) mais il y aura des fonctions supplémentaires (comme la réécriture) visibles uniquement par le concepteur, hors du contexte de la carte mère . La définition de l'émulateur serait donc: quelque chose qui imite l'original, a toutes ses fonctionnalités,

Un simulateur est utilisé dans un autre contexte de réflexion, par exemple un simulateur d'avion, un simulateur de voiture, etc. La simulation ne prendra en charge que certains aspects de la réalité, généralement ceux liés à façon dont un être humain le percevra et le contrôlera.. Le simulateur n'effectuera pas les fonctions des éléments réels et ne pourra pas y être soutenu. Le simulateur d'avion ne volera ni ne transportera personne, ce n'est pas du tout son but. Le simulateur n'est pas destiné à fonctionner, mais à apparaître au pilote comme quelque chose de réel à des fins autres que les normales, par exemple pour permettre un entraînement au sol (y compris dans des situations inhabituelles comme une panne de tout moteur). La définition du simulateur serait donc: quelque chose qui peut apparaître à l'homme, dans une certaine mesure, comme l'original, mais ne peut pas le remplacer pour une utilisation réelle. De plus, le pilote saura que le simulateur est un simulateur.

Je ne pense pas que nous verrons un simulateur ROM, car la ROM n'interagit pas avec les êtres humains, ni aucun émulateur d'avion, car les avions ne peuvent pas avoir de remplaçant remplissant les mêmes fonctions dans le monde réel.

À mon avis, le modèle à l'intérieur d'un émulateur ou d'un simulateur peut être n'importe quoi et ne doit pas être similaire au modèle de l'original. Un modèle d'émulateur ROM sera probablement un logiciel au lieu de matériel, MS Flight Simulator ne peut pas être plus de logiciels qu'il ne l'est.

Cette comparaison des deux termes contredira la réponse actuellement sélectionnée (de Toybuilder) qui met la différence sur le modèle interne, alors que ma suggestion est que la différence est de savoir si le faux peut ou ne peut pas être utilisé pour effectuer la fonction réelle dans le monde réel ( dans une certaine mesure acceptée, en effet).

Notez que le simulateur d'avion devra également simuler la terre, le soleil, le vent, etc., qui ne font pas partie de l'avion, donc un simulateur d'avion devra imiter certains aspects de l'avion, ainsi que l'environnement du avion parce qu'il n'est pas utilisé dans cet environnement réel, mais dans une salle de formation.

C'est une grande différence avec l'émulateur qui n'émule que l'original, et son but est d'être utilisé dans l'environnement de l'original sans avoir besoin de l'émuler. Retour au contexte d'avion ... qu'est-ce qu'un émulateur d'avion? Peut-être un train qui reliera deux aéroports - en fait deux marches d'avion - transportant des passagers, avec des hôtesses de l'air à bord, avec un intérieur de voiture ressemblant à une véritable cabine d'avion, et avec un capitaine disant "Mesdames et Messieurs, notre altitude est actuellement de 10 km et la température à notre destination est de 24 ° C ". Son avantage est difficile à voir, hum ...

En conclusion, l'émulateur est une vraie chose destinée à fonctionner, le simulateur est un faux destiné à tromper l'utilisateur.

min
la source
1
L'expression "émulateur ROM" me rappelle les consoles de jeux vidéo virtuels.
Joe Z.
11

Explication simple.

Si vous souhaitez convertir votre PC (exécutant Windows) en Mac, vous pouvez effectuer l'une des opérations suivantes:

(1) Vous pouvez simplement installer un thème Mac sur votre Windows. Ainsi, votre PC ressemble plus à un Mac, mais vous ne pouvez en fait exécuter aucun programme Mac.(SIMULATION)

(ou)

(2) Vous pouvez programmer votre PC pour qu'il fonctionne comme Mac (je ne suis pas sûr que ce soit possible: P). Maintenant, vous pouvez même exécuter des programmes Mac avec succès et attendre la même sortie que sur Mac.(EMULATION)

Dans le premier cas, vous pouvez découvrir Mac, mais vous ne pouvez pas vous attendre à la même sortie que sur Mac.
Dans le second cas, vous pouvez vous attendre à la même sortie que sur Mac, mais il n'en reste pas moins que ce n'est qu'un PC.

Vishnu Vivek
la source
3
C'est à la fois simple et complètement faux. (2) est proche de l'émulation, mais (1) n'est ni l'émulation ni la simulation.
Nick Bastin
10

Pour comprendre la différence entre un simulateur et un émulateur, gardez à l'esprit qu'un simulateur essaie d'imiter le comportement d'un appareil réel. Par exemple, dans le cas du simulateur iOS, il simule le comportement réel d'un appareil iPhone / iPad réel. Cependant, le simulateur lui-même utilise les différentes bibliothèques installées sur le Mac (telles que QuickTime) pour effectuer son rendu afin que l'effet ressemble à celui d'un iPhone réel. De plus, les applications testées sur le simulateur sont compilées en code x86, qui est le code octet compris par le simulateur. Un véritable appareil iPhone, à l'inverse, utilise un code basé sur ARM.

En revanche, un émulateur émule le fonctionnement d'un véritable appareil. Les applications testées sur un émulateur sont compilées dans le code d'octet réel utilisé par le périphérique réel. L'émulateur exécute l'application en traduisant le code d'octet sous une forme qui peut être exécutée par l'ordinateur hôte exécutant l'émulateur.

Pour comprendre la subtile différence entre la simulation et l'émulation, imaginez que vous essayez de convaincre un enfant que jouer avec des couteaux est dangereux. Pour simuler cela, vous faites semblant de vous couper avec un couteau et gémissez de douleur. Pour imiter cela, vous vous coupez réellement.

पवन
la source
7
N'essayez pas cela à la maison les enfants: D
Gearoid Murphy
9

Un émulateur est un modèle de système qui acceptera toute entrée valide que le système émulé accepterait et produirait la même sortie ou le même résultat. Votre logiciel est donc un émulateur, uniquement s'il reproduit avec précision le comportement du système émulé.

cdiggins
la source
Merci. Je pense que c'est une définition très précise de l'émulation. Ainsi, par exemple, Wine est un simulateur car il ne donne pas nécessairement la même sortie précise définie dans Windows?
AraK
6
Soyez prudent lorsque vous essayez de chausse-pied WINE dans un émulateur ou un simulateur. WINE est une couche de compatibilité, qui permet d'exécuter les binaires d'un système sur la couche d'API binaire d'un autre système. Vous pourriez l'appeler un adaptateur. Je suppose que le simulateur n'est pas une mauvaise façon de le comprendre non plus, mais ce n'est pas vraiment beaucoup plus proche que l'émulateur.
Lee B
WINE est une émulation, dans ce spectre. Il a l'apparence extérieure de lier les binaires Windows, mais si vous regardiez les éléments internes, vous n'apprendriez rien sur Windows.
Nick Bastin
9

Il y a quelques années, je suis arrivé avec un adage très court qui, je crois, capture assez bien l'essence de la différence:

Un simulateur est un émulateur en mission.

J'entends par là que vous utilisez un émulateur lorsque vous ne pouvez pas utiliser la vraie chose, et vous utilisez un simulateur lorsque vous ne pouvez pas utiliser la vraie chose et que vous voulez en savoir quelque chose .

Jörg W Mittag
la source
8

Dans un langage plus ou moins normal: si votre logiciel peut faire tout ce que le système imité peut faire, c'est un émulateur. S'il ne fait qu'approcher les résultats d'un système (informatique ou autre), c'est un simulateur.

Pontus Gagge
la source
5

Simulateur: il est similaire à l'interpréteur. c'est-à-dire qu'il exécute réellement le vrai code ligne par ligne pour imiter le comportement

Emulator: c'est un exécutable similaire. c'est-à-dire qu'il prend le code compilé et l'exécute.

satya
la source
4

Un émulateur est une alternative au système réel mais un simulateur est utilisé pour optimiser, comprendre et estimer le système réel.

Ramsharan
la source
3

La distintion entre les deux termes est un peu floue. Venant d'un monde où les "émulateurs" sont des éléments matériels qui vous permettent de déboguer des systèmes embarqués. Et rappelez-vous les produits qui vous ont permis d'avoir des capacités ICE (In Circuit Emulation) pour déboguer une plate-forme PC, je trouve que l'utilisation du terme "Emulation" est un peu impropre pour un logiciel qui SIMULE le comportement d'un matériel.

Ma justification de l'utilisation actuelle du terme est que l'émulation est qu'elle peut "augmenter" la fonctionnalité, et ne concerne qu'une approximation "raisonnable" du comportement du système.

ICE: (In Circuit Emulation) Un morceau de matériel qui est branché sur une carte à la place du processeur réel. Il vous permet d'exécuter le système comme si le processeur réel était présent. Généralement, ceux-ci ont une variante du processeur sur eux pour exécuter réellement le logiciel avec une logique de collage pour permettre à l'utilisateur d'interrompre l'exécution et l'étape unique sous le contrôle du matériel. Certains fourniraient également une capacité de journalisation. La plupart des systèmes de développement de processeurs modernes ont remplacé l'émulation de type ICE par l'émulation JTAG, où le JTAG parle simplement au processeur via une liaison série spéciale et toute l'exécution est effectuée par le processeur monté sur la carte.

ÉMULATEUR logiciel: un émulateur 0x86 ne concerne que la possibilité d'exécuter le langage d'assemblage 0x86, sans fournir de modèle comportemental cycle par cycle précis d'un processeur 0x86 SPÉCIFIQUE. Bochs en est un exemple. QEMU fait cela, mais permet également la "virtualisation" en utilisant des modules de noyau spéciaux.

SIMULATEUR: Texas Instruments fournit un modèle comportemental CYCLE PRÉCIS de ces processeurs pour le développement de logiciels qui est destiné à être une SIMULATION précise du comportement de cœurs de processeur SPÉCIFIQUES à utiliser par les développeurs avant d'avoir du matériel fonctionnel.

Fonctionnalité d'extension du logiciel EMULATOR: BLEEM vous a non seulement permis d'exécuter le logiciel Playstation, mais a également permis à l'affichage d'être émis avec une résolution plus élevée que celle que la Playstation était en mesure de fournir, et a également profité des capacités plus avancées des GPU disponibles. (Par exemple, un meilleur mélange et lissage des textures.)

NoMoreZealots
la source
3

Les deux sont des modèles d'un objet dont vous disposez pour contrôler les entrées et observer les sorties.

La principale différence est que:

  • Avec un émulateur , vous voulez que la sortie corresponde exactement ce que produirait l'objet que vous émulez.
  • Avec un simulateur , vous souhaitez que certaines propriétés de votre sortie soient similaires à ce que l'objet produirait.

Permettez-moi de donner un exemple - supposons que vous vouliez faire des tests de système pour voir comment l'ajout d'un nouveau capteur (comme un thermomètre) à un système affecterait le système. Vous savez que le thermomètre envoie un message 8 fois par seconde contenant sa mesure.

Simulation - si vous n'avez pas encore le thermomètre, mais que vous voulez tester que ce taux de messages ne surchargera pas votre système, vous pouvez simuler le capteur en attachant une unité qui envoie un nombre aléatoire 8 fois par seconde. Vous pouvez exécuter n'importe quel test qui ne dépend pas de la valeur réelle envoyée par le capteur.

Émulation - supposons que vous ayez un thermomètre très cher qui mesure jusqu'à 0,001 C et que vous voulez voir si vous pouvez vous en tirer avec un thermomètre moins cher qui ne mesure qu'au 0,5 ° C près. Vous pouvez émuler le thermomètre moins cher en utilisant un thermomètre cher et puis arrondir la lecture à 0,5 C près et exécuter des tests qui reposent sur les valeurs de température.

Notez que les simulations peuvent également être utilisées pour prévoir ou prédire un comportement. Les simulations d'analyse par éléments finis sont utilisées dans de nombreuses applications, y compris la prévision météorologique et les souffleries virtuelles.

Les définitions des termes:

  • émulation - dépasser ou correspondre exactement
  • simuler - imiter l'apparence ou le caractère
Jay Elston
la source
Remarque - ceci est très similaire à la réponse à une question qui a été marquée comme dup de celle-ci ( stackoverflow.com/questions/2174638/… ). J'ai ajouté une définition des termes (demandés dans la question mais pas encore répondu) et j'ai également ajouté quelques informations sur les utilisations de la simulation (analyse par éléments finis) pour quelque chose de plus que d'imiter un appareil.
Jay Elston
2

Il est probablement préférable de répondre à cette question en examinant la pratique historique.

Dans le passé, j'ai vu des émulateurs de console de jeu sur PC pour PlayStation et SEGA.

Les simulateurs sont monnaie courante lorsque l'on se réfère à un logiciel qui tente d'imiter des actions de la vie réelle, comme la conduite ou le vol. Gran Turismo et Microsoft Flight Simulator me viennent à l'esprit comme des exemples classiques de simulateurs.

Quant à la différence linguistique, l'émulation se réfère généralement à l'action de copier les caractéristiques ou les comportements louables de quelqu'un (ou de quelque chose). L'émulation est distincte de l'imitation, dans laquelle une personne est copiée à des fins de moquerie.

La signification linguistique du verbe «simulation» est essentiellement de faire semblant ou d'imiter quelqu'un ou quelque chose.

Zaid
la source
2

En informatique, une simulation et une émulation produisent les mêmes sorties, à partir des mêmes entrées, que le système d'origine; Cependant, une émulation utilise également les mêmes processus pour y parvenir et est fabriquée à partir des mêmes matériaux . Une simulation utilise différents processus du système d'origine. Il convient également de noter le terme de réplication, qui est l'intermédiaire des deux - utilisant les mêmes processus mais étant fabriqué à partir d'un matériau différent.

Donc, si je veux exécuter mon ancien jeu Super Mario Bros sur mon PC, j'utilise un émulateur SNES , car il utilise le même code informatique ou des processus similaires pour exécuter le jeu et utilise le même matériel ou des matériaux similaires (puce de silicium) . Cependant, si je veux piloter un Boeing 747 sur mon PC, j'utilise un simulateur de vol car il utilise des processus complètement différents de l'original (il n'y a pas d'ailes, de portance ou d'aérodynamisme réels!).

Voici les définitions exactes tirées d'un glossaire informatique:

Une simulation est un modèle de système qui capture les connexions fonctionnelles entre les entrées et les sorties du système, mais sans nécessairement se baser sur des processus qui sont identiques ou similaires à ceux du système lui-même.

Une réplication est un modèle de système qui capture les connexions fonctionnelles entre les entrées et les sorties du système et est basée sur des processus identiques ou similaires à ceux du système lui-même.

Une émulation est un modèle d'un système qui capture les connexions fonctionnelles entre les entrées et les sorties du système, sur la base de processus qui sont identiques ou similaires à ceux de ce système, et qui est construit avec les mêmes matériaux que ce système. .

Référence: The Open University, M366 Glossary 1.1, 2007

Aeolai
la source
2

Une simulation est un système qui se comporte de manière similaire à autre chose, mais qui est implémenté d'une manière entièrement différente. Il fournit le comportement de base d'un système mais ne respecte pas nécessairement toutes les règles du système simulé. Il est là pour vous donner une idée du fonctionnement de quelque chose.

Une émulation est un système qui se comporte exactement comme autre chose et respecte toutes les règles du système émulé. Il s'agit en fait d'une réplication complète d'un autre système, jusqu'à être compatible binaire avec les entrées et sorties du système émulé, mais fonctionnant dans un environnement différent de l'environnement du système émulé d'origine. Les règles sont fixes et ne peuvent pas être modifiées ou le système tombe en panne.

DIXON THANKACHAN
la source
2

Les définitions des mots décrivent le mieux la différence. Une recherche Google donne les définitions suivantes de simuler et émuler:

simuler imiter l'apparence ou le caractère de.

émuler une correspondance ou un dépassement (une personne ou une réussite), généralement par imitation.

Une simulation imite un système. Une émulation simule si bien un système qu'elle pourrait le remplacer ou même le dépasser.

En informatique, une émulation serait une baisse en remplacement du système qu'elle émule. Souvent, il surclasse même le système qu'il imite. Par exemple, les émulateurs de console de jeux apportent généralement des améliorations telles qu'une meilleure compatibilité matérielle, de meilleures performances et une qualité audio / vidéo améliorée.

Les simulations, en revanche, sont limitées par le fait qu'elles sont des modèles. Ils sont une meilleure tentative d'imiter un système, mais pas des remplacements pour lui. Il existe des émulateurs matériels car le matériel peut être imité et il serait difficile de faire la différence. Il n'y a pas d'émulateur agricole car il n'y a pas d'émulation qui pourrait remplacer l'agriculture réelle. Nous ne pouvons que simuler un modèle d'agriculture pour mieux comprendre comment mieux cultiver.

Aucun
la source
1

Un PC virtuel essaie d' émuler un ordinateur, du point de vue d'un programmeur MAIS, en même temps, il simule un ordinateur du point de vue d'un ingénieur électricien .

Abhinav
la source
0

Émulateur:

Considérez une situation que vous ne connaissez que l'anglais et que vous êtes en Chine. Pour interagir avec une personne chinoise, vous avez besoin d'un traducteur. Maintenant, le rôle du traducteur est qu'il recherchera votre entrée en anglais et le convertira en chinois et donnera cette entrée à la personne chinoise et obtiendra la réponse de la personne chinoise et convertira en anglais et vous donnera la sortie en anglais. Maintenant, ce traducteur et chinois est l'émulateur. Les deux moissonneuses-batteuses offriront des fonctionnalités similaires à celles de la communication avec la personne anglaise. Le matériel peut donc être différent mais la fonctionnalité sera la même.

Simulateur:

Je ne peux pas donner un meilleur exemple que SPICE ou un simulateur de vol. Les deux remplaceront le comportement des composants matériels par le logiciel ou le modèle mathématique qui se comportera comme le matériel.

En fin de compte, cela dépend du contexte de la solution qui convient le mieux aux besoins du projet.

Vaibhav Gautam
la source
0

Simulator est quelque chose de plus large qu'Emulator et il semble que la dualité de ces termes soit trop réfléchie dans les articles ci-dessus.

Émulateur

Les gens ont décidé d'utiliser une nouvelle émulation de mots dans le «monde informatique» lorsqu'ils ont commencé à remplacer certaines parties matérielles du système existant de manière simple - en imitant leur comportement et en s'appuyant sur la nature informatique pour être sûr de ne pas casser quelque chose et de tout laisser dans le état équivalent. Nous avons donc imité le morceau de cela! (et le tout fonctionne toujours comme avant)

Émulateur généralement utilisé au sens étroit dans le domaine numérique comme remplacement et virtualisation - se présentant sous forme numérique comme un logiciel - de quelque chose de connu et qui existait auparavant (puces virtuelles, cartes de circuits imprimés, appareils électroniques). Ainsi, lorsque le monde est devenu plus numérique et a apporté le mot de l' émulateur aux masses, les masses y ont ajouté de l'incertitude (ou des raisons supplémentaires).

Simulateur

Tout d'abord, j'ai vu de nombreux commentaires sur les émulateurs qui font ou remplacent quelque chose de réel mais pas les simulateurs.

MAIS le simulateur de vol est utilisé pour une vraie chose - il forme les pilotes, leur donne des compétences et des connaissances et il remplace les vrais avions coûteux et économise beaucoup d'argent. Et nous ne pouvons pas simplement dire un émulateur d'avion parce que nous avons le sentiment intérieur que c'est beaucoup plus que cela, alors nous l'appelons simulateur :) Le simulateur d'avion pourrait contenir un radar émulé ou un transpondeur qui est vrai.

Contre-affirmations que les simulateurs sont utilisés pour l'analyse et l'étude (et les émulateurs pour quelque chose de réel), mais que l' analyse et l'étude ne sont pas moins réelles que les cartes GSM émulées (encore plus à l'ère de l'information dans laquelle nous vivons). L'analyse ajoute une valeur à l'entreprise, réduit les coûts ou fait ressortir des bénéfices non inférieurs à ceux du matériel remplacé (émulé).

Le simulateur est similaire à la modélisation de quelque chose que nous ne pouvons pas obtenir pour une raison quelconque (coût, technologie, impossibilité physique). Il est généralement simulé pour quelque chose de nouveau ou d'intangible ou de complexe ou qui n'est pas bien connu de nous, comme le marché, la météo, la combustion, l'utilisateur. Voici donc le vol, le trou noir, la bourse, les simulations.

Alors finalement:

  1. Le simulateur est plus large que l'émulateur
  2. Le simulateur a tendance à imiter / modéliser des processus / choses plus globaux en général avec la possibilité de réduire l'imitation (par exemple, un simulateur de condensateur avec des préréglages représentant certains modèles connus)
  3. L'émulateur a tendance à imiter certains périphériques matériels avec certaines spécifications, caractéristiques et propriétés connues (par exemple l'émulateur SNES, Intel 8087 ou Roland TB-303)

Quant aux mots d'origine

Tout vient du latin et signifie:

  • émuler est «être égal» (ressemble à plus agressif et simple - rivalité)
  • simuler, c'est "être similaire" (ressemble plus sournois et délicat - imitation)
tour
la source