598 Stimmen

Simulator oder Emulator? Was ist der Unterschied?

Obwohl ich im Allgemeinen verstehe, was Simulation und Emulation bedeuten, werde ich fast immer verwirrt darüber. Nehmen wir an, ich erstelle ein Stück Software, das vorhandene Hardware/Software imitiert, wie sollte ich es nennen? Ein Simulator oder ein Emulator?

Kann mir jemand den Unterschied in Bezug auf die Programmierung erklären?

Bonus: Was ist der Unterschied in Englisch zwischen diesen beiden Begriffen? (Entschuldigung, ich bin kein Muttersprachler :))

3voto

None Punkte 5232

Die Definitionen der Wörter beschreiben den Unterschied am besten. Eine Google-Suche liefert folgende Definitionen von simulieren und emulieren:

simulieren das Aussehen oder den Charakter von etwas nachahmen.

emulieren eine Person oder Leistung erreichen oder übertreffen, typischerweise durch Nachahmung.

Bei einer Simulation wird ein System imitiert. Bei einer Emulation wird ein System so gut simuliert, dass es es ersetzen oder sogar übertreffen könnte.

In der Informatik wäre eine Emulation ein Ersatz für das System, das es emuliert. Oft übertrifft es sogar das System, das es imitiert. Zum Beispiel verbessern Konsolenemulatoren häufig die Hardwarekompatibilität, die Leistung und die Audio-/Videoqualität.

Im Gegensatz dazu sind Simulationen durch ihre Modelle begrenzt. Sie sind der beste Versuch, ein System zu imitieren, aber keine Ersatz für es. Es gibt Hardware-Emulatoren, weil Hardware imitiert werden kann und es schwer wäre, den Unterschied zu erkennen. Es gibt keinen Bauernhof-Emulator, weil es keine Emulation gibt, die echte Landwirtschaft ersetzen könnte. Wir können nur ein Modell der Landwirtschaft simulieren, um Einsicht darüber zu gewinnen, wie man besser Landwirtschaft betreiben kann.

3voto

Zaid Punkte 35800

Diese Frage wird wahrscheinlich am besten beantwortet, indem man sich die historische Praxis ansieht.

In der Vergangenheit habe ich Gaming-Konsolen-Emulatoren auf dem PC für die PlayStation & SEGA gesehen.

Simulationen sind üblich, wenn es um Software geht, die versucht, reale Handlungen wie Fahren oder Fliegen zu imitieren. Gran Turismo und der Microsoft Flight Simulator kommen als klassische Beispiele für Simulationen in den Sinn.

Was den sprachlichen Unterschied betrifft, bezieht sich Emulation in der Regel auf die Nachahmung der lobenswerten Eigenschaften oder Verhaltensweisen einer Person oder Sache. Emulation unterscheidet sich von der Imitation, bei der eine Person zum Zweck der Verspottung kopiert wird.

Die sprachliche Bedeutung des Verbs 'Simulation' besteht im Wesentlichen darin, jemanden oder etwas vorzugehen oder zu imitieren.

3voto

Jay Elston Punkte 1948

Beide sind Modelle eines Objekts, bei dem Sie Mittel zur Steuerung von Eingaben und zur Beobachtung von Ausgaben haben.

Der wesentliche Unterschied ist, dass:

  • Mit einem Emulator möchten Sie, dass die Ausgabe genau dem entspricht, was das Objekt, das Sie emulieren, produzieren würde.
  • Bei einem Simulator möchten Sie, dass bestimmte Eigenschaften Ihrer Ausgabe ähnlich sind zu dem, was das Objekt produzieren würde.

Lassen Sie mich ein Beispiel geben -- nehmen wir an, Sie möchten einige Systemtests durchführen, um zu sehen, wie sich das Hinzufügen eines neuen Sensors (wie eines Thermometers) auf ein System auswirken würde. Sie wissen, dass das Thermometer alle 8 Mal pro Sekunde eine Nachricht mit seiner Messung sendet.

