NEU: WHITE PAPER
NEU: WHITE PAPER
NEU: WHITE PAPER
NEU: WHITE PAPER
NEU: WHITE PAPER

Neue Anforderungen aus dem "Consumer Umfeld" steigern die Komplexität von eingebetteten Systemen immer weiter, hinzu kommt ein überhitzter Bauteilemarkt.

In diesem White Paper stellen wir Ihnen drei Wege vor, die zu einer erfolgreichen und robusten Embedded-Plattform führen.

>> zum White Paper

23.08.2016 | Fachthema

Echtzeit-Betriebssysteme

Verwendete Tags:
Betriebssystem
Elektronik
Embedded
Embedded System
Embedded Linux

Echtzeit-Betriebssysteme

Neulich informierten wir wofür Betriebssysteme gut sind und was denn Echtzeit heißt. Heute machen wir einen Ausflug in die Welt der Echtzeit-Betriebssysteme, einer wichtigen Klasse von Betriebssystemen für Embedded Systeme.

Zur Erinnerung:
Ein Betriebssystem stellt dem Anwendungsprogramm Betriebsmittel, wie Speicher, Rechenzeit, Ein- und Ausgabeschnittstellen zur Verfügung. Und Echtzeit heißt, dass ein System innerhalb genau berechenbarer Verzögerungszeiten auf externe Ereignisse reagiert. Ein Echtzeit-Betriebssystem sorgt also neben dem Verwalten der Betriebsmittel für die genau vorhersehbar berechenbare – deterministische – Antwort des Systems auf ein externes Ereignis.

Nehmen wir als Beispiel einen Tintenstrahldrucker: 
Der Druckkopf wird über das Papier hin- und herbewegt. Zum genau richtigen Zeitpunkt muss die richtige Menge der gewünschten Farbe auf das Papier gespritzt werden, um das gewünschte Druckbild zu ergeben. Nebenbei empfängt der Drucker Daten über USB oder Netzwerk vom PC, muss die Daten aufbereiten, reagiert auf Tastendrücke und zeigt Informationen am Display an. Wenn der Drucker druckt und sich der Druckkopf bewegt, muss also immer sichergestellt werden, dass die Tinte exakt aufgetragen wird, egal ob er dabei noch eine Menge Daten empfängt, oder jemand auf eine Taste drückt.
Je höher die Auflösung des Druckers, desto exakter muss der Zeitpunkt stimmen, je schneller der Drucker ist, desto geringer ist das Zeitfenster in dem der Punkt aufgetragen werden muss. Da ist man dann schnell im Mikrosekunden-Bereich.

In so einem Tintenstrahldrucker gibt der Antrieb des Druckkopfs bei der Bewegung Impulse aus. Diese melden die Bewegung des Druckkopfs an das System zurück. Das können mehrere tausend Rückmeldungen für eine ganze Wegstrecke sein. Jeder Impuls informiert das System über die Lage des Druckkopfs und das System muss nun abhängig vom Bild einen entsprechenden Farbtupfer setzen oder eben nicht.

Das heißt: Jeder Impuls unterbricht die laufende Arbeit des Systems, z.B. Daten empfangen oder aufbereiten, und startet ein (Interrupt-)Programm, das feststellt ob und welche Tinte verwendet wird. Anschließend kehrt das System wieder in das unterbrochene Programm zurück und arbeitet dieses bis zur nächsten Unterbrechung weiter ab. Dieser Vorgang kann viele tausend Male in der Sekunde passieren, ohne dass Sie etwas davon merken.

Um dem Systementwickler für solche Anforderungen das Leben einfacher zu machen, gibt es viele verschiedene, kostenlose und kommerzielle Echtzeit-Betriebssysteme, wie VxWorks, QNX, Nucleus oder auch echtzeitfähige Linux Varianten. Viele Firmen verwenden aber nach wie vor auch selbst entwickelte Systeme.

 

 

Bild: © TASPP & magneticmcc | Fotolia

 

 

Kontakt

Sie haben Fragen

oder möchten Kontakt aufnehmen?