Was ist ein Embedded-Betriebssystem?

Eine Embedded-Betriebssystem ist im Wesentlichen das Gehirn eines eingebetteten Computersystems, das die Funktionalität eines Produkts definiert. Es wird entwickelt und optimiert, um die Effizienz der Steuerung der Hardwareressourcen zu verbessern, die Grafikverarbeitung zu steuern und die Reaktionszeit für die vom Gerät ausgeführten Aufgaben zu verringern. In diesem Artikel werden wir die Definition von Embedded-Betriebssystemen anhand von Beispielen erläutern und die Besonderheiten von Embedded-Betriebssystemen beleuchten, die heute in fast allen intelligenten Geräten zu finden sind.
 
Im heutigen digitalen Zeitalter benötigen die meisten Fahrzeuge, Geräte und Handheld-Geräte eingebettete Betriebssysteme, um die Funktionalität zu steuern und Aufgaben effizient auszuführen. Anstatt jeden Teil des Systems einzeln zu steuern, verwaltet ein eingebettetes Betriebssystem alle programmierbaren sowie festen Hardware-Operationen. Obwohl diese Systeme heute die elektronische Welt im Sturm erobert haben, sind sich die Menschen immer noch nicht bewusst, was sie alles leisten können. Lassen Sie uns in unsere Diskussion über eingebettete Computer-Betriebssysteme eintauchen.

Bild, das ein eingebettetes Betriebssystem darstellt

Eingebettete Betriebssysteme: Die Grundlagen

Ein eingebettetes Betriebssystem ist ein kleiner Computer eines eingebetteten Systems mit einer begrenzten Anzahl von Funktionen. Es ist darauf ausgelegt, eine Funktion oder eine Reihe von Funktionen eines elektronischen Endprodukts auszuführen. Ähnlich wie bei einem Desktop-PC, der ein Betriebssystem wie Windows, Linux oder Mac OS benötigt, um grundlegende Anwendungen auszuführen, benötigen auch eingebettete Systeme ein Betriebssystem, um ihre Funktionalität zu erleichtern und zu beschleunigen.

So verfügen beispielsweise alle Mobiltelefone über eine integrierte Betriebssystemsoftware wie Android oder iOS, die beim Einschalten des Telefons gestartet wird. Ohne das Betriebssystem wäre die Implementierung einer App in jedes einzelne Mobiltelefon mit unterschiedlicher Hardware ein Albtraum für die Entwickler gewesen. Es ermöglicht ihnen, alle Lücken zu schließen und eine einheitliche App speziell für das Betriebssystem zu entwickeln. Das eingebettete Betriebssystem wird in einigen Fällen auch als Echtzeitbetriebssystem (RTOS) bezeichnet, worauf wir in einem anderen Abschnitt eingehen werden.

Hier sind einige allgemeine Merkmale eines eingebetteten Betriebssystems:

  • Effiziente Leistung
  • Weniger Speichermöglichkeiten 
  • Kleinere Rechenleistung
  • Schnell und leicht
  • Flexibilität der E/A-Geräte
  • Betrieb in Echtzeit
  • Abgestimmt auf den vorgesehenen Anwendungsfall

Die in einem eingebetteten Betriebssystem enthaltene Software ist entscheidend für die Funktionalität eines Produkts. Bei Digi verwenden fast alle unsere Produkte ein eingebettetes Betriebssystem, um ihre Funktionen und Leistung bereitzustellen. Im Fall unserer Digi-SOMsEin komplettes Embedded-Betriebssystem, das von Entwicklern verwendet wird, bringt enorme Vorteile, da es die anspruchsvollen Funktionen der SOM-Hardware freischaltet und einfach zu verwendende, produktionsreife Code-Bibliotheken und Entwicklungswerkzeuge bereitstellt, um in kürzester Zeit zukunftssichere und hoch skalierbare Produkte zu erstellen.

Entwickler eingebetteter Software
 

Wie funktioniert ein eingebettetes System?

Die Leute fragen sich oft, wie ein eingebettetes System funktioniert, weil es eine hohe Nachfrage nach anspruchsvoller Produkttechnologie gibt und sich dadurch hervorragende Möglichkeiten für Entwickler von eingebetteter Software ergeben. Im Gegensatz zu einem Desktop-PC, der Anwendungen lädt oder ausführt, ist ein eingebettetes Betriebssystem für weniger Zwecke konfiguriert und verwaltet in der Regel eine einzige Anwendung auf einem Gerät.

Obwohl der Funktionsumfang des Betriebssystems begrenzt ist, muss es zuverlässig sein und auch bei eingeschränkter Größe, Verarbeitungsleistung und Speicherkapazität reibungslos funktionieren, da diese spezielle Anwendung für die Funktionalität des Endprodukts entscheidend ist. Einige Beispiele für die besten Embedded-Betriebssysteme für kommerzielle und industrielle Anwendungen sind Embedded Linux und Android, Wind River VxWorks, Green Hills Integrity und QNX.

