Parasoft-Logo

Entdecken Sie das TÜV-zertifizierte GoogleTest mit Agentic AI für C/C++-Tests!
Details ansehen »

Parasoft-Blog

Was sind eingebettete Systeme?

By Richard Camacho 27. Februar 2026 11 min gelesen
27. Februar 2026 | 11 min gelesen
By Richard Camacho
Text links: Was sind eingebettete Systeme? Das Bild rechts zeigt ein grünes Hardwaresystem mit eingebetteter Software mit Knöpfen und Mikrochips.

Eingebettete Systeme begleiten uns schon seit Ewigkeiten. Lesen Sie weiter, um zu erfahren, was sie sind, einige Sicherheitsbedenken bei eingebetteten Systemen und wie angemessene Tests dazu beitragen können, sie sicher und geschützt zu machen.

Wichtige Erkenntnisse

Eingebettete Systeme sind die dedizierten Rechenzentren moderner Produkte und Infrastrukturen, die es Geräten ermöglichen, die physische Welt schnell und zuverlässig zu erfassen, zu verarbeiten und darauf zu reagieren.

  • Eingebettete Systeme sind speziell entwickelte Computer, die in Produkte integriert sind und spezifische Funktionen anstelle allgemeiner Rechenkapazitäten bereitstellen – von Haushaltsgeräten bis hin zu komplexen Transportsystemen.
  • Sie arbeiten unter strengen Einschränkungen, darunter begrenzte Rechenleistung, Speicherkapazität, Speicherplatz und Energie, und müssen gleichzeitig häufig strikte Echtzeitvorgaben und Zuverlässigkeitserwartungen erfüllen.
  • Diese Systeme sind branchenübergreifend allgegenwärtig und treiben die Technologien für autonome Fahrzeuge von Waymo LLC, lebenswichtige medizinische Geräte von Medtronic, industrielle Automatisierungsplattformen der Siemens AG und fortschrittliche Luft- und Raumfahrtsysteme von Boeing an.
  • Die architektonische Komplexität skaliert mit den Anwendungsanforderungen und reicht von einfachen Regelschleifen bis hin zu interruptgesteuerten, Multitasking- und RTOS-basierten Designs, die Parallelität, Reaktionsfähigkeit und langfristige Wartbarkeit unterstützen.
  • Sicherheit, Schutz und strenge Tests sind unerlässlich, insbesondere in kritischen Bereichen, in denen Fehler schwerwiegende menschliche, betriebliche oder wirtschaftliche Folgen haben können.

Einführung in eingebettete Systeme

Eingebettete Systeme sind mikroprozessorbasierte Computersysteme, die üblicherweise in ein System oder Produkt integriert sind und eine spezielle Betriebsfunktion erfüllen. Anders ausgedrückt: Eingebettete Systeme sind die verborgene Intelligenz hinter all unseren Geräten, Autos, Flugzeugen und Zügen.

Anstatt aus separaten Komponenten wie Desktop-Computern, Servern und anderen ähnlichen Computerdomänen zu bestehen, werden eingebettete Systeme in Produkte eingeschlossen und umfassen integrierte Hardware und Software.

Was sind einige Beispiele für eingebettete Systeme?

Eingebettete Systeme treiben Geräte in nahezu allen Branchen an. Sie sind keine optionalen Erweiterungen – sie bilden den operativen Kern moderner Technologie. Hier einige Beispiele.

Consumer Products

Eingebettete Systeme sind die unsichtbare Intelligenz in den Produkten und der Infrastruktur, auf die wir uns täglich verlassen. In der Unterhaltungselektronik steuern diese Systeme Smartphones, Smart-TVs, Wearables und Smart-Home-Geräte und regeln unauffällig Stromverbrauch, drahtlose Kommunikation, Sensoren und Benutzerinteraktionen. Unternehmen wie Apple Inc. entwickeln Produkte, die Dutzende spezialisierter eingebetteter Controller enthalten, die nahtlos zusammenarbeiten.

