Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikipediaDie freie Enzyklopädie
Suche

Emulator

aus Wikipedia, der freien Enzyklopädie
Freier EmulatorStella Linux. Plattformübergreifender Emulator derAtari-2600-Konsole
EmulatorHercules. Emulation von Großrechnern

AlsEmulator (vonlateinischaemulari ‚nachahmen‘) wird in derComputertechnik ein System bezeichnet, das ein anderes in bestimmten Teilaspekten nachbildet.

Das nachgebildete System erhält die gleichenDaten, führt vergleichbareProgramme aus und erzielt die möglichst gleichen Ergebnisse in Bezug auf bestimmte Fragestellungen wie das zu emulierende System.

Software-Emulatoren sind Programme, die einen Computer oder ein Betriebssystem nachbilden und es so ermöglichen, Software für diesen Computer auf einem anderen Computer mit einer anderen Architektur zu verwenden oder zu erstellen. So können z. B. Spiele für ältere Spielekonsolen auf einem PC oder einer neueren Spielekonsole ablaufen. Auch kann ein Softwareentwickler bei der Entwicklung eines Programmes für ein Gerät (z. B. ein Mobiltelefon) dieses im Emulator testen und korrigieren, ohne es jedes Mal auf das Gerät kopieren zu müssen.

Ein Hardware-Emulator ist ein elektronisches Gerät, das ein System wie einenDrucker oder einenProzessor (CPU) funktionell, elektrisch oder mechanisch (Gehäuse und Pins) nachbilden kann. Die Verbindung zur Prozessorbaugruppe wird mittelsSockel und passendem Stecker erstellt. Er wird auch alsIn-Circuit-Emulator (ICE) bezeichnet.[1]

EinTerminalemulator ist eine Software, welche die Funktion einesTerminals (Dateneingabe und Bildschirmausgabe) nachbildet, so dass man z. B. von einem PC auf eine entsprechende Anwendung zugreifen kann.

Emulatoren gehören zu denInterpretern.

Geschichte der Emulation

[Bearbeiten |Quelltext bearbeiten]

Im Jahre 1962 wurde erstmals ein (Prozessor-)Emulator eingesetzt.IBM arrangierte zahlreiche Tests in La Grande (Frankreich), um die Kompatibilität ihrer neuen Produkte zu den Vorgängern zu prüfen. Dazu nutzte man eine Kombination aus Hard- und Software, die vom IBM-IngenieurLarry Moss als „Emulator“ bezeichnet wurde. 1965 schließlich wurde dieSystem/360-Linie offiziell veröffentlicht. Sie umfasste auch den ersten Emulator – der „7070 Emulator“ erlaubt die Verwendung von Programmen für das ältere ModellIBM 7070.

1985 erschien derAtari ST mit einer für den Heimcomputermarkt neuen68000-CPU und dem BetriebssystemAtari-TOS. Anfänglich gab es für diese Hardware noch wenig Anwendungs-Software. Der Übergang von der damals weit verbreiteten 8-Bit-Software unterCP/M zur neuen 16-Bit-Welt wurde von Atari durch den kostenlos mitgeliefertenCP/M-Z80-Emulator erleichtert. Dieser reine Softwareemulator erzeugte auf der 68000-Hardware eine virtuelle, vollständigeZ80-CPU sowie ein mit CP/M 2.2 kompatibles Betriebssystem. Dadurch war ein problemloser Betrieb populärer wie vorhandener Software möglich.

MegaDrive war 1994 der erste veröffentlichteVideospielemulator, welcher diegleichnamigeKonsole nachbildete. Dieser unterstützte nur rudimentär das SpielSonic the Hedgehog; Die Entwicklung kam zum Erliegen, nachdem der Programmierer denQuelltext verloren hatte. Im selben Jahr wurde von Chris George die initiale, aber funktionsunfähige Version von „VSMC“ veröffentlicht, womit erstmals dasSuper Nintendo Entertainment System emuliert wurde.

