Suchen

Internet der Dinge Sicherstellung des zuverlässigen Betriebs vernetzter IoT-Geräte

Autor / Redakteur: Andrew Caples * / Franz Graser

Konnektivität und Zuverlässigkeit lauten zwei der wichtigsten Anforderungen an Geräte, die mit dem IoT vernetzt sind. Echtzeitbetriebssysteme (RTOS) tragen zur sicheren Trennung wichtiger System-Tasks bei.

Firma zum Thema

Bild 1: Trennung der Steuerungsaufgaben von der Konnektivität und den Remote-Updates durch ein Prozessmodell
Bild 1: Trennung der Steuerungsaufgaben von der Konnektivität und den Remote-Updates durch ein Prozessmodell
(Quelle: Mentor Graphics)

Das Internet der Dinge (Internet of Things – IoT) umfasst Anwendungen von sogenannten Wearables über Smart-Meter und intelligente Haushaltsgeräte bis hin zu Autos. Faktoren wie Betriebszeit und Zuverlässigkeit spielen bei diesen Geräten eine zentrale Rolle. Ein intelligentes Haushaltsgerät und eine Infotainment-Head-Unit im Automobil stehen für eine Klasse von IoT-Systemen, die sowohl Konnektivität als auch zuverlässige Ausführung erfordern.

Ein Echtzeit-Betriebssystem (RTOS) mit einem isolierten Prozessmodell wie Nucleus von Mentor Graphics erlaubt es Code-Module mit Hilfe der Memory Management Unit (MMU), die auf vielen System-on-Chips (SoC) verfügbar ist, zu isolieren und zu schützen. Bild 1 zeigt, wie Echtzeit-Steuerungsaufgaben den geschützten Speicherbereich gemeinsam nutzen, während sich die anderen Software-Tasks in ihren voneinander getrennten und geschützten Speicherbereichen befinden.

Die Funktionen für Konnektivität und ferngesteuerte Aktualisierung nutzen die gleichen Bereiche, während die UI und sonstige Applikations-Tasks anderen isolierten Bereichen zugewiesen werden. Dieser Ansatz zur Isolierung der Subsysteme für Anwendungen schützt Funktionen im Konnektivitäts- oder Benutzeroberflächen-Subsystem davor, den Kernel oder Echtzeit-Steuerungsaufgaben zu korrumpieren.

Echtzeit-Kernel garantiert Laufzeiten für wichtige Tasks

Einer der Vorteile eines RTOS ist die Echtzeit-Natur des Kernels. Ein RTOS bietet hartes Echtzeit-Scheduling mit garantierten Laufzeiten für Tasks mit hoher Priorität. Ein Prozessmodell-fähiges RTOS bewahrt beim Hinzufügen des Speicherschutzes deterministisches Echtzeit-Scheduling. Der Speicherschutz verändert weder die Priorität der Aufgaben noch die Reaktionsfähigkeit des Systems.

Bild 2 zeigt, dass die Benutzeranwendung (Task 7) und die Remote-Update-Task, obwohl sie sich in verschiedenen, isolierten Speicherbereichen befinden, mit der gleichen Prioritätsstufe ausgeführt werden können. Steuerungs- und Konnektivitäts-Tasks werden dagegen mit einer höheren Priorität ausgeführt. Dies ist eine erhebliche Abweichung von der Art und Weise, wie Prozesse bei einem Allzweck-Betriebssystem implementiert sind. In der geschützten RTOS-Umgebung kann der Entwickler die Prioritäten der Aufgaben individuell einstellen, ohne dass sie in einer gemeinsamen Speicherregion kombiniert werden müssen.

Ein RTOS, das auf einem Prozessmodell basiert, erlaubt den Prozessmodulen (eine Sammlung aus Tasks oder Bibliotheksfunktionen innerhalb eines gemeinsamen isolierten Speicherbereichs), dass sie während des Systembetriebs dynamisch geladen und entladen werden. Neben der Möglichkeit eines System-Updates kann der Entwickler ein Gerät für verschiedene Betriebsarten dynamisch neu konfigurieren und zwischen diversen Konfigurationen der Task-Isolierung und Priorität hin und her wechseln.

(ID:43115053)