Automobilindustrie

In der Automobilindustrie sind eingebettete Systeme noch wichtiger. Moderne Fahrzeuge von Herstellern wie Waymo LLC enthalten Netzwerke elektronischer Steuergeräte (ECUs), die autonomes Fahren, Bremsen, Lenkung, Batterieleistung, Airbag-Auslösung und fortschrittliche Fahrerassistenzsysteme steuern. Diese Systeme müssen in Echtzeit und oft unter extremen Umgebungsbedingungen einwandfrei funktionieren.

Medizintechnik

Das Gesundheitswesen liefert ein weiteres eindrucksvolles Beispiel. Geräte von Unternehmen wie Medtronic, darunter Herzschrittmacher, Insulinpumpen und Patientenüberwachungssysteme, sind auf eingebettete Software angewiesen, die präzise und zuverlässig funktionieren muss. Eine Fehlfunktion ist keine bloße Unannehmlichkeit – sie kann lebensbedrohlich sein.

Industrie & Transport

In der Industrie und im Transportwesen steuern eingebettete Systeme Fabrikautomation, Robotik, Eisenbahnsignalanlagen und Avionik. Unternehmen wie die Siemens AG setzen eingebettete Steuerungen ein, um alles von Stromnetzen bis hin zu Fertigungslinien zu verwalten. Flugzeuge von Boeing sind auf redundante eingebettete Flugsteuerungscomputer angewiesen, um die Sicherheit in 35,000 Metern Höhe zu gewährleisten.

Was sind die Merkmale eingebetteter Systeme?

Was unterscheidet eingebettete Systeme von Allzweckrechnern? Fokus.

Eine bestimmte Funktion ausführen

Eingebettete Systeme sind für eine spezifische, dedizierte Funktion ausgelegt. Nicht mehr und nicht weniger. Im Gegensatz zu einem Desktop-Computer, auf dem unzählige Anwendungen laufen, hat ein eingebetteter Controller in einem Bremssystem nur eine Aufgabe: Zustände zu erkennen und sofort zu reagieren. Dieser einzige Zweck bestimmt jede architektonische Entscheidung.

Betrieb unter strengen Einschränkungen

Eingebettete Systeme arbeiten unter strengen Ressourcenbeschränkungen. Sie verfügen oft nur über begrenzte Rechenleistung, minimalen Speicher und ein knappes Energiebudget. Entwickler müssen hocheffizienten Code schreiben und die Leistung sorgfältig mit den Hardwarebeschränkungen abwägen. Optimierung ist kein Luxus, sondern eine Notwendigkeit.

Präzises Timing

Ein weiteres entscheidendes Merkmal ist das Timing. Viele eingebettete Systeme sind Echtzeitsysteme, d. h. sie müssen innerhalb präziser Zeitvorgaben reagieren. In sicherheitskritischen Umgebungen, wie beispielsweise bei Fahrzeugbremsen, Medizingeräten oder Avionik, kann das Verpassen eines Zeitfensters zu Systemausfällen führen. Die Korrektheit wird nicht nur daran gemessen, was das System tut, sondern auch daran, wann es dies tut.

Langfristige Zuverlässigkeit

Zuverlässigkeit und Deterministik zeichnen eingebettete Systeme zusätzlich aus. Diese Systeme laufen häufig jahrelang ohne Neustart, oft unter extremen Bedingungen. Sie müssen sich vorhersagbar verhalten, Fehler tolerieren und über lange Lebenszyklen stabil bleiben. Im Gegensatz zu Verbrauchersoftware, die häufig aktualisiert werden kann, werden eingebettete Systeme üblicherweise in Umgebungen eingesetzt, in denen Updates schwierig, teuer oder stark reguliert sind.

Enge Hardwareintegration

