Eigenbau, kommerziell oder nicht-kommerziell? Enterprise Linux für Anwendungen in Embedded Systemen

Von Kathy Tufto *

Egal ob bei IoT, KI, maschinellem Lernen oder generell Embedded-Anwendungen, Open-Source-Betriebssysteme (OS) werden für schnelle und günstige Systementwicklung immer interessanter. Aber ist es vernünftig, zu einer komplett freien Lösung zu greifen? Oder wäre doch eine kommerzielle Option empfehlenswerter?

Anbieter zum Thema

Bei der Wahl des Betriebssystems für ein zu entwickelndes Produkt müssen zahlreiche Abwägungen getroffen werden: Benutzerfreundlichkeit, Sicherheit, Standards und Compliance sowie die allgemeine Leistungsfähigkeit und Qualität während des Lebenszyklus Wir vergleichen drei Linux-Betriebssysteme: Eine auf Yocto basierende Eigenentwicklung, eine nicht-kommerzielle Distribution sowie eine kommerzielle Lösung der Enterprise-Klasse.
Bei der Wahl des Betriebssystems für ein zu entwickelndes Produkt müssen zahlreiche Abwägungen getroffen werden: Benutzerfreundlichkeit, Sicherheit, Standards und Compliance sowie die allgemeine Leistungsfähigkeit und Qualität während des Lebenszyklus Wir vergleichen drei Linux-Betriebssysteme: Eine auf Yocto basierende Eigenentwicklung, eine nicht-kommerzielle Distribution sowie eine kommerzielle Lösung der Enterprise-Klasse.
(Bild: Siemens EDA)

In Embedded Systemen haben sich überwiegend drei Typen von Betriebssystemen etabliert. Da wären zum Einen stabile Lösungen wie Ubuntu und Windows, die generell der Enterprise-Klasse zugeordnet werden. Diese sind einfach zu bedienen sind und verfügen über einen großen Funktionsumfang. Der Nachteil ist allerdings, dass sie sich nicht immer leicht anwendungsspezifisch anpassen lassen.

Die zweite Option ist die klassische Embedded-Linux-Lösung, überwiegend nach der Art des Yocto Projects, das mit häufigen Veröffentlichungen für maximal anpassbare Lösungen aufwarten kann. Diese bieten eine enorme Flexibilität, was aber auch mit einer gesteigerten Anforderung an die Entwickler selbst einhergeht. Die letzte Option ist ein Echtzeitbetriebssystem. Auch hier bestehen Möglichkeiten, ein solches Embedded-Echtzeit-System mit Linux aufzusetzen, etwa mit Hilfe des Preempt_RT-Patches.

Meistens ist für Entwickler die Stabilität und Benutzerfreundlichkeit eines Betriebssystems der Enterprise-Klasse und die Leistung, Anpassbarkeit und den Platzbedarf eines herkömmlichen eingebetteten Betriebssystems am erstrebenswertesten. Aber wie finde man die richtige Balance zwischen Benutzerfreundlichkeit, Sicherheit, Standards und Compliance sowie die allgemeine Leistungsfähigkeit und Qualität während des Lebenszyklus für das zu entwickelnde und herzustellende Produkt? Sehen wir uns drei Lösungen einmal genauer an.

Das eigens entwickelte Embedded-Linux-System

Bei einem herkömmlichen Embedded-Linux-Betriebssystem arbeiten die Entwickler in der Regel auf der Quellcode-Ebene und konfigurieren das gesamte Betriebssystem, um es zumindest beim ersten Mal aus dem Quellcode zu erstellen. Dadurch ist das OS skalierbar, und die Entwickler können das Betriebssystem in der Regel auf deutlich weniger als ein Gigabyte verkleinern. Benutzer können das Linux-Betriebssystem problemlos auf verschiedene Geräte portieren und es für ein schnelleres Booten als ein Betriebssystem der Enterprise-Klasse optimieren. Das Linux-OS bietet mittlerweile auch solide Echtzeitfunktionalität.

Da die Entwicklung auf Quellcode-Ebene erfolgt, sind eingebettete Betriebssysteme in hohem Maße anpassbar, was jedoch mit Kosten verbunden sein kann. Die Lernkurve ist bei einem traditionellen eingebetteten Linux-Betriebssystem höher als bei einer Lösung der Enterprise-Klasse. So ist beispielsweise die Integration des Chromium-Browsers für den Embedded-Entwickler mit dem Yocto-Projekt sehr zeitaufwendig. Er muss Bitbake Layer erstellen und Rezepte schreiben, um sicherzustellen, dass alle Voraussetzungen für Chromium auf der Ziel-Plattform bereitgestellt werden.

Bei einem Betriebssystem der Enterprise-Klasse wie Debian müssen die Entwickler dagegen, um den Vergleich zu ziehen, nur Chromium installieren. Das Installationspaket beschreibt alle Abhängigkeiten und bewirkt deren Installation innerhalb von nur wenige Minuten.

Ein weiterer potenzieller Nachteil der Verwendung eines quellbasierten Betriebssystems ist, dass leicht viele Varianten entstehen können. Wenn Entwickler unabhängig voneinander Änderungen an ein und derselben Quelldatei vornehmen, ergeben sich schnell verschiedene Versionen einer Binärdatei und damit viele verschiedenen Produkt Varianten. Ein großer Kunde führte ein internes Audit durch, um herauszufinden, dass er intern Hunderte von Linux-Varianten im Einsatz hatte. Das zwang ihm letztendlich dazu, sich nach einem anderen Linux-Typ umzusehen, in diesem Fall einem binären Embedded-Linux-Angebot der Enterprise-Klasse.