Druckeremulation

[Bearbeiten |Quelltext bearbeiten]

Die heute wohl in der EDV häufigsten Emulationen sindDrucker- oderPlotter-emulationen. Fast alle hochwertigenLaserdrucker emulieren zurzeit einenHewlett-Packard-LaserJet Drucker (HP-PCL), aber auchRasterdrucker werden emuliert. Häufig sind auch nach wie vor die EmulationenEpsonESC/P,IBM-Proprinter und andere.

Terminalemulation

[Bearbeiten |Quelltext bearbeiten]

Eine klassischeTerminalemulation erlaubt die Interaktion mit textorientierten Programmen, die auf einem entfernten Rechner laufen, über eine externe Schnittstelle, meist eine serielle Leitung oder eine Modemverbindung. Heute hingegen sind Netzwerkverbindungen via TCP/IP die Regel. Terminalemulationen wurden programmiert, um das Verhalten eines „dummen“ Terminals, also eines einfachen Datensicht- und Eingabegerätes, nachzuahmen. Neben den textorientierten Terminalemulationen werden heute vermehrt Lösungen zur Remotebearbeitung mit graphischer Oberfläche (Citrix, MS-Remotedesktop, X-Terminal) eingesetzt. Durch diese graphischen Emulationen können beispielsweiseUnix-Benutzer direkt von ihrem Arbeitsplatz aus Programme benutzen, die nur fürWindows verfügbar sind (und umgekehrt). Auch die Administration erleichtert sich, da die wesentlichen Wartungs- und Installationsarbeiten nur an einem System, dem Terminal-Server, erfolgen.

Virtuelle Maschine

[Bearbeiten |Quelltext bearbeiten]
Hauptartikel:Virtuelle Maschine

Eine virtuelle Maschine (kurz: VM) wird oft fälschlicherweise ebenfalls als Emulator bezeichnet. Diese Spezialsoftware erzeugt auf einem Gastgeberrechner eineLaufzeitumgebung, die eigentliche virtuelle Maschine, die die Hardwareschnittstellen des Rechners (oder eines ähnlichen Rechners) abbildet. Ein Gastbetriebssystem läuft – wie üblich – auf der CPU des Gastgeberrechners, jedoch werden alle Zugriffe auf die Ein- und Ausgabehardware auf Softwareschnittstellen des Gastgeberbetriebssystems umgeleitet. Dadurch ist es möglich, unter dem vorhandenen Betriebssystem ein weiteres in einem Fenster auszuführen. Bei professionellen Anwendungen laufen unter einemHypervisor, einer speziellen Form der VM, gar parallel mehrere Gastbetriebssysteme auf nur einer vorhandenen Hardware; faktisch wird dabei also ein einzelner Rechner in mehrere unterteilt.

Beispiele

Kompatibilitätsschicht

[Bearbeiten |Quelltext bearbeiten]

Streng genommen ebenfalls vom Emulator zu unterscheiden ist die „Kompatibilitätsschicht“, die nicht versucht, ein ganzes System zu emulieren, sondern sich auf die Emulation von Softwareschnittstellen beschränkt. Ein bekanntes Beispiel istWine, das unter Unix-artigen Betriebssystemen eine Vielzahl der Softwareschnittstellen von Windows bereitstellt, so dass etliche Windows-Programme unter dem eigentlich fremden Betriebssystem lauffähig werden. Ein weiteres Beispiel sind transparente (vom Benutzer nicht wahrgenommene) in das Betriebssystem integrierte Emulatoren. Beispiele dafür sind das beiWindows NT 4.0 auf derAlpha-Architektur integrierteFX!32, das für eine transparente Emulation von x86-Software verwendet wurde, oderklassisches Mac OS, das eine transparente Emulation vonm68k-Maschinencode bot, odermacOS (ursprünglich „Mac OS X“), das nach einem Architekturwechsel (vonPowerPC zux86 2005 bzw. von x86 zuArm 2021) mitRosetta in bestimmten Versionen ebenfalls eine transparente Emulation als Kompatibilitätsschicht integriert hat.