Schließlich sind eingebettete Systeme eng mit der Hardware integriert. Sie steuern Sensoren, Aktoren, Motoren und Kommunikationsschnittstellen direkt. Hardware und Software werden gemeinsam entwickelt, optimiert und als einheitliches System validiert. Diese tiefe Integration und die damit verbundenen schwerwiegenden Folgen eines Fehlers unterscheiden eingebettete Systeme grundlegend von herkömmlichen Computern.

Wie werden eingebettete Systeme verwendet?

Das Interessante an eingebetteten Systemen ist die Anwendungsbreite. Sie reichen von kleinen Controllern in Smart-Home-Geräten über Avionik-Systeme in Flugzeugen bis hin zu großen Netzwerk-Switches, aus denen unsere Telekommunikationsnetze bestehen. Dies macht sie auch schwierig zu konzipieren und zu entwickeln. Die Einschränkungen des beabsichtigten Produkts wirken sich auf den Leistungsumfang der eingebetteten Hardware und Software aus.

Eingebettete Systeme sind allgegenwärtig, aber den meisten Verbrauchern relativ unbekannt. Moderne Autos haben bis zu 100 Millionen Codezeilen in ihnen und das meiste davon nicht im Infotainmentsystem. Ein Großteil der Soft- und Hardware eines modernen Autos steckt in den verschiedenen Mikrocontrollern und Motorsteuergeräten, die moderne Funktionen steuern und überwachen.

Die Architektur eingebetteter Systeme

Eingebettete Systeme bestehen wie oben erwähnt aus Hardware und Software. Sie werden häufig in Anwendungen verwendet, bei denen sowohl etwas Physisches in der Umgebung erfasst als auch als Reaktion darauf gesteuert werden muss.

Ein einfaches Beispiel ist ein HLK-System mit einem eingebetteten Thermostatregler. Ein solches System würde die Raumtemperatur erfassen und entweder die Heizung oder die Klimaanlage ansteuern. Es kann eine Form der Kommunikation über eine Netzwerkschnittstelle erfordern und die Temperatur auf einem LCD-Bildschirm (Mensch-Maschine-Schnittstelle oder HMI) anzeigen.

Solche Systeme werden oft als „Echtzeit" oder "ereignisgesteuert", da sie zeitnah auf reale Ereignisse reagieren müssen. Je nach Art und Kritikalität der Anwendung ist es wichtig, auf Ereignisse zu einem bestimmten Zeitpunkt zu reagieren. Sicherheitskritische Systeme wie das Antiblockiersystem (ABS) in einem Auto müssen innerhalb von Millisekunden reagieren. Solche Systeme werden als "harte Echtzeit" bezeichnet, d. h. sie müssen erforderliche Fristen einhalten, da sonst ein Fehler auftritt. Systeme mit weniger strengen Fristen werden als "weiche Echtzeit" bezeichnet. In den meisten Fällen laufen diese Systeme auf einer Art Echtzeitbetriebssystem (RTOS).

Hier ist ein einfaches Beispiel für eine eingebettete Systemarchitektur:

Diagramm, das eine Umgebung mit einem eingebetteten System und einem Controller zeigt. Das eingebettete System wird durch eine transparente Box mit blauem Umriss und vier angeschlossenen Boxen symbolisiert: HMI, Sensoren, Aktoren, Netzwerk/Seriell/USB. Diese zeigen alle zu und zurück von Controller-Elementen, die in einer grünen Controller-Box reflektiert und enthalten sind, zu denen RAM, ROM, I/O und CPU gehören.

Ebenfalls einzigartig für eingebettete Systeme ist die Verwendung einer Mikrocontroller-Architektur. Im Gegensatz zu Desktop- oder Serversystemen haben Mikrocontroller normalerweise den gesamten RAM, ROM und I/O auf einem einzigen Chip. Diese Controller verfügen oft über die erforderlichen E/A-Funktionen, um mit Sensoren und Aktoren zu interagieren und sich in Netzwerk- und andere Kommunikationsgeräte zu integrieren.

Einfache Architekturen und Regelschleifen

