Oh Götter des Windes, kommet her!
joy of engineering blog
Themen-Bereich: Zephyr - RTOS, Betriebssystem, Embedded System
Author: Marco Peter
Quellen: Zephyr Project
Oh Götter des Windes, kommet her!
oder: Wie die Verwendung eines Betriebssystems das Leben des Entwicklers vereinfachen kann.
​
Was ist ein Betriebssystem?
Wenn wir im Alltag von einem Betriebssystem sprechen, meinen wir in der Regel das, was wir am Büro-PC oder am Handy zu Gesicht bekommen. Es startet auf, zeigt ein nettes Logo und ermöglicht uns Programme zu installieren, die dann hoffentlich unsere Arbeit erleichtern.
​
Auf den Handys identifizieren sie uns per Fingerabdruck oder unserem Gesicht, um uns dann an unsere persönlichen Daten heranzulassen.
Im Wesentlichen ist ein Betriebssystem nichts anderes als eine Ansammlung von Programmen und Funktionen, welche bei der Arbeit mit dem Computer immer wieder benötigt werden.
Beispielsweise will man bei den meisten Anwendungen schnell etwas abspeichern oder ausdrucken können.
Auch ein Internetzugang ist für die meisten Anwendungen heutzutage nicht mehr wegzudenken.
Damit diese Funktionen nicht für jede Anwendung selbst programmiert werden müssen, werden diese in der Regel vom Betriebssystem bereitgestellt.
​​​​
​Und was hat dies mit Embedded Systemen zu tun?
Wenn wir von einem Embedded-System sprechen, meinen wir in der Regel ein x-beliebiges anwendungsspezifisches Computersystem. Beispiele dafür sind die Fernbedienung für den Fernseher, eine Stereoanlage, die Motorsteuerung im Auto oder auch ein smarter Lichtschalter. Diese Liste lässt sich beliebig erweitern.
Jedes dieser Systeme hat seine spezifischen, daneben aber häufig noch viel mehr ganz allgemeinen Funktionen.
Beispielsweise wollen sowohl der drahtlose Kopfhörer als auch eine Smartwatch
mit dem Mobiltelefon kommunizieren.
Viele Systeme benötigen die aktuelle Uhrzeit.
Häufig soll irgendetwas ein- oder ausgeschaltet werden.
Sowohl die Personenwaage als auch die Kaffeemaschine müssen irgendwelche Informationen anzeigen - sei dies über LED oder sogar auf einem eingebauten Display.
Dazu kommen ganz grundsätzliche Probleme: Wie bringt man zum Beispiel einen Mikroprozessor, welcher nur einen Befehl auf einmal ausführen kann, dazu, scheinbar gleichzeitig mehrere verschiedene Dinge zu tun? Wo befinden sich welche Daten?
Wie ein grosses Betriebssystem, ist auch ein embedded System eine Ansammlung von Programmen und Funktionen, welche der Entwickler nicht jedes Mal aufs Neue programmieren will.
​
Anatomie eines embedded Software-Projektes
Software-Applikationen können in einzelne Bausteine heruntergebrochen werden. Dabei ist jeder dieser Bausteine möglichst für eine einzige Aufgabe im Programm zuständig.
Während gewisse Teile sich um die Interaktion mit dem Benutzer kümmern, sind andere wiederum damit beschäftigt, Daten auf eine SD-Karte zu schreiben oder mit dem Internet zu kommunizieren.
Wieder andere Bausteine sind dafür zuständig, dass die Software überhaupt mit der verbauten Elektronik zusammenarbeiten kann.
Ähnlich wie Lego-Bausteine, sind viele dieser sogenannten Module so generisch, dass sie zu den verschiedensten Programmen zusammengefügt werden können.
Um bei der Analogie zu bleiben, stellen Projekte wie Zephyr nun die Lego-Baukästen dar, welche eine Sammlung von Bauteilen bieten, die zu den eigenen Projekten zusammengebaut werden können.
Damit bleibt noch ein verhältnismässig kleiner Rest, welcher Anwendungsspezifisch programmiert werden muss. Dies ist dann die Applikation, oder auch Business-Logik.
Wie sich eine Software zusammensetzen kann, zeigt die folgende Grafik:
Zephyr - RTOS
Zephyr ist der Name eines Betriebssystems mit offenem Quellcode. Das heisst, dass es im Prinzip von jeder Person verwendet und auch verändert werden kann. Diese Eigenschaften, verbunden mit einer sehr starken Qualitätskultur, führten dazu, dass Zephyr heute eine sehr grosse Nutzerbasis hat.
Viele dieser Nutzer setzen sich für das Projekt ein, indem sie Fehler und Erweiterungsmöglichkeiten mitteilen, sowie aktiv entwickeln und teilen. Der Vorteil für die Entwickler liegt darin, dass sie für viele Hardwareplattformen frei auf ein sehr reifes Projekt zurückgreifen können, welches ihnen sehr viel Arbeit und Unsicherheiten im Projekt abnimmt.
Fun Fact: Zephyr - der Name des hier im Speziellen vorgestellten Betriebssystems bezieht sich auf eine Windgottheit in der Griechischen Mythologie. Dies erklärt auch den Titel.