Siehe auch:Laufzeitumgebung undProgrammierschnittstelle

Anwendungsbereiche

[Bearbeiten |Quelltext bearbeiten]
Software-Emulation des programmierbaren TaschenrechnersHP-41CX von 1983 alsApp auf einemiPhone 6s, 2021. Als Zusatzfunktion kann ein Druckermodus aktiviert werden, der die Ausgabe des damals als Zubehör erhältlichenThermodruckers emuliert.

Emulatoren werden für verschiedene Zwecke eingesetzt:

  • Investitionsschutz: Software, die für ältere Systeme entwickelt worden ist, kann auf modernen Systemen weiter laufen.
    • Beispiel: mittels u. a.Bochs,QEMU,VMware oderVirtual PC wird einIBM-kompatibler PC emuliert, auf dem z. B. eine entsprechende Version vonWindows installiert werden kann; mittelsBasilisk II,SheepShaver oder QEMU wird ein m68k- oder PowerPC-Mac emuliert, auf dem z. B. eine ältere Version vonMac OS installiert werden kann. Damit kann für die jeweilige Plattform gekaufte Software, die nun per Emulation auch auf moderneren Systemen weiterhin zur Verfügung steht, trotz Systemwechsels weiter eingesetzt werden, wenn auch mit gewissen Einschränkungen.
    • Das Open-Source-ProjektWine dagegen emuliert nur die Schnittstellen des Windows-Betriebssystems zur Anwendung.
    • Beispiel: Server von Digital Equipment Corporation – Wegen der hohen Anschaffungskosten sindPDP-11- undVAX-AlphaServer von DEC inklusive des BetriebssystemsOpenVMS oft schon seit über zwanzig Jahren im Einsatz. Bei Emulatoren wieCharon kann das Betriebssystem und die dazugehörigen Applikationen unverändert beibehalten werden, während die Emulatoren selbst auf Standardservern installiert werden.
  • Softwareentwicklung:
    • Es ist möglich, Software für andere Systeme zu entwickeln und zu testen.
      • Beispiel: Programme, die fürPalm OS auf einem PC entwickelt werden, können mit einem Palm-Emulator getestet werden.
    • Es ist möglich, ein Betriebssystem zu testen.
      • Beispiel: Der Emulator „Bochs“ bietet eineDebug-Schnittstelle an. Hiermit kann man prüfen (oder für Lehrzwecke beobachten), wie und ob etwas funktioniert.
    • Es ist möglich, die Funktionsweise komprimierter oder partiell verschlüsselter Software zu ermitteln.
      • Beispiel: Zwecks Identifizierung unbekannter oder gepackter Malware kann diese in einer Testumgebung auf ihre Funktionsweise untersucht werden. Es kann festgestellt werden, ob es sich um bereits bekannte Malware in verschlüsselter oder gepackter Form handelt. Dies ist in einigenAntivirenprogrammen wieComodo Internet Security umgesetzt.
  • Ausbildung: Ein Emulator erlaubt es, sich in Systeme einzuarbeiten, deren Anschaffung sonst sehr aufwändig wäre.
    • Beispiel: Mit demHercules-Emulator wird auf einem PC einS/370 emuliert, auf dem ein komplettesMVS installiert wird.
  • ZurLangzeitarchivierung digitaler Objekte stellt die Emulation eine Alternative zurMigration bzw.Konvertierung dar (siehe auchElektronische Archivierung).
  • Freizeit/Hobby: Konsolenspiele können dank geeigneter Emulatoren wie z. B.MESS oderDolphin unter diversen Betriebssystemen auf aktueller Hardware laufen, darunter neben alten Konsolenspielen aus den frühen achtziger Jahren auch Spiele für neuere Konsolen. Soundemulatoren wie ASAP oder UADE erlauben zudem die Ausgabe der Musik von Computerspielen.
  • Ergonomie: Software, die normalerweise nur auf Systemen mit unergonomischen Ein-/Ausgabegeräten läuft (LC-Displays), kann auf Systemen mit komfortablen Bildschirmen laufen.
    • Beispiel: Die Bildwiedergabe bei Game-Boy-Emulatoren auf einem PC ist besser als bei einem realen Game Boy.
  • DieMOSC-Szene setzt Emulatoren ein, um anPay-TV-Angebote kostenlos und illegal zu gelangen. Diese machen meist einenDump des Original-ROMs derSmartcard und implementieren dieses in einen Emulator für diverse Systeme wie zum Beispiel PCMCIA-PC-Card, DVB-Receiver, DVB-S TV am PC. Der ehemalige Fernsehsender Premiere hatte seinerzeit mit Emulatoren zu kämpfen, da diese genau so funktionieren wie eine Original-Abo-SmartCard des Pay-TV-Senders. Des Weiteren sind nicht nur die verschlüsselten Schlüssel der SmartCard in diesen sog. EMUs enthalten, sondern auch diverse Verschlüsselungsalgorithmen wie z. B. Betacrypt I+II, alle Ableger des Systems Nagravision, Seca Mediaguard, Viaccess etc.

