Echtzeitprinzip

Echtzeitprinzip
Dieser Artikel erläutert den Begriff Echtzeit in der Informatik; zu weiteren Bedeutungen gleichnamiger Begriffe siehe Echtzeit (Begriffsklärung).


In der Informatik spricht man von Echtzeit (englisch: real-time, deutsch (veraltet): Realzeit), um sie von einer Modellzeit zu unterscheiden. Echtzeit bedeutet dabei die Zeit, die Abläufe in der realen Welt verbrauchen. Modellzeit hingegen bedeutet die von einer Software selbstverwaltete Laufzeit. Ist nun diese Modellzeit synchron zur Echtzeit, spricht man davon, dass das System echtzeitfähig ist.

Mit anderen Worten: Ist die Dauer eines Vorgangs (auch eine Wartezeit) vorhersehbar, dann spricht man von Echtzeit. Beispiel: Sitzt man vor einer funktionierenden Uhr, so ist es vorhersehbar, wann diese das nächste Mal tickt oder wann die Glocken (so vorhanden) schlagen werden (also Echtzeit). Sitzt man hingegen vor einem beliebigen funktionierenden Telefonapparat, so kann man nicht absehen, wie lang man warten muss, bis dieser das nächste mal klingelt (Dauer nicht vorhersehbar). Oder: Die Dauer einer schriftlichen Addition ist immer vorhersehbar, die Dauer einer schriftlichen Division (ohne weitere Einschränkungen) hingegen nicht, vergleiche z. B. 1+2 und 1/2 sind beide deterministisch, aber bei 1+3 und 1/3 hingegen ist nur 1+3 deterministisch.

Inhaltsverzeichnis

Beispiele für Echtzeit

  • in der Simulation: Die Simulationszeit in einem Simulator kann Zeit raffen, zum Beispiel wenn die Simulation einer Populationsdynamik, welche in Echtzeit mehrere Jahrzehnte oder Jahrhunderte dauert, innerhalb weniger Stunden simuliert werden kann. Oder die Zeit wird gestreckt, wenn z. B. sehr schnelle Prozesse aus der realen Welt nachvollziehbar dargestellt werden sollen, wie z. B. die Simulation der Teilchenstreuung bei einer Explosionsreaktion. Ist die Simulationszeit gleich der Zeit in der realen Welt, so handelt es sich um Echtzeitsimulation.
  • im Rendering von Bildern oder Filmen. Echtzeit-Rendering ist dabei die Berechnung von Bildern in der Geschwindigkeit, wie es die Anzeige verlangt. Oft sind Rendering-Systeme jedoch keine Echtzeitsysteme im eigentlichen Sinne, da das Rendern einzelner Bilder eines Filmes z. B. in Abhängigkeit vom Inhalt sehr unterschiedlich lange dauern kann. Die Echtzeitfähigkeit kann daher durch einen Leistungsüberschuss erzeugt werden, der in der Lage ist, mehr Bilder zu rendern, als gebraucht werden. Alternativ kann die Detailtiefe beim Rendering so verändert werden, dass das Bild in jedem Fall rechtzeitig fertig ist. Dieses Verfahren wenden viele Spielengines an, die bei zu geringer Rechenleistung des Systems die Detailgenauigkeit reduzieren.

Erklärung des Begriffs Echtzeit

Der Begriff Echtzeit legt lediglich fest, dass ein System auf ein Ereignis innerhalb eines vorgegebenen Zeitrahmens reagieren muss. Der Begriff sagt nichts über die Geschwindigkeit oder Verarbeitungsleistung eines Systems aus. In der Umgangssprache wird dies fälschlicherweise jedoch oft so verwendet, anstelle des zutreffenderen Begriffes verzögerungsfrei. Zur Beschreibung einer Steuerungs- und Regelungsaufgabe reicht es aber nicht aus, nur Echtzeit zu fordern. Die Anforderungen sind erst vollständig definiert, wenn außerdem die Zeit angegeben wird, in der das System mit Sicherheit reagiert haben muss. Je nach Art der Anwendung kann sich diese Reaktionszeit innerhalb eines weiten Bereichs bewegen:

  • Schnelle digitale Regelungen, Steuerungen, Filterungen und Überwachungen, Messdaten-Onlineauswertung benötigen Echtzeit-Systeme, die im Mikrosekunden-Bereich arbeiten.

Die Anforderung einer Automatisierungsaufgabe ist immer das Kriterium dafür, welches Echtzeitsystem zum Einsatz kommt.

Reaktionszeiten und Umsetzung

Auf einem Echtzeitsystem laufen in der Regel verschiedene Prozesse gleichzeitig mit unterschiedlicher Priorität ab. Die Reaktionszeit beschreibt die Zeitdauer für einen vollständigen Wechsel von einem Prozess niederer Priorität zu einem Prozess höherer Priorität. Dieser Wechsel wird dann eingeleitet, wenn ein definiertes Ereignis eintritt, z. B. generiert durch einen externen Trigger oder interne Timer. Die eigentliche Abarbeitung des aufgerufenen Prozesses beginnt erst nach dem ausgeführten Prozesswechsel.

Folgendes Beispiel soll den Zusammenhang zwischen der Reaktionszeit und dem Einfluss auf die zu realisierende Anwendung verdeutlichen: Ein fiktives Echtzeitsystem habe eine angenommene Antwortzeit oder Reaktionszeit (auch Totzeit) von 10 µs. Auf diesem Echtzeitsystem sollen verschiedene Prozesse mit unterschiedlichen Zykluszeiten ablaufen. Je nach Zykluszeit des Prozesses nimmt die Reaktionszeit einen beträchtlichen Anteil ein:


Prozess Frequenz Zykluszeit bzw. Periodendauer Reaktionszeit in % von der Zykluszeit
Prozess 1 1 kHz 1000µs 1%
Prozess 2 10 kHz 100µs 10%
Prozess 3 50 kHz 20µs 50%
Prozess 4 100 kHz 10µs 100%


Während bei Prozess 1 und 2 die Reaktionszeit nur einen kleinen Anteil der Prozesszykluszeit einnimmt, somit diese sicherlich realisierbar sind, sieht man deutlich den mit 50 Prozent größeren Anteil der Reaktionszeit bei Prozess 3. Nicht mehr realisierbar wäre Prozess 4, denn hier nimmt die Reaktionszeit ganze 100 Prozent der Prozesszykluszeit ein, somit steht keine Rechenleistung für die eigentliche Aufgabenrealisierung mehr zur Verfügung. Daraus folgt: je schneller Prozesse ablaufen sollen, desto kürzer muss die Reaktionszeit des Echtzeitsystems sein, um möglichst viel Rechenleistung für die Abarbeitung des Prozesses zur Verfügung zu stellen. Ideal wäre eine Reaktionszeit von 0, was unmöglich ist, aber mikrosekundengenaue Reaktionszeiten weit unter einer µs kommen dem schon sehr nahe.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”