Sie fragen sich, ob eingebettete Betriebssysteme aktualisiert werden können oder nicht? Ja, eingebettete Betriebssysteme können aktualisiert werden, wenn das Produkt mit Flash-Speicher konzipiert ist und der Chip, auf dem es implementiert ist, flashfähig ist. Ihr Smart-TV könnte zum Beispiel ein eingebettetes Betriebssystem und eine Fülle von Funktionen sowie Komplexität enthalten. Je mehr Funktionen, desto mehr Bugs und Sicherheitslücken, die es zu schließen gilt. Die Betriebssysteme solcher Geräte sind so konzipiert, dass sie aktualisiert werden können, um Fehler zu beseitigen oder neue Funktionen hinzuzufügen und den Kunden ein optimales Erlebnis zu bieten.

Entdecken Sie die Digi ConnectCore SOM-Familie

Eingebettete System-on-Module, die ausschließlich auf NXP i.MX-Anwendungsprozessoren basieren - entwickelt für Langlebigkeit und Skalierbarkeit, in industriellen IoT Anwendungen

PDF herunterladen

Eingebettete vs. nicht-eingebettete Systeme

Medizinisches Bildgebungsgerät
Eine eingebettetes Betriebssystem läuft auf einem Gerät, das in ein Endprodukt eingebaut ist und tendenziell begrenzte Anwendungen hat. Einige Geräte, die eingebettete Betriebssysteme enthalten können, sind:

  • Infusionspumpen
  • Industrieöfen
  • Elektrische Fahrzeuge 
  • Fahrzeug-Infotainment-Systeme
  • Sonnenkollektoren
  • Solarmodul-Regler

Frau arbeitet an einem Laptop
A nicht eingebettetes Betriebssystem oder Allzweck-Betriebssystem (GPOS) läuft auf einem eigenständigen Gerät, das ist das Endprodukt. Diese Betriebssysteme sind in der Regel größer, besser anpassbar und bieten eine breitere Auswahl an Anwendungen. Beispiele für nicht eingebettete Geräte sind:

  • Desktop-PC
  • Laptop
  • Dedizierter Server

Um also ein eingebettetes Betriebssystem im Vergleich zu einem Desktop-Betriebssystem zu verstehen, könnte man sagen, dass ein Produkt wie eine Infusionspumpe einen Computer enthält, auf dem ein eingebettetes Betriebssystem läuft, um zu funktionieren, während ein nicht eingebettetes Betriebssystem auf einem Computer läuft, der für die Ausführung automatisierter Arbeiten wie Schreiben oder Grafikdesign verwendet wird.

Ältere Wäschereiprodukte ohne eingebettete Systeme

Beispiele für Anwendungen ohne Betriebssystem sind Produkte, die zu 100 % mechanisch sind oder einfache Elektronik enthalten. Hier sind einige Beispiele für Geräte ohne Betriebssysteme:

  • Alte Haushaltsgeräte
  • Alte Fahrzeuge
  • Walkie-Talkies/Funkkommunikationsgeräte

Um es zusammenzufassen:

  • Ein Embedded-Gerät ist ein Computer, der in ein Endprodukt eingebettet ist. Es kann ein Betriebssystem erfordern, wenn die Funktionalität des Computers komplex ist, aber nicht unbedingt.
  • Ein nicht eingebettetes Gerät ist ein Computer, der eigenständig arbeitet und das Endprodukt selbst darstellt.
  • Ein Produkt ohne ein eingebettetes Gerät enthält überhaupt keinen Computer.

Geschichte der Embedded-Betriebssysteme

Apollo-Lenkungscomputer - 1966
Während Linux und Android relativ neu auf dem Markt sind, geht das Konzept der eingebetteten Betriebssysteme bis in die 1960er Jahre zurück, mit der Einführung des Apollo-Lenkungsrechner. Der AGC "wurde an Bord jedes Apollo-Kommandomodul (CM) und Apollo-Mondlandefähre (LM). Der AGC lieferte Berechnungen und elektronische Schnittstellen für die Steuerung, Navigation und Kontrolle des Raumfahrzeugs." (Quelle: Wikipedia)

Eingebettete Computersysteme haben seitdem einen weiten Weg zurückgelegt, und die Entwicklung scheint noch lange nicht abgeschlossen zu sein, dank der Weiterentwicklung der Mikrocontroller-Technologie von 8-Bit zu 16-Bit und später 32-Bit. Aufgrund der zunehmenden Komplexität von Embedded-Computer-Systemen wurden Betriebssysteme zum Schlüssel, um die Embedded-Software effektiv zu verwalten.
 
