Tools für Hardware-Emulation zur Ausführung von Embedded-Betriebssystemen

Um ein Embedded Betriebssystem in virtuellen Umgebungen einzusetzen, benötigt man entsprechende Tools zur Emulation der benötigten Hardware.

Eines der wichtigsten Anwendungsgebiete von Desktop-Virtualisierung ist die Ausführung mehrerer Betriebssysteme auf einem Rechner. Bei Embedded-Betriebssystemen allerdings benötigen Sie Tools zur Hardware-Emulation, um eine Ausführung auf nicht unterstützter Hardware zu ermöglichen.

So gestattet die Desktop-Virtualisierung die Arbeit mit Betriebssystemen, auf denen ein PC eigentlich gar nicht läuft. Damit können Sie Dual-Booting vermeiden. Ohne Beeinträchtigung anderer Anwendungen lässt sich das zweite Betriebssystem auch parallel in einem „Sandkasten“ ausführen.

Dies ermöglicht Ihnen sogar das Testen von Betriebssystemen, die auf Desktops in der Regel nur selten verwendet werden – oder auf dem Desktop normalerweise gar nicht laufen würden, weil sie für vollkommen andere Prozessor-Typen konzipiert wurden. Man spricht in diesem Zusammenhang von „Embedded-Betriebssystemen“, und es gilt hierbei einige Punkte zu beachten.

Was ist ein Embedded-Betriebssystem?

Bei einem Embedded-Betriebssystem handelt es sich um ein Betriebssystem, das eigens für bestimmte Hardware-Umgebungen oder -Systeme entwickelt wurde, die nicht für eine interaktive Nutzung vorgesehen sind.

Manche wurden für den gleichen Prozessortyp entwickelt, der auch in Desktop-Rechnern zum Einsatz kommt – die uns so vertraute x86/x64-CPU-Architektur. Diese Variante von Embedded-Betriebssystemen wird oft als Appliance bezeichnet. Sie werden hauptsächlich auf Hardware ohne Display ausgeführt, bieten nur wenige Funktionen und in der Regel kaum Interaktionsmöglichkeiten.

Andere Embedded-Betriebssysteme sind für vollkommen andere Prozessortypen konzipiert. Wenn Sie damit arbeiten wollen, haben Sie nur zwei Möglichkeiten:

  • Sie besorgen sich die für dieses Embedded-Betriebssystem erforderliche Hardware und führen es in seiner nativen Umgebung aus. Allerdings ist dies aus praktischen Gründen nicht immer möglich oder mit vertretbarem Aufwand zu bewerkstelligen.
  • Die zweite Möglichkeit besteht in der Verwendung von Emulationstechnologie, die speziell für diese Hardware entwickelt wurde. Dies ermöglicht die Ausführung und Nutzung des Embedded-Betriebssystems auf einem Desktop, der dieses Betriebssystem normalerweise nicht unterstützt.

Wie bei der Server- oder Desktop-Virtualisierung simuliert die Hardware-Emulation das Vorhandensein bestimmter Hardware, Storage, Netzwerk-Karten und dergleichen. Erscheinungsbild und Oberfläche eines Emulators wirken vielleicht ungewohnt, er basiert allerdings auf den gleichen Konzepten und ähnelt in der Ausführung der Virtualisierungs-Technologie. Wenn Sie also bereits Erfahrung mit Virtualisierung gesammelt haben, war das eine gute Vorbereitung auf den Umgang mit Technologie für Hardware-Emulation.

Optionen bei Tools für Hardware-Emulation

Ein Emulator funktioniert ähnlich wie ein System für Virtualisierung. Der Unterschied liegt darin, dass die von ihm simulierte Hardware-Plattform sich grundlegend von jener unterscheidet, auf der er ausgeführt wird. Beispiele für solche simulierten Plattformen sind ARM, PowerPC oder ein sogar noch älterer Prozessor wie der Z80 statt des x86/x64.

Falls Sie mit Plattform-übergreifenden Emulatoren experimentieren möchten, sollten Sie einen Blick auf das Open-Source Paket QEMU werfen. Es ist kostenlos und unterstützt darüber hinaus eine verblüffende Zahl an Prozessortypen: PowerPC, Sparc, MIPS, ARM und jede Menge mehr. Mit der richtigen Vorbereitung kann beispielsweise Android in QEMU ausgeführt werden. Falls Sie als Entwickler arbeiten, ist dies sehr nützlich für den Test von Anwendungen, ohne dafür eigens ein Smartphone kaufen zu müssen– oder, noch schlimmer, Ihr eigenes Gerät als Versuchskaninchen verwenden zu müssen.

Für jeden Prozessor-Typ steht in QEMU eine Reihe von Geräten zur Verfügung. Abhängig von Ihrem aktuellen Emulierungsprojekt ist dies unter Umständen entscheidend. So sind beispielsweise für ARM-Systeme verschiedene vordefinierte Emulationen für diverse Varianten von Tablets oder Smartphones erhältlich. Es gibt mit Sicherheit noch andere Prozessor-Emulatoren neben QEMU, allerdings hat es sich als extrem langlebiges, perfekt unterstütztes und Plattform-unabhängiges Tool bestens bewährt.

Sie können auch den ausschließlich für ARM-Geräte entwickelten ARMware-Emulator verwenden. Oder Sie setzen den Softgun-Emulator ein, der für ARM-basierte, Embedded-Systeme mit minimalen Ressourcen entwickelt wurde. Diese Tools zur Hardware-Emulation funktionieren nach den gleichen Prinzipien wie QEMU, sind ohne zusätzliche Vorbereitung aber vielleicht nicht so einfach zu verwenden. Machen Sie sich hier schon mal mit dem Gedanken vertraut, viel Zeit mit dem Starren auf die Befehlszeile zu verbringen.

Es ist nicht vollkommen ausgeschlossen, dass Virtualisierungs-Tools eines Tages auch mit Emulatoren für verschiedene Prozessortypen ausgestattet sein werden. Vor allem das zunehmende Interesse an der ARM-Prozessorreihe als Alternative zu CPUs von Intel und AMD lässt dies möglich erscheinen. Andererseits sprechen wir von immer noch extrem speziellen Anwendungsfällen, und dies würde eine Menge Arbeit für Entwickler bedeuten.

Artikel wurde zuletzt im Januar 2013 aktualisiert

Erfahren Sie mehr über Server- und Desktop-Virtualisierung

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close