Auf der grundlegendsten Ebene verwenden viele eingebettete Systeme eine einfache Architektur, in der ein einzelnes Programm kontinuierlich in einer Endlosschleife läuft. Diese oft als Superschleife bezeichnete Konstruktion liest wiederholt Eingaben, verarbeitet Daten, aktualisiert Ausgaben und beginnt dann von neuem.

Da kein Betriebssystem oder Aufgabenplanungsaufwand anfällt, ist das Verhalten sehr gut vorhersagbar und leicht zu überprüfen. Dieser Ansatz ist gängig bei kleinen Geräten wie einfachen Sensoren und kostengünstigen Steuerungen, deren Funktionalität begrenzt und deren Zeitanforderungen gering sind.

Ein eng verwandtes Muster ist die Regelkreisarchitektur, die in Systemen, die physikalische Prozesse kontinuierlich regeln müssen, weit verbreitet ist.

Bei diesem Modell misst die Software wiederholt einen Systemzustand, beispielsweise Temperatur, Geschwindigkeit oder Position, vergleicht ihn mit einem Sollwert und passt Aktoren an, um die Abweichung zu minimieren. Beispiele hierfür sind Thermostatregler, Motordrehzahlregler und einfache Komponenten der industriellen Automatisierung.

Der Reiz von Regelkreisdesigns liegt in ihrer:

  • Determinismus
  • Geringer Ressourcenverbrauch
  • Einfache Umsetzung

Allerdings weisen diese Architekturen auch deutliche Einschränkungen auf.

Da alle Operationen nacheinander ausgeführt werden, können langlaufende Aufgaben zeitkritische Funktionen verzögern, und die Reaktionsfähigkeit auf unerwartete Ereignisse kann schlecht sein.

Mit zunehmender Systemkomplexität, beispielsweise bei der gleichzeitigen Verarbeitung mehrerer Sensoren, Kommunikationsschnittstellen oder Benutzerinteraktionen, wird die Wartung und Skalierung der Superschleife schwierig. Daher eignen sich einfache, schleifenbasierte Designs am besten für kleine, klar definierte Anwendungen mit minimalen Anforderungen an die Parallelverarbeitung.

Interruptgesteuerte und Multitasking-Architekturen

Wenn eingebettete Systeme schnell auf externe Ereignisse reagieren müssen, bieten interruptgesteuerte Architekturen eine reaktionsschnellere Alternative. Anstatt darauf zu warten, dass die Hauptprogrammschleife Änderungen erkennt, können Hardwaresignale die normale Ausführung unterbrechen und sofort spezialisierte Routinen auslösen.

Dieser Mechanismus ermöglicht es dem System, auf zeitkritische Eingaben wie Tastendrücke, Sensorschwellenwerte, eingehende Kommunikationsnachrichten oder Fehlerzustände zu reagieren. Durch die asynchrone Bearbeitung dringender Aufgaben verbessern interruptgesteuerte Systeme die Reaktionsfähigkeit deutlich, ohne dass ein vollständiges Betriebssystem erforderlich ist.

Multitasking-Architekturen erweitern dieses Konzept, indem sie die scheinbar gleichzeitige Ausführung mehrerer Softwareaufgaben ermöglichen. In vielen eingebetteten Systemen wird dies erreicht durch:

  • Time-Slicing
  • Prioritätsbasierte Planung
  • Kooperativer Aufgabenwechsel

Aufgaben können unterschiedliche Verantwortlichkeiten übernehmen, wie z. B. Sensordatenverarbeitung, Aktualisierung der Benutzeroberfläche, Datenprotokollierung und Netzwerkkommunikation, und teilen sich dabei denselben Prozessor. Diese Struktur verbessert Modularität und Skalierbarkeit und erleichtert das Hinzufügen von Funktionen, ohne das Gesamtsystem zu destabilisieren.

Diese Architekturen werden typischerweise bevorzugt, wenn Systeme gleichzeitige Aktivitäten bewältigen, Reaktionsfähigkeit aufrechterhalten oder die Kommunikation mit externen Geräten unterstützen müssen.