Heute gibt es eine Vielzahl unterschiedlicher Embedded-Betriebssysteme. Die Entwicklung im Design und in der Implementierung der eingebetteten Betriebssysteme wurde durch die Notwendigkeit vorangetrieben, Softwareanwendungen zu steuern, die die Vorteile der sich schnell entwickelnden Hardware nutzen.
 

Eingebettete Betriebssysteme: Häufige Verwendungen

Eingebettete Betriebssysteme werden in vielen verschiedenen Bereichen eingesetzt, z. B. in Multimedia-Playern, Navigationssystemen in Flugzeugen, Navigationssystemen in Autos und medizinischen Geräten. Im Folgenden wird erläutert, wie diese Technologie den Betrieb dieser Beispiele vereinfacht.
 

Gemeinsame Nutzung - Parkmessung

Um die Benutzereingaben zu verwalten und die Zeit und die Gebühren zu erfassen, benötigen intelligente städtische Parkuhren ein eingebettetes Betriebssystem. Diese Geräte haben je nach Design eine Reihe von Funktionen eingebaut. Einige verwenden zum Beispiel Sensoren, um die Ankunft und Abfahrt von Fahrzeugen zu erkennen, während andere die Eingabe des Parkplatzes oder der Fahrzeuglizenz durch den Fahrer erfordern. Eine Benutzeroberfläche bietet dem Fahrer Auswahlmöglichkeiten, wie z. B. die Option, die voraussichtliche Rückkehrzeit einzustellen und entsprechend zu bezahlen.

Parkuhr
 

Allgemeine Verwendung - Navigationssystem eines Flugzeugs

Das Navigationssystem eines Flugzeugs ist ein hervorragendes Beispiel für ein Echtzeitbetriebssystem. Der Hauptcomputer eines Flugzeugs, der mit den meisten Steuersystemen wie Motor, Flügel, Sicherheits- und Drucksteuerung verbunden ist. Es ist also speziell für den Betrieb in einem Flugzeug konzipiert und hilft bei der Durchführung von Vorgängen wie Start, Landung und Notfällen.

Navigationssystem für Flugzeuge
 

Allgemeine Verwendung - Auto-Navigationssystem

Das Navigationssystem im Auto ist ein kleiner Computer mit einem Touchscreen, über den der Fahrer verschiedene Menüs wie GPS und Routenkarten, Audiowiedergabe, Radio, Freisprecheinrichtungen und Überwachungssysteme für Kraftstoffstand und Reifendruck bedienen kann. Unter vernetzte Fahrzeuge Diese Systeme sind noch komplexer und beinhalten Fahrzeug-zu-Kreuzung und Fahrzeug-zu-Alles oder "V2X" Kommunikationssysteme. Der Computer ist darauf ausgelegt, all diese Aufgaben zu übernehmen und das Fahrerlebnis zu verbessern.

Auto-Navigationssystem
 

Allgemeine Verwendung - Medizinische Geräte 

Medizinisch Geräte, die mit eingebetteten Betriebssystemen ausgestattet sind, überwachen automatisch die Biokonstanten, verabreichen Medikamente und senden Warnmeldungen an das Personal, wenn die Biokonstanten über oder unter den Schwellenwert steigen. So können medizinische Geräte Ärzten helfen, ihre Patienten zu behandeln, ihre Gesundheit zu überwachen und ihr Leben zu retten.

Medizinisches Gerät mit graphischem Display
 

Echtzeit-Betriebssysteme (RTOS)

Ein Echtzeit-Betriebssystem (RTOS) ist ein typischerweise funktionsreduziertes Betriebssystem, das Multi-Thread-Anwendungen unterstützt, indem es verarbeitete Ausgaben innerhalb bestimmter Zeitvorgaben bereitstellt und ein deterministisches Verhalten besitzt. Da diese Anwendungen zeitkritisch sind, sollten sie genau dann ausgeführt werden, wenn es erwartet wird, um die Funktion des gesamten Systems aufrechtzuerhalten. 
 
Die Airbags in unseren Fahrzeugen sind das beste Beispiel für dieses Konzept. Wenn ein Auto mit hoher Geschwindigkeit in einen Unfall gerät, müssen die Airbags innerhalb von 10-20 Millisekunden nach dem Aufprall auslösen. Eine Verzögerung von nur ein paar Millisekunden kann zum Tod führen. Es gibt also keinen Spielraum für Fehler, und die Aufgabe sollte sofort ausgeführt werden. 

Airbag-SystemEinige andere gängige Beispiele für RTOS sind:

  • Online-Transaktionssysteme
  • System für die medizinische Intensivpflege
  • Anti-Blockier-Bremssystem
  • Verkehrsleitsystem
  • Preisnotierungssysteme für Vieh
  • Airline-Kontrollsysteme