Diese Problematik lässt sich mit einem Tool zur Versionsverfolgung zwar ebenfalls in den Griff bekommen. Allerdings ist auch hier eine stringente und ausführliche Pflege zwingend erforderlich.

Debian-Linux (nicht-kommerzielle Standard-Distribution)

Debian ist ein nicht-kommerzielles Linux-OS der Enterprise-Klasse, das schon seit den Frühzeiten der Linux-Betriebssysteme existiert. Es ist sehr ausgereift und wird heute auch zunehmend in eingebetteten Geräten verwendet. Ubuntu, eine der bekanntesten Linux-Varianten, basiert auf Debian und bietet die größte Benutzerbasis aller existierenden Enterprise Linux Varianten. So ist es einfach Entwickler zu finden, die damit vertraut sind.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Debian ist sehr stabil, neue Core Releases finden in etwa alle zwei Jahre statt. Mit über 59.000 vorgefertigten Paketen, die gut zusammenarbeiten, bietet Debian Entwicklern die Möglichkeit, das Betriebssystem mit Hilfe von Paket-Feeds zu erweitern.

Debian hat ebenso eine gut dokumentierte Entwicklungspolitik, die durchgesetzt wird, bietet eine qualitativ hochwertige Dokumentation und ein zentralisiertes Fehlerverfolgungssystem. Im Vergleich zum Yocto-Projekt enthält jedes Paket den Kernel, OpenSSL, einschließlich Qt für die Erstellung grafischer Benutzeroberflächen, und weitere plattformübergreifende Anwendungen. Darüber hinaus bietet Debian Werkzeuge zur Anpassung des Dateisystems und zur Erstellung eigener Betriebssystem-Images. Funktionen können auch mit Hilde von Patches nachgerüstet werden; so bietet beispielsweise der PREEMPT-RT Patch die Möglichkeit, Debian mit echten Echtzeit-Fähigkeiten auszustatten. Jedes dieser Werkzeuge hat seine eigenen Entwicklungsrichtlinien, einschließlich potenziell unterschiedlicher Fehlerverfolgungsmechanismen

Die Verwendung einer typischen Debian-Distribution ist allerdings auch mit Nachteilen verbunden. So gibt es etwa eine ziemliche steile Lernkurve, um die erwähnten Werkzeuge auch effizient zu benutzen. Ebenso ist es trotz dieser Werkzeuge mit Schwierigkeiten verbunden, Debian zu verkleinern und anzupassen.

Eine weitere Überlegung bei einem nicht-kommerziellen Betriebssystem wie Debian ist es, Unterstützung oder Sicherheits-Patches von der Gemeinschaft zu bekommen, wenn diese nicht mehr gepflegt werden oder wenn es ein technisches Problem gibt, das die Gemeinschaft nicht plant, in der aktuellen Veröffentlichung zu beheben.

Mentor Embedded Linux Omni OS

Hinzu kommen kommerzielle Linux-Lösungen für Embedded-Systeme, die das beste aus beiden WElten versprechen. Eine solche kommerzielle Lösung ist das Mentor Embedded Linux (MEL) Omni OS, die selbst auf Debian basiert. MEL Omni OS verspricht die wichtigsten Vorteile eines Betriebssystems der Enterprise-Klasse mit der Größe, Konfigurierbarkeit und Leistung eines Embedded Betriebssystems. Hinzu kommen eine native Unterstützung für Cloud-Konnektivität und Funktionen für IoT-Lösungen.

MEL Omni OS umfasst sowohl einen Standard Kernel als auch einen Kernel mit bereits integriertem PREEMPT-RT Patch, um Echtzeitfähigkeiten zu garantieren. Zudem kombiniert es die besten Eigenschaften eines Betriebssystems der Enterprise-Klasse und eines traditionellen Embedded OS mit einer Binärdistribution, die Standardisierungen wie UL 2900 erleichtert. Entwickler können das vorgefertigte binäre Betriebssystem-Image sofort verwenden oder die benötigten Betriebssysteme konfigurieren und anpassen. Diese Lösung ermöglicht die Überwachung des Gerätezustands und sichere Software-Updates für die Bereitstellung von Geräten.

Kommerzielle Lösungen mögen auf den ersten Blick starrer wirken als die zuvor genannten Optionen. Im Gegenzug bieten sie allerdings Service-Leistungen und Garantien eines einzelnen Anbieters, die bei meist Community-gestützten, nicht-kommerziellen Lösungen in der Regel nicht gewährleistet werden können. Das ist besonders dann interessant, wenn ein Langzeit-Support für einen langen Produktlebenszyklus gewährleistet werden muss. Das MEL Omni OS wird beispielsweise von kommerziellen Partnern unterstützt, die sowohl während der Entwicklung als auch nach der Bereitstellung Dienstleistungen anbieten. (sg)

* * Kathy Tufto ist Senior Product Manager für die Embedded Platform Solutions Group bei Siemens Digital Industries Software.

(ID:47884854)