Simulateur ou un Émulateur? Quelle est la différence?
Bien que je comprenne ce que la simulation et l'émulation de moyenne en général, j'ai presque toujours confus au sujet de eux. Supposons que je créer un morceau de logiciel qui imite existant matériel/logiciel, que devrais-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 :))
- Dans les applications mobiles développement, l'iPhone a un simulateur alors que Android est un émulateur. De plus ici - stackoverflow.com/questions/4544588/...
- J'ai découvert Wikipédia sur cette information: en.wikipedia.org/wiki/Emulator#Emulation_versus_simulation
- c'est aussi peut être utile pour expliquer ceci: programmers.stackexchange.com/questions/134746/...
Vous devez vous connecter pour publier un commentaire.
L'émulation est le processus d'imiter l'apparence et les comportements observables pour correspondre à une cible existante. L'état interne de l'émulation mécanisme n'a pas à refléter avec précision l'état interne de la cible, qui est l'émulation.
De Simulation, d'autre part, implique la modélisation de l'état sous-jacent de la cible. Le résultat final d'une bonne simulation, c'est que le modèle de simulation permettra d'émuler la cible, qui est la simulation.
Idéalement, vous devriez être capable de regarder dans la simulation et observez les propriétés qui vous permettrait également de voir si vous avez regardé dans la cible d'origine. Dans la pratique, il peut y quelques raccourcis à la simulation pour des raisons de performances, -- c'est que certains aspects de la simulation peut en fait être une imitation.
MAME est un jeu d'arcade emulator; Hyperterminal est un (pas très bon) un émulateur de terminal. Il n'y a pas besoin de modèle de la machine d'arcade ou d'un terminal dans le détail pour obtenir le désiré des émules comportement.
Flight Simulator est un simulateur; ÉPICES est un simulateur électronique. Ils modèle, autant que possible, tous les détails de la cible pour représenter ce que la cible n'est en réalité.
EDIT: d'Autres réponses ont souligné que l'objectif d'une émulation est capable de se substituer à l'objet, c'est l'émulation. C'est un point important. Une simulation, l'accent est mis plus 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 exécuter beaucoup plus lent que le temps réel. Des ÉPICES, par exemple, ne peut pas substituer un circuit électronique (même si il y avait une sorte de dispositif magique qui parfaitement interfaces des circuits électriques pour une simulation SPICE.)
Une simulation
La Simulation ne mène pas toujours à l'émulation --
Si un vol en simulateur peut vous transporter d'Un point a à B, alors il serait un vol de l'émulateur.
Un émulateur peut remplacer l'original pour réel utilisation.
Un Virtual PC émule un PC.
Un simulateur est un modèle pour l'étude et l'analyse.
Un émulateur aura toujours de fonctionner en temps réel. Pour un simulateur qui n'est pas toujours le cas. Un géologiques, la simulation pourrait faire 1000 ans/seconde ou plus.
Simulation = Pour analyse et étude
Émulation = Pour utilisation en tant que substitut
Un simulateur est un environnement de modèles, mais un émulateur est une réplique de l'utilisation que sur l'original de l'appareil ou du système.
Simulateur imite l'activité de quelque chose que c'est la simulation. Il "apparaît"(beaucoup de choses peuvent aller avec ce "apparaît", selon le contexte), être la même que la chose objet de la simulation. Par exemple, le simulateur de vol "apparaît" un vol réel pour l'utilisateur, bien qu'il ne vous transporter d'un endroit à un autre.
Émulateur, d'autre part, fait "ne" quelle est la chose émulé n', et ce faisant, elle trop "semble être en train de faire la même chose". Un émulateur peut utiliser différents ensemble de protocoles pour imiter la chose imitée, mais le résultat, du résultat est toujours le même que l'objet d'origine. Par exemple, EMU8086 émule le microprocesseur 8086 sur votre ordinateur, ce qui évidemment n'est pas en cours d'exécution sur 8086(=différents protocoles), mais à la sortie il donne, c'est ce qu'est un vrai 8086 donnerait.
C'est une différence de perspective. Les émulateursUn focus recréer le comportement d'un système, sans égard pour la façon dont le système fonctionne en interne. SimulateursDeux l'accent sur la modélisation des composants d'un système. Vous utilisez un émulateur quand vous vous occupez principalement sur ce qu'est un système, et un simulateur quand vous vous souciez de la façon dont il le fait.
Que pour leur anglais général significations, l'émulation est "l'effort à l'égalité ou à excel à un autre dans des qualités ou des actions", tandis que la simulation est de "modèle, reproduire, dupliquer le comportement, l'apparence ou de ses propriétés de". Pas beaucoup de différence. L'émulation vient de æmulus, "en s'efforçant, rivalisant avec la," et est liée à "imiter" et "image", ce qui suggère une surface de levier de la ressemblance. "Simulation" vient de similis "j'aime", que signifie le mot "similaire", ce qui suggère peut-être une meilleure congruence.
Références:
Je ne pense pas que l'émulateur et le simulateur peut être comparé. À la fois imiter quelque chose, mais ne font pas partie de la même portée de reasonning, ils ne sont pas utilisés dans le même contexte.
En bref: un émulateur est conçu pour copier quelques caractéristiques de la orginales et peut même 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 pour les êtres humains. Sans les fonctionnalités 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 peut être substitué à la chose réelle. E. g vous voulez un circuit à travailler comme une ROM (read only memory) de circuit, mais veut également ajuster le contenu jusqu'à ce qu'il est ce que vous voulez. Vous allez utiliser une ROM emulator, une boîte noire (probablement en fonction de PROCESSEUR) avec des propriétés physiques et électriques des interfaces compatibles avec la ROM que vous souhaitez émuler. L'émulateur sera branché sur l'appareil en lieu et place de la vraie ROM. La carte mère ne verrez pas de différence lorsque l'on travaille, mais vous serez en mesure de changer la émulé-ROM du contenu facilement. Dit autrement, l'émulateur s'agir exactement comme la chose réelle, dans son de la carte mère contexte (peut-être un peu plus lent en raison de réel modèle interne), mais il y aura des fonctions supplémentaires (comme la ré-écriture) visible uniquement par le concepteur de la carte mère contexte. Donc émulateur définition pourrait être: quelque chose que d'imiter l'original, a l'ensemble de ses caractéristiques fonctionnelles, peut en fait remplacer dans une certaine mesure, dans le monde réel, et peuvent avoir des fonctionnalités supplémentaires ne sont pas visibles dans le contexte normal.
Un simulateur est utilisé dans un autre contexte de la pensée, de l'e.g un avion simulateur, d'un simulateur de voiture, etc. La simulation prendra soin seulement de certains aspects de la chose réelle, généralement ceux liés à comment un être humain de percevoir et de contrôler. Le simulateur n'exercera pas les fonctions de la vraie substance, et ne peut pas être sustituted à elle. L'avion simulateur ne sera pas voler ou de transporter quelqu'un, ce n'est pas son but à tous. Le simulateur n'est pas destiné à travailler, mais à comparaître pour le pilote, un peu comme la chose réelle à d'autres fins que la normale, par ex. pour permettre la formation au sol (y compris dans des situations inhabituelles comme pour tous-une panne de moteur). Donc, simulateur de définition serait la suivante: 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. En outre, le projet pilote permettra de savoir que le simulator est un simulateur.
Je ne pense pas que nous allons voir tout ROM simulateur, parce que les roms ne sont pas en interaction avec les êtres humains, ni que nous allons voir n'importe quel plan de l'émulateur, parce que les avions ne peuvent pas avoir un remplacement d'effectuer les mêmes fonctions dans le monde réel.
De mon point de vue le modèle à l'intérieur d'un émulateur ou un simulateur peut être n'importe quoi, et n'a pas à être semblable au modèle d'origine. Une ROM emulator modèle sera probablement le logiciel au lieu de matériel, MS Flight Simulator ne peut pas être plus de logiciels il est.
Cette comparaison des deux termes se contredisent sélectionné de la réponse (à partir de Toybuilder) qui met à la différence entre le modèle interne, tandis que ma suggestion est que la différence est de savoir si le faux peut ou ne peut pas être utilisé pour effectuer de la fonction réelle dans le monde réel (pour certains ont accepté de prolonger, en effet).
Remarque que l'avion simulateur aura également pour simuler la terre, le soleil, le vent, etc, qui ne font pas partie de l'avion, de sorte qu'un avion simulateur devra imiter certains aspects de l'avion, ainsi que de l'environnement de l'avion car 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 émule seulement à l'origine, et son but est d'être utilisé dans l'environnement de l'original, pas besoin de s'en inspirer. Retour à l'avion contexte... ce qui pourrait être un avion de l'émulateur? Peut-être un train qui reliera deux aéroports -- en fait, deux d'avion pas -- le transport de passagers, avec des hôtesses de l'air à bord, intérieur de voiture à la recherche comme un réel plan de la cabine, et le capitaine en disant: "mesdames et messieurs, notre altitude est actuellement de 10 kms et la température à notre destination est de 24°C". Son avantage est difficile à voir, hum...
En conclusion, l'émulateur est une chose réelle, destinés à travailler, le simulateur est un faux destiné à tromper l'utilisateur.
Explication Simple.
Si vous voulez convertir votre PC (fonctionnant sous Windows) sur Mac, vous pouvez effectuer une de ces:
(ou)
Dans le premier cas, vous pouvez faire l'expérience de Mac, mais vous ne pouvez pas attendre le même résultat que sur Mac.
Dans le second cas, vous pouvez vous attendre le même résultat que sur Mac, mais le fait demeure que c'est seulement un PC.
Il y a quelques années, je suis venu avec un très court adage qui dit que, je crois, capture l'essence de la différence tout à fait bien:
Par cela je veux dire que vous utilisez un émulateur lorsque vous ne pouvez pas utiliser la chose réelle, et que vous utilisez un simulateur de quand vous ne pouvez pas utiliser la chose réelle et que vous voulez trouver quelque chose à ce sujet.
De comprendre la différence entre un simulateur et d'un émulateur, gardez à l'esprit que d'un simulateur tente de reproduire le comportement d'un périphérique réel. Par exemple, dans le cas du Simulateur iOS, il permet de simuler le comportement réel d'un iPhone/iPad. Cependant, le Simulateur utilise elle-même les différentes bibliothèques installées sur le Mac (comme QuickTime) pour effectuer son rendu de sorte que l'effet est le même qu'un iPhone. En outre, les applications testées sur le Simulateur sont compilées en code x86, ce qui est le byte-code compris par le Simulateur. Un véritable dispositif de l'iPhone, à l'inverse, utilise le BRAS à base de code.
En revanche, un émulateur émule le fonctionnement d'un périphérique réel. Applications testées sur un émulateur sont compilés dans le byte-code utilisé par le périphérique réel. L'émulateur exécute l'application par la traduction du byte-code dans un formulaire qui peut être exécuté par l'ordinateur hôte de l'exécution de l'émulateur.
À comprendre la subtile différence entre la simulation et l'émulation, imaginez que vous essayez de convaincre un enfant de jouer avec des couteaux est dangereux. Pour simuler cela, vous faites semblant de vous couper avec un couteau et un gémissement de douleur. Pour émuler cette, vous coupez vous-même.
Un émulateur est un modèle d'un système qui accepte toutes les entrées valides que le système émulé accepterait, et de produire le même résultat. Si votre logiciel est un émulateur, que si elle reproduit le comportement du système émulé précisément.
Plus ou moins normal langage: Si votre logiciel peut faire tout ce que l'imité système peut faire, c'est un émulateur. Si elle n'est qu'une approximation des résultats d'un système (ou le contraire), c'est un simulateur.
Un émulateur est une alternative à la réalité du système, mais un simulateur est utilisé pour optimiser, de comprendre et d'estimer le système réel.
Simulator: il est semblable à un interprète.
c'est à dire qu'il exécute le code réel dans ligne par ligne pour imiter le comportement
Émulateur: il est semblable exécutable.
dire qu'elle prend le code compilé et l'exécute.
Le comment distinguer les deux termes est un peu floue. Venant d'un monde où "Émulateurs" sont des morceaux de matériel qui vous permettent de débogage de systèmes embarqués. Et rappelez-vous les produits qui vous ont permis d'avoir de la GLACE (Dans le Circuit d'Émulation) capacités pour déboguer une plate-forme PC, je trouve l'utilisation du terme "Émulation" à être un peu un abus de langage pour un logiciel qui SIMULE le comportement d'un élément matériel.
Ma justification pour l'utilisation actuelle du terme qui est de l'Émulation, c'est qu'il peut "augmenter" la fonctionnalité, et seulement avec "raisonnable" approximation du comportement du système.
De GLACE: (Dans le Circuit d'Émulation)
Un morceau de matériel qui est branché sur un conseil d'administration en lieu et place du processeur. Il permet de faire fonctionner le système comme si le processeur était présent. Généralement, ils ont une variante du processeur de réellement exécuter le logiciel avec de la colle logique pour permettre à l'utilisateur de briser executation et seule étape sous le contrôle du matériel. Certains pourraient également fournir une capacité d'enregistrement. La plupart des processeurs modernes de développement de systèmes de remplacer le type de GLACE de l'émulation avec JTAG Émulation, où le JTAG juste pourparlers au processeur par un but spécial de la liaison série et toute exécution est exécuter par le processeur monté sur le conseil d'administration.
Logiciel ÉMULATEUR:
Un 0x86 émulateur est le seul souci d'être en mesure d'exécuter 0x86 langage d'assemblage, pas de l'exactitude de cycle par cycle behaviourial d'un modèle SPÉCIFIQUE 0x86 processeur. Bochs est un exemple. QEMU fait cela, mais permet aussi de "virtualisation" à l'aide de modules du noyau.
SIMULATEUR:
Texas Instruments propose un CYCLE PRÉCIS behaviourial modèle de processeurs pour le développement de logiciel qui est destiné à être une SIMULATION précise de des cœurs de processeurs SPÉCIFIQUES de comportement pour les développeurs de l'utiliser avant d'avoir l'équipement.
Logiciel ÉMULATEUR augmenter la fonctionnalité:
BLEEM a permis non seulement, vous pouvez exécuter Playstation Logiciel, mais a également permis l'affichage pour être sortie avec une résolution plus élevée que la Playstation a été en mesure de fournir, et a également tiré parti des fonctionnalités plus avancées de Gpu qui étaient disponibles. (c'est à dire Mieux le mélange et le lissage des textures.)
Les deux sont des modèles d'un objet que vous avez un peu de moyens pour contrôler les entrées et sorties d'observation de.
La principale différence est que:
Laissez-moi vous donner un exemple, supposons que vous voulez faire quelques tests pour voir comment l'ajout d'un nouveau capteur (comme un thermomètre) à un système aurait des répercussions sur le système. Vous savez que le thermomètre envoie un message en 8 temps, un second contenant sa mesure.
Simulation -- si vous n'avez pas de thermomètre, mais vous voulez tester que ce message sera le taux de ne pas surcharger votre système, vous pouvez simuler le capteur par la fixation d'un appareil qui envoie un nombre aléatoire de 8 fois par seconde. Vous pouvez exécuter un test qui ne dépend pas de la valeur réelle du capteur envoie.
Émulation -- supposons que vous avez un très gros thermomètre à ce que des mesures de 0,001 C, et vous voulez voir si vous pouvez vous en tirer avec un prix moins cher thermomètre qui mesure uniquement la plus proche à 0.5 C. Vous pouvez émuler le moins cher le thermomètre à l'aide d'un coûteux thermomètre et ensuite arrondi à la lecture de la plus proche à 0.5 ° C et l'exécution des tests qui reposent sur les valeurs de température.
Noter que les simulations peuvent également être utilisés pour prévoir ou de prédire le comportement. L'analyse par éléments finis des simulations sont utilisées dans de nombreuses applications, y compris la prévision du temps et du vent virtuel tunnels.
Les définitions des termes:
Cette question est probablement la meilleure façon de répondre en prenant un coup d'oeil à la pratique historique.
Dans le passé, j'ai vu des émulateurs de console de jeu sur PC pour la PlayStation & SEGA.
Simulateurs sont monnaie courante lorsque l'on se réfère à un logiciel qui tente d'imiter la vie réelle des actions, telles que la conduite ou de vol. Gran Turismo et Microsoft Simulateur de Vol du printemps à l'esprit que des exemples classiques de simulateurs.
Comme pour les différences linguistiques, de l'émulation généralement se réfère à l'action de la copie de quelqu'un (ou quelque chose) louable caractéristiques ou des comportements. L'émulation est distincte de l'imitation, dans lequel une personne est copié dans le but de moquerie.
Au sens linguistique du verbe "simulation" est essentiellement de faire semblant ou imiter quelqu'un ou quelque chose.
En sciences de l'informatique à la fois une simulation et d'émulation de produire les mêmes sorties, de la même intrants, que le système d'origine; Cependant, une émulation utilise également le même processus pour y parvenir et est fait de la mêmes matériaux. Une simulation utilise différents processus du système d'origine. Il faut également noter que le terme de réplication, qui est l'intermédiaire de la deux - en utilisant le même processus, mais étant faite d'un matériau différent.
Donc, si je veux exécuter mon vieux jeu Super Mario Bros sur mon PC j'ai une SNES émulateur, parce que c'est à l'aide de la même ou code informatique similaire (processus) pour lancer le jeu, et utilise les mêmes ou de matériaux similaires (puce de silicium).
Cependant, si je veux voler un Boeing 747 jet sur mon PC j'utilise un vol simulateur car il utilise complètement différents processus à partir de l'original (il n'existe pas de réelle ailes, soulever ou de l'aérodynamique impliqué!).
Voici les définitions exactes prises à partir d'un ordinateur de la science glossaire:
Une simulation est un modèle d'un système qui capte les liaisons fonctionnelles entre les entrées et les sorties du système, mais sans nécessairement être basée sur des processus qui sont identiques ou similaires à ceux du système lui-même.
Une réplication est un modèle d'un système qui capte les liaisons fonctionnelles entre les entrées et les sorties du système et est basée sur des processus qui sont identiques ou similaires à ceux du système lui-même.
Une émulation est un modèle d'un système qui capte les liaisons fonctionnelles entre les entrées et les sorties du système, fondé sur des processus qui sont identiques ou similaires à ceux de ce système, et qui est construit de la même matériaux que système.
De Référence: L'Université Ouverte, M366 Glossaire 1.1, 2007
Une simulation est un système qui se comporte similaire à quelque chose d'autre, mais est mis en œuvre dans une façon entièrement différente. Il fournit le comportement de base d'un système, mais ne peut pas nécessairement se conformer à toutes les règles du système simulé. Il est là pour vous donner une idée sur le fonctionnement de quelque chose.
Une émulation est un système qui se comporte exactement comme quelque chose d'autre, et respecte toutes les règles du système émulé. C'est effectivement une réplication complète d'un autre système, à droite vers le bas pour être binaire compatible avec le système émulé les entrées et les sorties, mais dans un environnement différent de l'environnement de l'original système émulé. Les règles sont fixes et ne peuvent être modifiées ou de défaillance du système.
Les définitions des mots pour décrire la différence la meilleure. Une recherche google donne les définitions suivantes de simuler et d'émuler:
simuler imiter l'aspect ou le caractère d'.
émuler égaler ou dépasser (une personne ou réalisation), généralement par l'imitation.
Une simulation imite un système. Une émulation simule un système si bien qu'on pourrait la remplacer ou peut-être même le dépasser.
En informatique, une émulation serait une baisse de remplacement pour le système d'émulation. Souvent, il va même dépasser le système, il est en imitant. Par exemple, une console de jeu émulateurs généralement de faire des améliorations telles qu'une plus grande compatibilité matérielle, de meilleures performances et d'amélioration de la qualité audio/vidéo.
Simulations, d'autre part, sont limités par eux d'être des modèles. Ils sont une des meilleures tenter d'imiter un système, mais pas de remplacement pour elle. Il y a des émulateurs de matériel étant donné que le matériel peut être imité, et il serait difficile de faire la différence. Il n'y a pas d'Agriculture de l'Émulateur, car il n'y a pas d'émulation qui pourrait remplacer actuel de l'agriculture. Nous ne pouvons simuler un modèle de l'agriculture pour avoir un aperçu sur la façon de cultiver mieux.
Un Virtual PC tente de émuler un Ordinateur, du point de vue d'un Programmeur MAIS, dans le même temps, il simule un Ordinateur du point de vue d'un Ingénieur Électrique.
Émulateur:
Envisager une situation que vous ne connaissent que l'anglais et vous êtes en Chine. Afin d'interagir avec un Chinois vous avez besoin d'un traducteur. Maintenant, le rôle de traducteur, c'est qu'il va chercher des commentaires en anglais et de le convertir en Chinois et, et donnent à l'entrée de la personne Chinoise et obtient la réponse de la personne Chinoise et le convertir en anglais et en donner la sortie en anglais. Maintenant que traducteur et personne Chinoise est l'émulateur. Les deux se combinent fournira des fonctionnalités similaires, comme si vous étiez en communication avec la personne en anglais. Afin que le matériel peut être différent, mais la fonctionnalité est identique.
Simulator:
Je ne peux pas donner de meilleur exemple que le pain d'ÉPICES ou de simulateur de vol. Les deux vont remplacer du matériel composant le comportement avec le logiciel ou le modèle mathématique qui va se comporter de manière similaire au matériel.
À la fin, ça dépend du contexte que la solution qui convient le mieux à des besoins du projet.
Simulateur est quelque chose de plus large que Émulateur et il semble que la dualité de ces conditions est overthought dans les posts ci-dessus.
Émulateur
Les gens ont décidé d'utiliser un nouveau mot émulation dans le "monde informatique" quand ils ont commencé à remplacer certaines pièces du système existant de manière simple, imitant leur comportement et en s'appuyant sur le calcul de la nature pour être sûr de ne pas casser quelque chose et de tout laisser en l'équivalent de l'état. Donc, nous avons imité le morceau de ce! (et tout fonctionne toujours comme avant)
Émulateur généralement utilisé dans le sens étroit du terme dans le domaine numérique, comme le remplacement et la virtualisation de la présentation sous forme numérique comme un morceau de logiciel de quelque chose de connu et existait avant virtuels (jetons, cartes de circuits imprimés, appareils électroniques). Alors, quand le monde est devenu de plus en plus numérique et a introduit le émulateur mot pour les masses, les masses ajoutées à l'incertitude (ou d'autres raisons).
Simulateur
Tout d'abord, j'ai vu beaucoup de commentaires sur des émulateurs de faire ou de remplacer quelque chose de réel, mais simulateurs pas.
MAIS simulateur de vol est utilisé pour une chose réelle - il forme des pilotes, leur donne des compétences et des connaissances et remplace cher de vrais avions et permet d'économiser beaucoup d'argent. Et nous ne pouvons dire d'un avion de l'émulateur car nous avons le sentiment intérieur que c'est beaucoup plus que cela, nous l'appelons simulateur 🙂 Avion simulateur pourrait contenir des émules radar ou d'un transpondeur qui est vrai.
Les contre-indications que les simulateurs sont utilisés pour l'analyse et l'étude (et des émulateurs pour quelque chose de réel), mais que l'analyse et l'étude pas moins vrai que émulé GSM conseils (encore plus dans l'ère informationnelle nous vivons dans). L'analyse ajoute une valeur à l'entreprise, réduction des coûts ou des points aux bénéfices non moins de le remplacer (émulé) du matériel.
Simulateur est similaire à la modélisation de quelque chose que nous ne pouvons pas obtenir pour certaines raisons (coût, la technologie, l'impossibilité physique). Il est généralement simulé pour quelque chose de nouveau ou immatériels, ou de complexes ou mal connu de nous, comme le marché, de la météo, de la combustion, de l'utilisateur. Donc, voici le vol, un trou noir, la bourse, les simulations.
Donc finalement:
Comme pour les mots d'origine
Tout est venu du Latin et signifie: