18. August 2015, 10:56 Uhr |
Von Nils Grimm und Christoph Kutzera
Android, Linux und Windows Embedded - Ein Überblick
Zwar gibt es viele spezialisierte Echtzeit-Betriebssysteme, aber hier soll der Schwerpunkt auf dem Mainstream liegen – und dazu zählen bei ARM-Architekturen Android, Linux und Windows Embedded Compact. Ein Überblick über Einsatzgebiete, Vor- und Nachteile.
▶Diesen Artikel anhören
Die Entwicklung von Software für Embedded-Systeme unterscheidet sich meist von der Entwicklung herkömmlicher Anwender-Software. In der Regel müssen spezielle Hardware-Anforderungen und Anwendungsfälle berücksichtigt werden. In den letzten Jahren haben sich für ARM-Architekturen drei Betriebssysteme auf dem Markt durchgesetzt: Windows Embedded Compact, Linux und Android. Linux ist in vielen Fällen die erste Wahl geworden. Es gibt vielseitige Kriterien, die für die Auswahl des richtigen Betriebssystems eine Rolle spielen. Begrenzte Speicherkapazität, Echtzeitanwendung, Peripheriekomponenten, Sicherheitsaspekte, Notwendigkeit von grafischen Benutzeroberflächen und Rechte bzw. Lizenzen sind nur einige von ihnen. Um das richtige Betriebssystem wählen zu können, sollten zunächst die Vor- und Nachteile bekannt sein.
Android
Das Google-System Android findet durch die steigende Komplexität und den hohen Innovationsdruck zunehmend den Weg in industrielle Anwendungsbereiche. Android ist eine Open-Source-Plattform, die aus einem Betriebssystem, Middleware und einigen Applikationen besteht. Basis ist ein Linux-Kernel.
Vorteile:
Sehr gutes, modernes Framework für die Benutzeroberfläche
Standardisiertes Framework, auf dem immer aufgesetzt werden kann
Optimale Kombination aus modernstem Linux-Kernel (durch den Linux-Unterbau) und einfacher Android-Middleware
Standardkonform erweiterbar für spezielle Schnittstellen wie CAN, RS-232 oder I2C
Keine Festlegung auf bestimmte Hardware (einfache Portierung auf Tablet-PCs bei guter Applikationsentwicklung möglich)
Sicherheitsstandards sind zwar vorhanden, aber kaum überprüft bzw. zertifiziert
Medienbereiche (Audio/Video Codecs) sind Open Source, aber nicht lizenzfrei. Wer beispielsweise MP3/MP4 nutzen möchte, muss mit hohen Lizenzgebühren für die Erstzulassung und Folgekosten rechnen. Ein Ausweg sind eigens entwickelte Codecs wie Ogg Vorbis – Videos müssen hier allerdings zunächst in das richtige Format gebracht werden (das gilt auch für Linux).
Neben dem Medienbereich gibt es weitere unklare Patentlagen, daher nicht ohne Risiko verwendbar – gerichtliche Auseinandersetzungen bestehen bereits in großen Android-Projekten.
Linux besteht aus einem Kernel und dem User Space. Genau wie Android ist auch Linux Open Source. Es wird davon ausgegangen, dass Linux heute eine Führungsrolle in der Verwendung für Embedded-Systeme eingenommen hat.
Vorteile:
In Kombination mit Qt lassen sich sehr moderne und leistungsstarke Grafiken entwickeln
Individuelle, robuste und sichere Lösungen sehr gut umsetzbar
Gleiche Software wie auf großen Anwendergeräten
Sehr spezielle Anforderungen können mit Linux erfüllt werden (z. B. Webserver)
Entwicklung in Java möglich, allerdings nicht out of the box
Open-Source-Lizenz (Quellcode verfügbar)
Große Anwendungsvielfalt (fast nichts, das GNU-Tools und Linux nicht können)
Gute Sicherheitslösungen (Krypto) – diese müssen aber gut aufgebaut werden
Plattformunabhängig – für praktisch alle 32-bit-Prozessoren existiert eine Linux-Portierung
Nachteile:
Die Individualität des Betriebssystems ist sowohl ein riesiger Vorteil als auch Nachteil. Es existiert kein Standardweg; daraus resultieren oft lange Pflichtenheft- bzw. Support-Phasen.
Echtzeitfähigkeit nicht ohne weiteres gegeben, im Standard aber machbar
Die Entwicklung grafischer Oberflächen kann sich schwierig gestalten, wenn andere Wünsche als Qt vorhanden sind
Windows Embedded Compact wurde speziell für die Verwendung in Embedded-Systemen entwickelt. Das Betriebssystem unterstützt sowohl x86 als auch ARM-Architekturen.