RTOS bietet eine sorgfältige Planung und Ressourcenverwaltung, die erforderlich ist, um die Anforderungen von Anwendungen zu erfüllen und sicherzustellen, dass die zeitkritischen Aufgaben ihre Frist einhalten. Es gibt zwei Arten von RTOS: weiche Echtzeitbetriebssysteme und harte Echtzeitbetriebssysteme. Der Hauptunterschied besteht darin, dass ein hartes RTOS eine bestimmte Funktion in einer bestimmten Zeit, z. B. X Millisekunden, zuverlässig ausführen muss.

Hier sind einige Merkmale von Echtzeitbetriebssystemen:

  • Ereignisgesteuert, damit das System zwischen den Tasks entsprechend ihrer Prioritäten umschalten kann
  • Prioritätsbasiertes Scheduling, das analytische Verarbeitung von unkritischer Verarbeitung trennt 
  • Modulare aufgabenbasierte Entwicklung, die ein modulares aufgabenbasiertes Testen ermöglicht

RTOS vs. Embedded OS 

RTOS können als eine Untergruppe von eingebetteten Betriebssystemen betrachtet werden. Wir können also sagen, dass alle RTOS eingebettete Betriebssysteme sind. Allerdings sind nicht alle eingebetteten Betriebssysteme RTOS. Lassen Sie uns über die Echtzeiteigenschaften von eingebetteten Betriebssystemen sprechen.

Der Hauptunterschied zwischen RTOS und eingebetteten Betriebssystemen liegt in der Zeitkritikalität des Systems. Ein Beispiel für ein nicht zeitkritisches System ist ein Unterhaltungssystem, auf das jeder Passagier während des Fluges zugreifen kann, um Filme zu sehen, Spiele zu spielen oder Fernsehsendungen zu verfolgen. Sobald der Passagier das System einschaltet, gibt es keine zeitliche Begrenzung für die Wiedergabe der Filme oder Sendungen.

Andererseits ist das Navigationssystem eines Flugzeugs, das für Start, Landung und viele andere Vorgänge zuständig ist, zeitkritisch. Es benötigt einen Echtzeitfaktor, um eine Aufgabe schnell auszuführen. Unerwartete Verzögerungen sind in einem solchen System keine Option. Bei der Auswahl von Echtzeit-Betriebssystemen für eingebettete Computer ist es entscheidend, diese Art von Anforderungen zu bewerten.
 

Suchen Sie nach Embedded OS Lösungen?


Obwohl eingebettete Betriebssysteme und Allzweck-Betriebssysteme einige Ähnlichkeiten aufweisen, sind sie sehr unterschiedlich, insbesondere wenn es um ihr Design und ihren Zweck geht. Der größte Unterschied besteht darin, dass ein eingebettetes Betriebssystem für den Betrieb auf spezieller Hardware entwickelt wurde, um den spezifischen Anforderungen eines Endprodukts gerecht zu werden, während ein herkömmliches GPOS eher für allgemeine Zwecke konzipiert ist. Und wenn man nach Systemen wie dem Digi ConnectCore® Produktfamilie, in dem die eingebettete Hardware und Software hoch integriert sind, bietet die optimalste Entwicklungsumgebung.
Digi Development Board und Software

Es ist auch wichtig zu beachten, dass Sie für alle zeitkritischen, missionskritischen oder grafikintensiven Anwendungen, wie z. B. Systeme für vernetzte Fahrzeuge und medizinische Geräte, nicht nur ein Echtzeitbetriebssystem benötigen, sondern auch ein ultraschneller Prozessor die die erforderliche Leistung, Sicherheit und Zuverlässigkeit bieten können.
 
Nun, da Sie die Grundlagen von Embedded OS kennen, sind Sie bereit, sich mit einem echten Beispiel zu beschäftigen. Digi Embedded Produkte unterstützen Embedded OS basierend auf dem Yocto Project (Linux-basiert) oder Embedded Android. Wir stellen vorgefertigte Images für unsere Entwicklungskits zur Verfügung, zusammen mit Dokumentation, Bibliotheken, Beispielen und dem Digi TrustFence Sicherheits-Framework, um Ihnen zu helfen, das Betriebssystem für Ihre spezifische Embedded-Lösung auf einfache und sichere Weise anzupassen.
 
Weitere Informationen finden Sie in unserem System-on-Module und Entwicklungskits im Angebot, und besuchen Sie unsere eingebettetes Dokumentationsportal. Oder Kontakt um zu erfahren, wie Digi Wireless Design Services Sie bei der Planung und Entwicklung Ihres nächsten Produkts unterstützen und Sie schnell auf den Markt bringen können.

Lernen Sie die Digi ConnectCore SOM-Familie kennen
Erfahren Sie mehr über die Digi ConnectCore 8X, 8M Nano und 8M Mini