Fahrzeugsteuerungssysteme, medizinische Überwachungsgeräte und vernetzte Konsumprodukte basieren häufig auf interruptgesteuerten oder Multitasking-Architekturen. Obwohl sie komplexer als einfache Schleifen sind, bieten sie ein gutes Gleichgewicht zwischen Leistung, Flexibilität und Ressourcennutzung für eingebettete Anwendungen mittlerer Größe.

Kernelbasierte und geschichtete Architekturen

Für anspruchsvolle eingebettete Systeme führen kernelbasierte Architekturen eine formale Betriebsumgebung ein, die Hardware-Ressourcen und Software-Aufgaben verwaltet. Im Kern befindet sich häufig ein Echtzeitbetriebssystem (RTOS), das Folgendes bietet:

  • Planung
  • Kommunikation zwischen Aufgaben
  • Zeitmessungsdienste
  • Speicherverwaltung

Echtzeitbetriebssysteme wie VxWorks, QNX, RTLinux und ThreadX werden häufig in Anwendungen eingesetzt, die deterministisches Timing, hohe Zuverlässigkeit und strukturierte Parallelverarbeitung erfordern. Durch die Auslagerung der Low-Level-Verwaltung an den Kernel können sich Entwickler auf die Anwendungslogik konzentrieren und gleichzeitig ein vorhersagbares Echtzeitverhalten gewährleisten.

Geschichtete Architekturen ergänzen kernelbasierte Designs, indem sie die Software in hierarchische Ebenen gliedern, von denen jede klar definierte Verantwortlichkeiten aufweist.

  • Die unteren Schichten kümmern sich typischerweise um die Hardwareinteraktion und die Gerätetreiber.
  • Die mittleren Schichten stellen Systemdienste und Middleware bereit.
  • Die oberen Schichten implementieren anwendungsspezifische Funktionalitäten.

Diese Trennung der Zuständigkeiten verbessert die Wartbarkeit, Portabilität und Testbarkeit, insbesondere bei langlebigen Systemen, in denen sich Komponenten unabhängig voneinander weiterentwickeln können.

Die Vorteile dieser fortschrittlicheren Architekturen werden bei groß angelegten oder sicherheitskritischen Anwendungen wie Avionik, modernen Automobilplattformen, Medizingeräten, Schienenverkehr, industriellen Automatisierungssystemen und Telekommunikationsinfrastruktur deutlich.

Sie unterstützen komplexe Funktionalitäten, Fehlerisolierung, Sicherheitsmechanismen und langfristige Wartbarkeit – Fähigkeiten, die einfachere Architekturen nicht ohne Weiteres bieten können. Obwohl sie einen höheren Entwicklungsaufwand und mehr Systemressourcen erfordern, ermöglichen kernelbasierte und geschichtete Ansätze die Zuverlässigkeit, Skalierbarkeit und Komplexität, die von modernen eingebetteten Systemen erwartet werden.

Hardware-Einschränkungen eingebetteter Systeme

Eingebettete Systeme laufen auf Hardware, die so konzipiert ist, dass sie die Einschränkungen des Produkts erfüllt, in dem sie verwendet werden. Die Hardware wird oft so spezifiziert, dass sie geschäftliche (z. B. Kosten) und technische Ziele erfüllt. Diese Produkte können Millionen von Einheiten umfassen und jahrzehntelang betrieben werden, was einen Bedarf an Zuverlässigkeit und Qualität sowohl der Hardware als auch der Software mit sich bringt.

Einschränkungen der Hardware

Häufige Einschränkungen für eingebettete Systemhardware sind:

  • Begrenzte Rechenleistung
  • Memory
  • Lagerung

Diese Einschränkungen begrenzen die Leistung und Komplexität der Anwendung, die die Hardware unterstützen kann. Dies wiederum erhöht die Design- und Entwicklungsherausforderungen, insbesondere wenn versucht wird, mehr Funktionen zu integrieren.

