Suchen

Systemplattformen

Das richtige Betriebssystem für Embedded-Applikationen wählen

Seite: 2/2

Firmen zum Thema

Kundenspezifische oder firmeninterne Betriebssysteme

Als Hauptgrund für ein hausinternes Betriebssystem wird oft genannt, dass Lizenzkosten entfallen. Für diesen Ansatz gibt es klare Vor- und Nachteile.

Vorteile: Einer der am häufigsten genannten Gründe für die firmeninterne Entwicklung eines Kernels ist es, die Kontrolle über die Codebasis zu behalten. Das klingt sinnvoll, geht aber von der Annahme aus, dass die Mitarbeiter mit dem relevanten, sehr speziellen Know-how im Unternehmen bleiben. Daher dürfen die fortlaufenden Wartungskosten nicht ignoriert werden.

Eine weitere Rechtfertigung für hausinterne Entwicklung ist, dass das resultierende Echtzeitbetriebssystem exakt den Anforderungen des Projekts entspricht. Es kann argumentiert werden, dass die Leistungsmerkmale des Kernels sich eher durch die Anzahl der geleisteten Entwicklungen definieren lassen. Ein skalierbares kommerzielles Betriebssystem wird die Anforderungen sicherlich auch ohne Kompromisse erfüllen.

Nachteile: Wurde ein hausinternes Betriebssystem einmal implementiert, bleibt es wahrscheinlich für lange Zeit im Einsatz. Daher besteht Bedarf an einer langfristigen Unterstützung. Das ist kein Problem, wenn die Entwickler das Unternehmen nicht verlassen. Da der hausinterne Kernel im Laufe der Zeit für mehrere Projekte verwendet wird, besteht die Gefahr, dass jedes Projektteam den Basiscode verbessern will. Die Folge sind mehrere Kernel-Versionen, die das Support- und Wartungsproblem verschärfen.

Der größte Nachteil für die Entwicklung hausinterner Betriebssystems ist philosophischer Natur. Die erfolgreichsten Unternehmen konzentrieren sich immer auf ihre Kernkompetenzen. Sofern der Anwender kein Kernel-Entwickler ist, wäre es am sinnvollsten, wenn er sich auf sein Kerngeschäft konzentriert.

Zusätzliche Kriterien für die Betriebssystemauswahl

Handelt es sich um eine Echtzeitanwendung? Echtzeit bedeutet nicht unbedingt schnell – es bedeutet vorhersehbar und deterministisch. Wie wichtig ist das Timing? Wenn ein hohes Maß an Determinismus benötigt wird, dann ist ein Echtzeitbetriebssystem wahrscheinlich die beste Wahl. Unter bestimmten Umständen kann Linux eine gute Alternative sein.

Ist die Speicherkapazität begrenzt? Die Kapazität des verfügbaren Speichers ist ein weiteres wichtiges Auswahlkriterium. Falls dem Betriebssystem nicht mehrere Megabyte zur Verfügung stehen, lässt sich Linux wahrscheinlich nicht implementieren.

Ist die Leistungsaufnahme ein Thema? Heute ist die Leistungsaufnahme ein wichtiger Aspekt. Dies kann sein, um die Batterielebensdauer zu verlängern oder aus Umweltgründen. Linux bietet eine Art von Power-Management-Funktionalität und etliche Echtzeitbetriebssysteme verfügen über ein Power-Management-Framework, zum Beispiel das Nucleus Echtzeitbetriebssystem von Mentor Graphics.

Gibt es verdeckte oder kundenspezifische Peripheriekomponenten? Ein Embedded-System enthält neben der CPU immer eine Reihe von Peripheriekomponenten. Falls mehrere verdeckte Geräte vorhanden sind, kann es Probleme geben. Obwohl viele Echtzeitbetriebssysteme eine sehr breite Treiberpalette unterstützen, werden sie fast immer von Linux übertrumpft.

Benötigt die Anwendung eine grafische Benutzeroberfläche? Häufig besteht die Auffassung, dass nur große Betriebssystem wie Android und Windows CE moderne grafische Benutzeroberflächen (User Interfaces – UIs) unterstützen können. Das ist nicht der Fall, denn viele Echtzeitbetriebssysteme bieten diese Funktionalität ebenfalls. Qt ist ein populäres Open-Source-UI-Framework das vollständig in das Nucleus Echtzeitbetriebssystem integriert ist.

Ist Anwendungssicherheit ein Thema? Einige Embedded-Geräte erfordern zusätzliche Sicherheit. Oft bedeutet dies, dass Aufgaben voneinander geschützt werden müssen. Ein derartiger Schutz kann nur mit einer MMU implementiert werden. High-end-Betriebssysteme und eine wenige Echtzeitbetriebssysteme verwenden Prozessmodelle, die dieses hohe Maß an Sicherheit bieten.

Fazit: Die Auswahl eines Embedded-Betriebssystems ist ein komplexer Prozess, der eine sorgfältige Prüfung erfordert. Im Endeffekt ist jede Embedded-Applikation einzigartig. Darum gibt es auch so eine große Auswahl an Betriebssystemen auf dem Markt und deshalb ist dieser Auswahlprozess notwendig.

* Colin Walls verfügt über mehr als 25 Jahre Erfahrung in der Elektronikindustrie, hauptsächlich im Bereich Embedded Software. Als Mitglied der Marketingabteilung von Mentor Graphics Embedded Systems Division ist er häufiger Referent bei Konferenzen und Autor von zwei Büchern über Embedded-Software.

(ID:45389911)