Siehe auch:Simulation,Bochs,DOSBox,MESS,PearPC,QEMU

Hardware-Emulatoren

[Bearbeiten |Quelltext bearbeiten]

Hardware-Emulatoren ermöglichen das Entwickeln von maschinennaher Software, da keine Emulations-Software der in Entwicklung befindlichen Software das Zielsystem „vorgaukelt“, sondern in der Regel eine besondere Hardware ermöglicht, dass die Software in einer „echten“ Umgebung läuft. Die Emulations-Hardware bietet zumeist Möglichkeiten, die Software anzuhalten, Haltebedingungen zu setzen etc. ohne das Laufzeitverhalten der Software zu verändern. Die meisten Möglichkeiten bietet in der Regel einIn-Circuit-Emulator, bei dem ein besonders ausgerüsteterMikroprozessor in der echten Zielhardware zur Softwareentwicklung genutzt wird.

Bekannte Software-Emulatoren

[Bearbeiten |Quelltext bearbeiten]

Emulation von x86-Plattformen

[Bearbeiten |Quelltext bearbeiten]

Emulation von PowerPC-Plattformen

[Bearbeiten |Quelltext bearbeiten]

Emulation von 68k-Plattformen

[Bearbeiten |Quelltext bearbeiten]
  • Basilisk II emuliert einen Macintosh-Computer mitMotorola-68000-Prozessor, hauptsächlich für den Einsatz älterer 68k-Versionen von Mac OS undSystem.
  • UAE emuliert Commodore-Amiga-Systeme (Motorola 68k-Prozessoren und Custom-Chips)

Emulation anderer Plattformen

[Bearbeiten |Quelltext bearbeiten]

Zwitter-Systeme, die emulieren und virtualisieren

[Bearbeiten |Quelltext bearbeiten]

VMware Server,Microsoft Virtual Server undVirtual PC (die Version fürWindows- undOS/2-Systeme) sind alles gemischte Systeme, bei denen im Wesentlichen nur der Prozessor virtualisiert wird. Der Rest der PC-Plattform, wie z. B. Netzwerkkarte, BIOS usw., wird hingegen emuliert.

Unabhängig von der real installierten Hardware (z. B.NE2000) kann z. B. beim VMWare Server entweder eine 100BaseTX-PCI-Netzwerkkarte von AMD, alternativ eine 1000BaseTX-(Gigabit)-PCI-Netzwerkkarte von Intel oder eine virtuelle Karte mit VMWare-eigenen Treibern emuliert werden. Als BIOS wird immer eine Phoenix-Variante emuliert.