Simulation -- wenn Sie das Thermometer noch nicht haben, aber testen möchten, ob diese Nachrichtenrate Ihr System nicht überlastet, können Sie den Sensor simulieren, indem Sie eine Einheit anschließen, die achtmal pro Sekunde eine Zufallszahl sendet. Sie können Tests durchführen, die nicht auf den tatsächlichen Wert angewiesen sind, den der Sensor sendet.

Emulation -- nehmen wir an, Sie haben ein sehr teures Thermometer, das auf 0,001 °C misst, und möchten sehen, ob Sie mit einem günstigeren Thermometer auskommen, das nur auf die nächste 0,5 °C misst. Sie können das billigere Thermometer emulieren, indem Sie ein teures Thermometer verwenden und dann den Wert auf die nächstgelegene 0,5 °C runden und Tests durchführen, die von den Temperaturwerten abhängen.

Beachten Sie, dass Simulationen auch zur Vorhersage oder zur Vorhersage des Verhaltens verwendet werden können. Simulationen der Finite-Elemente-Analyse finden in vielen Anwendungen Anwendung, einschließlich Wettervorhersagen und virtuelle Windkanäle.

Die Definitionen der Begriffe:

  • Emulation -- übertreffen oder genau entsprechen
  • Simulation -- im Aussehen oder Charakter imitieren

0 Stimmen

Hinweis -- das ist sehr ähnlich wie die Antwort auf eine Frage, die als Duplikat dieser markiert wurde (stackoverflow.com/questions/2174638/…). Ich habe eine Definition der Begriffe hinzugefügt (die in der Frage gefordert wurde, aber noch nicht beantwortet wurde) und auch einige Informationen über die Verwendung von Simulation (Finite-Elemente-Analyse) für etwas mehr als das Nachahmen eines Geräts hinzugefügt.

3voto

Aeolai Punkte 199

Informatik produzieren sowohl eine Simulation als auch Emulation die gleichen Ausgaben, basierend auf den gleichen Eingaben, die das Originalsystem tut; Allerdings verwendet eine Emulation auch die gleichen Prozesse, um dies zu erreichen und besteht aus den gleichen Materialien. Eine Simulation verwendet unterschiedliche Prozesse als das Originalsystem. Ebenso erwähnenswert ist der Begriff Replikation, der ein Zwischenschritt zwischen den beiden ist - er verwendet die gleichen Prozesse, besteht jedoch aus einem anderen Material.

Wenn ich also mein altes Super Mario Bros-Spiel auf meinem PC ausführen möchte, verwende ich einen SNES Emulator, weil er den gleichen oder ähnlichen Computercode (Prozesse) verwendet, um das Spiel auszuführen, und die gleichen oder ähnlichen Materialien (Siliziumchip) verwendet. Wenn ich jedoch einen Boeing 747-Jet auf meinem PC fliegen möchte, verwende ich einen Flug Simulator, weil er komplett andere Prozesse als das Original verwendet (es gibt keine tatsächlichen Flügel, Auftrieb oder Aerodynamik beteiligt!).

Hier sind die genauen Definitionen aus einem Informatik Glossar:

Eine Simulation ist ein Modell eines Systems, das die funktionalen Verbindungen zwischen den Eingaben und Ausgaben des Systems erfasst, jedoch nicht unbedingt auf Prozessen basiert, die mit denen des Systems selbst identisch oder ähnlich sind.

Eine Replikation ist ein Modell eines Systems, das die funktionalen Verbindungen zwischen den Eingaben und Ausgaben des Systems erfasst und auf Prozessen basiert, die mit denen des Systems selbst identisch oder ähnlich sind.

Eine Emulation ist ein Modell eines Systems, das die funktionalen Verbindungen zwischen den Eingaben und Ausgaben des Systems erfasst, basierend auf Prozessen, die mit denen dieses Systems identisch oder ähnlich sind, und das aus denselben Materialien wie dieses System besteht.

Quelle: Die Open University, M366 Glossar 1.1, 2007

2voto

Abhinav Punkte 83

Ein virtueller PC versucht einen Computer zu emulieren, auf Programmierebene ABER gleichzeitig simuliert er einen Computer auf Elektroingenieurebene.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X