Einschränkungen bei der Hardware von Embedded-Systemen werden durch geschäftliche Anforderungen bestimmt, die sich häufig auf die Rentabilität des Endprodukts auswirken.

  • Stückliste kosten. Weniger komplexe Hardware ist billiger in der Anschaffung und hat höhere Gewinnmargen. Mit zunehmender Softwarekomplexität übersteigt sie jedoch schnell die Hardwarekapazität. Der Wechsel zu größeren Prozessoren bedeutet höhere Stücklistenkosten (BOM) und erhebliche Auswirkungen auf die Software.
  • Größe und Gewicht. Endprodukte sind durch Größe und Gewicht begrenzt, was sich auf die Hardwareauswahl auswirken kann. Komplexere Hardware erfordert möglicherweise größere Leiterplatten, Netzteile und Wärmeableitung.
  • Energieverbrauch. Eingebettete Systeme befinden sich häufig in batteriebetriebenen Geräten, bei denen der Stromverbrauch streng kontrolliert wird. Sie können sich auch in höherwertigen Systemen befinden, bei denen Wärme ein Problem darstellt.

Beispiele für Zielhardware umfassen kleine Mikrocontroller wie:

  • Das allgegenwärtige 8-Bit 8051
  • PIC16-MCU von Microchip
  • ST Micro STM32 32-Bit-ARM-Cortex-MCU
  • Eingebettete Systeme auf einem Chip (TI's OMAP oder unter der Raspberry Pi)
  • Große Multiprozessor-64-Bit-Systeme basierend auf ARM-, Intel- und AMD-Prozessoren

Software eingebetteter Systeme

Der größte Teil des Entwicklungsaufwands fließt in die Software eingebetteter Systeme. Tatsächlich benötigen die meisten Hersteller eine Softwaregruppe, um die in ihre Produkte eingebetteten Anwendungen zu entwickeln. Die CEOs dieser Unternehmen scherzen: „Wir sind ein Softwareunternehmen, das sich als Widget-Hersteller ausgibt.“

Die Realität ist, dass Software in vielen Märkten zum Schlüsselbereich der Differenzierung und Innovation geworden ist, auch in Unternehmen, deren Hauptprodukt nicht Software ist.

Wie bei der Hardware hängt die Komplexität der Software von der beabsichtigten Anwendung ab, die stark variieren kann. Es gibt jedoch drei Hauptkategorien, in die die meisten eingebetteten Softwares passen:

  • Kleiner Maßstab
  • Mittlere Skala
  • Großformat

Kleiner Maßstab, „Bare Metal“

Diese Anwendungen laufen normalerweise auf 8- und 16-Bit-Mikrocontrollern ohne formale Betriebssysteme, auch Bare Metal genannt. Die Anwendungen steuern normalerweise ein einzelnes Subsystem basierend auf einigen wenigen Sensoren. Sie sind möglicherweise nicht mit einem Netzwerk verbunden und arbeiten möglicherweise autonom. Die Steuerung auf hoher Ebene findet woanders statt, beispielsweise bei einem SCADA-System (Supervisory Control and Data Acquisition), normalerweise mit viel komplexerer Hardware und Software.

Mittlere Skala

Diese Systeme verwenden häufig kommerzielle oder Open-Source-Embedded-Betriebssysteme, die häufig auch Echtzeit-Betriebssysteme (RTOS) sind. Diese Betriebssysteme stellen die erforderliche Hardware-Abstraktion, Multiprozessor-, Multithreading-, Netzwerk- und Schnittstellenbibliotheken bereit. Beispiele beinhalten FreeRTOS, VxWorksund QNX sowie in einigen Fällen eingebettetes Linux. Die Anwendungsbereiche reichen von harten Echtzeit- und sicherheitskritischen Anwendungen wie Flugzeugavionik bis hin zu drahtlosen Routern und HLK-Systemen.

Normalerweise handelt es sich bei der Hardware um 32-Bit-Mikrocontroller und SoCs mit mehr RAM und Flash als bei kleinen Systemen. Allerdings ist die Softwarekomplexität in dieser Kategorie um Größenordnungen höher, da Anwendungen Zehntausende bis eine Million Codezeilen (LOC) oder mehr umfassen.

Große Skala

Systeme dieser Kategorie sind normalerweise sehr komplex mit mehreren Funktionen und Fähigkeiten. Sie arbeiten oft auf serverähnlicher Hardware mit Multiprozessoren. Anwendungen erfordern oft eine Echtzeitverarbeitung und können dennoch High-End-RTOS oder Linux verwenden. Beispiele hierfür sind Unternehmensnetzwerk-Switches und -Router und Telekommunikationsnetzwerk-Backbone-Systeme, Börsenverarbeitung und Flugsicherung. Diese Systeme sind hochkomplex und mit Codebasen von mehreren Millionen Codezeilen verbunden.

Trotz der Vielfalt der Anwendungen gibt es einige gemeinsame Merkmale, wie beispielsweise den dedizierten Charakter der Anwendungen. Eingebettete Systeme laufen oft das ganze Jahr über, 24 Stunden am Tag. Sie teilen auch die Notwendigkeit, zuverlässig, sicher, energieeffizient und kostengünstig in der Herstellung zu sein. Sie müssen mehr denn je sicher sein, worüber wir später sprechen werden.

Anwendungen eingebetteter Systeme

Die Anwendungen eingebetteter Systeme sind zu zahlreich, um sie aufzulisten, aber die offensichtlichen hochkarätigen Beispiele umfassen:

  • Lebensrettende Geräte wie Herzschrittmacher
  • Kritische Anwendungen wie Flugsteuerung in Flugzeugen und automatisierte Fahrerassistenz
  • Software, die Gadgets und Smart-Home-Geräte ausführt

Unsere Smartphones, Tablets, Smartwatches und Smart-TVs sind allesamt eingebettete Systeme! Hier sind weitere Anwendungen, die auf eingebetteten Systemen laufen:

  • Industrielle Automatisierung.
  • Führung und Kontrolle von Kernkraftwerken, Stromerzeugung und -verteilung.
  • Strom, Wärme und Licht, um die Wirtschaft am Laufen zu halten.
  • Sicherheitskritische Software in Zügen, Flugzeugen usw Automobile.
  • Telekommunikationstürme, Hubs, Switches und Router für Internet- und Telekommunikationsvorgänge.
  • Ausgeklügelte Waffen, Kampfjets, Panzer und Raketen haben eingebettete Systeme als Herzstück.

Tatsächlich werden 98 % der weltweit produzierten Mikroprozessoren in eingebetteten Systemen verwendet.

Was ist nicht eingebettet?

So allgegenwärtig eingebettete Systeme auch sind, es gibt immer noch viele Systeme und Software, die dies nicht tun. Sämtliche Desktop-Software wie Produktivität, Webbrowser und Videospiele gelten nicht als eingebettet. Unternehmenssoftware, Cloud-Infrastruktur und Backend-Systeme sind ebenfalls nicht eingebettet.

Wenn es auf allgemeiner Hardware wie einem typischen PC oder Server läuft, gilt es normalerweise nicht als eingebettet. Physisch gesehen sind die Anwendungen nicht als Einheit und untrennbar mit der Hardware verbunden. PCs werden beispielsweise möglicherweise mit dem Betriebssystem Microsoft Windows ausgeliefert, dieses Betriebssystem kann jedoch ersetzt und entfernt werden, ohne dass sich die Hauptfunktion des PCs ändert. Bei nicht eingebetteter Software handelt es sich in der Regel um Anwendungssoftware, die auf unterschiedlicher Hardware remote oder lokal ausgeführt werden kann.

Sicherheitsbedenken für eingebettete Systeme

Eingebettete Systeme spielen in sicherheits- und sicherheitskritischen Geräten eine wichtige Rolle. Produkte wie Herzschrittmacher und ABS-Bremssteuerungen können nicht versagen. Leben hängen davon ab, dass diese Geräte die ganze Zeit richtig funktionieren. Aufsehenerregende Fehler wie die Therak 25 Der Vorfall, bei dem Patienten massiv mit Strahlung überdosiert wurden, oder die Ariane-5-Raketenkatastrophe, die durch einen Integer-Überlauffehler verursacht wurde.

Sicherheit ist heute ein wichtiges Anliegen, da immer mehr eingebettete Systeme online gehen und über das Internet (das Internet der Dinge) verbunden sind. Diese Verbindung schafft neue Funktionen und Möglichkeiten und öffnet Angriffen Tür und Tor. Eine ganze Reihe von Sicherheitsproblemen bei IoT-Geräten wird von unserem eigenen Code Curmudgeon in seinem Dokument dokumentiert IoT-Hall of Shame. Unsichere Geräte sind unsicher, daher müssen Sicherheit und Schutz bei diesen kritischen Geräten gleichermaßen berücksichtigt werden.

Wie machen wir eingebettete Systeme sicher und sicher?

Der einzige Weg, um sicherzustellen, dass eingebettete Systeme sicher und geschützt sind, ist durch testing. Genauer gesagt, durch strenge Überprüfung und Validierungsprüfungen über den gesamten Entwicklungslebenszyklus. Das gilt vor der Softwareentwicklung, in der frühen Anforderungsanalyse und bis zum Lebensende.

Es gibt bestimmte Standards, die von Branchen befolgt werden müssen, in denen Sicherheit ein wichtiges Anliegen ist, darunter die folgenden:

Hersteller dieser Geräte müssen die Standards einhalten und durch Audits nachweisen, dass sie ihrer Sorgfaltspflicht nachkommen und alle Sicherheitsbedenken berücksichtigt haben. Der Aufbau und Test dieser Art der Hardware- und Softwareentwicklung ist zeitaufwändig und teuer, aber für die Sicherstellung des korrekten Verhaltens bei der Bereitstellung unerlässlich.

Gewährleistung der Sicherheit eingebetteter Systeme

Eingebettete Systeme, insbesondere sicherheitskritische eingebettete Systeme, können nicht ausfallen. Wenn sie es tun, sind die Folgen verheerend. Es werden Leben verloren gehen oder Personen werden schwer verletzt. Es besteht auch die Möglichkeit eines Sachschadens. Daher sind Softwaretests von entscheidender Bedeutung.

Softwaretests stellen sicher, dass das eingebettete System sicher, geschützt und zuverlässig ist. Tests helfen auch bei der Zertifizierung dieser Fakten. Die Normen zur funktionalen Sicherheit Die im vorherigen Abschnitt erwähnten Richtlinien bieten Anleitungen und empfehlen Testmethoden wie statische Codeanalyse, Komponententests, Integrationstests, Systemtests, Regressionstests, strukturelle Codeabdeckung und viele andere Arten von Gefahrenanalysen, Bedrohungsanalysen und Risikobewertungsaktivitäten, um das sicherste und zuverlässigste eingebettete System zu gewährleisten.

Für viele eingebettete Systeme gelten auch Zertifizierungsanforderungen, die von Bundesaufsichtsbehörden auferlegt werden. In den USA gibt es die FDA für medizinische Geräte, die FAA für Avionik, die NHTSA für Kraftfahrzeuge, die FRA für Schienenfahrzeuge und noch mehr. Diese Behörden erlassen Vorschriften, die die Sicherheit der Öffentlichkeit gewährleisten. Darüber hinaus streben Unternehmen selbst nach Qualität, denn Rückrufe, Klagen und langwierige Rechtsstreitigkeiten können ein Unternehmen zerstören.

Statische Codeanalyse für die eingebettete Entwicklung
Holen Sie sich das Whitepaper