Die von Virtual PC emulierte LAN-Karte basiert, ebenfalls unabhängig vom Chipsatz der Karte des Virtual-PC-Hosts, immer auf einemDEC/Intel-21×4×-Ethernet-Chip („Tulip“). Genauso basiert die Soundkarte immer auf einemSound Blaster 16.

Oft dafür gehalten, jedoch keine Emulatoren

[Bearbeiten |Quelltext bearbeiten]

Folgende Software – überwiegendVirtualisierungslösungen – wird fälschlicherweise oft für Emulations-Software gehalten:

  • VMware ESX Server zählt nicht zu den Emulatoren, da es sich hierbei um Virtualisierung, nicht Emulation, von Systemen handelt und weder Soft- noch Hardware emuliert wird. Vielmehr wird die Hardware virtualisiert
  • Wine (WINEIsNot anEmulator) – kein Emulator, da lediglich API-Funktionen emuliert werden (der Code als solches jedoch direkt ausgeführt wird)
  • CrossOver – siehe WINE
  • Cedega – siehe WINE
  • LINE – wie WINE kein Emulator
  • Xen – ist wie auch der VMware ESX Server einHypervisor und somit ein Virtualisierer
  • E/OS
  • Mac-on-Linux virtualisiert PowerPC-Versionen von klassischem Mac OS und Mac OS X auf einem Computer mit ebenfalls einem PowerPC-Prozessor unter Linux
  • ShapeShifter virtualisiert klassisches Mac OS bis 8.1 auf einem Amiga mit68k-Prozessor (abAmiga 1200)
  • Plex86
  • SCO UNIX – ein Betriebssystem
  • ScummVM – welches lediglich eine ArtInterpreter für verschiedene, vonAdventure-Spielen verwendeteSkriptsprachen ist.
  • Hyper-V – siehe Xen

Systeme und Vorteile der Emulation

[Bearbeiten |Quelltext bearbeiten]

Emulatoren existieren für fast jedes System. Beliebt sind Emulatoren fürHeimcomputer, wie zum Beispiel derVICE für denCommodore 64 oder derUAE für denAmiga. Es existieren jedoch auch weitere unzählige Emulatoren für Computer,Handhelds,Arcade-Automaten undSpielkonsolen, siehe auchMESS.

In letzter Zeit spielen Emulatoren auch in derFreeware-Szene eine bedeutende Rolle. So bietet etwa derGame Boy Advance durch seine relativ einfache Programmierbarkeit die Möglichkeit, Spiele und Anwendungen zu entwickeln, die dann auch auf einem Emulator genutzt werden können.

Für den Nutzer, der Emulatoren z. B. zum Ausführen von alten, kommerziellenComputerspielen einsetzt, ist problematisch, dass diese auch dann noch unter dem Schutze desUrheberrechts stehen, wenn es sie seit mehreren Jahren nicht mehr zu kaufen gibt.

Gegenüber der echten, ursprünglichen Hardware besitzen Spielkonsolen-Emulatoren einige Vorteile. Dazu zählen die exzellente Bildqualität und der digital verarbeitete und somit verlustlos aufnehmbare Ton. Weitere dieBenutzerfreundlichkeit der eigentlichen Systeme erweiternde Aspekte sind z. B. das Verbessern der Videoausgabe (z. B. Weichzeichnen und Filtern von Grafiken bei Konsolen wieSuper Nintendo oderPlayStation, obwohl diese Systeme niemals diese Techniken unterstützten, geschweige denn berechnen könnten) oder das Verwenden vonSavestates zum schnellen Speichern und Laden von Spielständen – jederzeit während derLaufzeit des Spieles.

Nachteile der Software-Emulation

[Bearbeiten |Quelltext bearbeiten]

Der größte Nachteil der Software-Emulation ist, dass sie eine hohe Rechenlast auf dem emulierenden System erzeugen. So können, selbst auf modernen Rechnern, zum Beispiel alte Spieleklassiker teilweise nicht flüssig laufen. Die Software-Entwicklung für solche Emulationen ist sehr aufwendig.

