Programmiersprache Rust für Embedded-Systeme einsetzen

Rust hat sich zu einem ernsthaften Kandidaten für die Systemprogrammierung gemausert. Wir werfen einen Blick auf die Möglichkeiten und Fallstricke beim Einsatz.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Lesezeit: 15 Min.
Von
  • Simon Jakob
Inhaltsverzeichnis

Noch immer sind C und C++ dominant unter den Programmiersprachen im Embedded-Bereich. Doch seit einiger Zeit gewinnt Rust Anteile in der auf IT- und funktionale Sicherheit bedachten Landschaft der eingebetteten Systeme. Warum das so ist, lässt sich am Beispiel der Bug-Bounty-Summary-Meldung von Google erahnen, die eine Korrelation zwischen der verringerten Zahl eingegangener Vulnerabilities und dem gestiegenen Anteil von Rust in neueren Android-Versionen aufzeigt.

Was macht Rust aber nun – wie behauptet – sicherer als andere Systemprogrammiersprachen, und ist es so interessant, dass Entwickler eingebetteter Systeme einen Wechsel ins Auge fassen sollten?

Programmieren mit Rust:
Simon Jakob

Simon Jakob ist Fachinformatiker Anwendungsentwicklung, Technikjournalist und PR-Manager. Er arbeitet als Digital Content & PR Manager für die SYSGO GmbH, eine Tochtergesellschaft von Thales.

Embedded-Systeme sind in Sachen Ressourcen stark begrenzt. Die Spannweite reicht von Controllern mit wenigen Kilobyte Speicher und ohne Memory Management Unit (MMU) bis hin zu leistungsstarken Systems-on-a-Chip (SoCs) auf ARM-Basis mit mehreren CPUs und Gigabyte Speicher. Oft setzt die Industrie aber einfache Controller (wie bei Motorsteuerungen) oder SoCs mit überschaubarer, aber zweckmäßiger Ausstattung ein. Eine sehr häufige Anforderung ist, dass diese Systeme zuverlässig funktionieren und dabei den industriespezifischen Safety- und Securitystandards genügen müssen. Embedded-Software-Architektinnen und -Architekten legen Systeme deshalb häufig redundant aus und achten darauf, dass sie harte Echtzeitanforderungen erfüllen.