| 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. |