Ein weiterer Nachteil besteht darin, dass Spiele ohne Frame-Limiter zu schnell ablaufen können, wenn die Systemleistung ausreicht, das Spiel mit deutlich mehr Bildern pro Sekunde darzustellen als ursprünglich vorgesehen. Die meisten Emulatoren bieten jedoch die Möglichkeit, die emulierte Rechenleistung zu begrenzen.

Software

[Bearbeiten |Quelltext bearbeiten]

ROMs

[Bearbeiten |Quelltext bearbeiten]

Software älterer Computersysteme, besonders der Spielekonsolen oder Spielautomaten, ist häufig nur in Form vonROM-Bausteinen verfügbar. Da sich ROMs relativ einfach auslesen lassen, arbeiten Emulatoren in der Regel problemlos mit sogenannten ROM-Dateien (oder auchROM Images), die in verschiedenen Dateiformaten vorliegen. Ein Hindernis bei der freien Verwertung und Verteilung ist allerdings, dass ROM-Inhalte in der Regel urheberrechtlich geschützt sind und manche sogar noch kommerziell genutzt werden. Manche Emulatoren können auch komprimierte Dateien (z. B. im ZIP-Format) lesen, die mehrere Dateien enthalten können.

ROM-Dateien haben an sich keine festgelegteDateinamenserweiterung. Für populäre Systeme werden häufig Bezeichnungen verwendet, die auf das zugehörige System hinweisen, beispielsweise:

Images von Datenträgern

[Bearbeiten |Quelltext bearbeiten]

Ähnlich verhält es sich mit Kopien von Software, die auf Bändern, Disketten oder optischen Datenträgern ausgeliefert wurden. Auch hier sindTape-Images bzw.Disk-Images (Image-Dateien) für die Benutzung mit einem Emulator verbreitet.

  • .adf,.adz,.dms,.dmzAmiga Disk Files (.adf auch fürAcorn Disc File)
  • .d64C64 Disk-Image einerFloppy 1541 – 5,25″ einseitig – ~170 kB; weitere Disk-Formate existieren
  • .p00,.s00,.u00,.r00 – C64-Dateityp (PRG für Programme, SEQ für sequentielle Dateien, USR (User-Dateien) und REL für Dateien mit relativem (wahlfreiem) Zugriff)
  • .msaAtari ST Disk-Image
  • .sid – C64-Musikstück imSID-Format
  • .t64 – C64-Containerformat eines erweiterbaren Tape-Images
  • .tap – C64-konvertiertes Original-Tape-File einerDatasette (8–16x größer als PRG)
  • .isoCD/DVD-Image; wird von verschiedenen Emulatoren verwendet
  • .img,.dskImage-Dateien verschiedener Speichermedien
  • .vfdDiskettenabbild von 3,5″-Disketten

Manche Emulatoren (zum Beispiel M.E.S.S.) können auch echte Töne von Cassetten alswav-Datei einlesen.

Siehe auch

[Bearbeiten |Quelltext bearbeiten]

Literatur

[Bearbeiten |Quelltext bearbeiten]
  • Hansjürg Wüthrich:Emulatoren – Wie Computersysteme und Spielkonsolen unsterblich werden. Skriptorium-Verlag, 2007,ISBN 978-3-938199-08-4. 

Weblinks

[Bearbeiten |Quelltext bearbeiten]
Wiktionary: Emulator – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
Wiktionary: Emulation – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
Commons: Emulation software – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. Olof Leps:Modellierung und Implementierung hybrider Testumgebungen für cyber-physische Sicherheitsanalysen. In:Hybride Testumgebungen für Kritische Infrastrukturen. Springer Vieweg, Wiesbaden 2018,ISBN 978-3-658-22613-8,S. 69–119,doi:10.1007/978-3-658-22614-5_5. 
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Emulator&oldid=256262094
Kategorie:

[8]ページ先頭

©2009-2026 Movatter.jp