Embedded Systeme

Bei so genannten Embedded Systemen handelt es sich um eingebettete Computer-Systeme, die - weitestgehend unsichtbar und geräuschlos- ihren Dienst in einer Vielzahl von Anwendungsbereichen versehen, wie z.B. in Telefonanlagen, Autos, DVD - Playern oder allgemein Geräten der Unterhaltungselektronik. Die Software-Entwicklung für diese Systeme ist daher nicht vergleichbar mit der für Desktop- oder PC-Systeme: So werden Betriebssysteme wie z.B. OSE, embedded Linux eingesetzt, die Echtzeitanforderungen genügen. Bevorzugte Programmiersprachen sind z.B. Assembler oder C.

Beispiele

Die Elektronik in einem Kaffeeautomaten ist ein eingebettetes System. Tagsüber wird mit ihr beispielsweise die Kaffeemenge und -stärke reguliert, während nachts die aktuellen Daten wie Verbrauch, Einnahmen etc an die Firmenzentrale geliefert werden.

Die meisten Telefonanlagen sind heutzutage Embedded Systeme. Sei es die normale Telefonie über analoge, digitale Schnittstellen oder VOIP, oder Anwendungen wie Voicemailsysteme und Autoattendant.

Randbedingungen

Embedded Systeme basieren zumeist auf derselben Hardware wie Computer, sie unterliegen jedoch in der Regel stark einschränkenden Randbedingungen: Minimale Kosten in Verbindung mit geringem Platz-, Energie- und Speicher-Verbrauch. Die Fertigung in großen Stückzahlen, zumeist im Millionen-Bereich, ist ein weiterer wichtiger Punkt zur Kostenreduzierung. Daneben steht die Langlebigkeit und die Verfügbarkeit der Produkte im Vordergrund. Wer schmeißt schon seine Telefonanlage nach drei Jahren auf den Müll.

Die Programme auf einem Embedded System laufen meist im Echtzeitmodus mit stark reduzierten Ressourcen verglichen mit aktueller Computerhardware, überwiegend ohne Festplatte, Tastatur oder gar Bildschirm. Ein ROM - oder Flash -Speicher ersetzt mechanische Komponenten wie eine Festplatte: bewegliche Teile bedeuten Verschleiß, der hier unerwünscht ist. Wenn überhaupt, dann gibt es nur ein kleines Tastenfeld und die Ausgabe wird oft durch ein kleines LCD – Display realisiert. Die Software auf einem solchen Gerät wird Firmware genannt. Sie befindet sich gewöhnlich auf einem ROM oder einem Flash - Speicher. Bei einem Flash - Speicher besteht die Möglichkeit eines Firmware-Updates, ohne dass der Chip ausgewechselt werden muss.

Embedded Software-Architekturen

Im einfachsten Fall durchläuft die Software eine Endlos-Schleife. Interrupte setzen Flags oder interne Zähler, welche in einer Endlos-Schleife ausgewertet werden und zum Aufruf von Unterprogrammen führen. In den Unterprogrammen erfolgt dann die entsprechende Bearbeitung der einzelnen Anreize.In komplexen Systemen kommen Echtzeitbetriebssysteme zum Einsatz.