Echtzeit
Echtzeit (englisch: real-time, deutsch: veraltet Realzeit ) ist ein Begriff aus der Informatik.
Die Definition von Echtzeit ist umstritten. Die breiteste Zustimmung findet folgende Definition:
Echtzeit bedeutet, dass das Ergebnis einer Berechnung innerhalb eines gewissen Zeitraumes garantiert vorliegt, das heißt bevor eine bestimmte Zeitschranke erreicht ist.
Ein Echtzeit-System (englisch: real-time system) muss also nicht nur ein Berechnungsergebnis mit dem richtigen Wert, sondern dasselbe auch noch rechtzeitig liefern. Andernfalls hat das System versagt.
Beispiel: In einem Auto muss das elektronische Motormanagement zu bestimmten Zeitpunkten seine Ergebnisse (einzuspritzende Benzinmenge, Zündzeitpunkt) liefern. Später eintreffende Ergebnisse sind wertlos.
Eine genaue Dauer der Zeitschranke beziehungsweise was rechtzeitig bedeutet, hängt von der Anwendung ab und kann daher nicht allgemein angegeben werden.
Beispiel: In Maschinen ändert sich die gegenseitige Lage von Werkstück und Werkzeug innerhalb von einigen Millisekunden. Abhängig von der geforderten Fertigungstoleranz muss eine Steuerung innerhalb von einigen hundert Mikro- bis einer Millisekunde auf Abweichungen reagieren, um echtzeit-fähig zu sein. Die Temperatur eines Apparates in einer verfahrenstechnischen Anlage ändert sich meist nur innerhalb von Minuten. Eine Steuerung, die innerhalb von mehreren Sekunden auf Abweichungen reagiert, kann daher noch als echtzeit-fähig gelten.
Ein Echtzeit-System reagiert also auf alle Ereignisse rechtzeitig und verarbeitet die Daten "schritthaltend" mit dem technischen Prozess. Es wird quasi nicht vom technischen Prozess abgehängt.
Um die Echtzeit-Fähigkeit eines Echtzeit-Systems theoretisch nachweisen zu können, müssen die Häufigkeit der externen Ereignisse, die Laufzeit der einzelnen Programmteile und die Zeitschranken bekannt sein.
Rechner zur Steuerung von technischen Einrichtungen oder Prozessen wie Maschinen, verfahrenstechnische Anlagen, Autos, Flugzeuge und so weiter sind praktisch immer Echtzeit-Systeme.
Abhängig von den Folgen wird manchmal zwischen harter Echtzeit (englisch: hard real-time) und weicher Echtzeit (englisch: soft real-time) unterschieden. Hierfür gelten jeweils unterschiedliche Echtzeitanforderungen.
Beispiele: Das elektronische Motormanagement muss harte Echtzeit erfüllen, sonst stottert der Motor oder das Auto bleibt gar ganz stehen, was sogar Unfälle auslösen könnte. Ein Computer, mit dem man Videos und Filme ohne merkbare Wartezeiten bearbeiten können soll, braucht nur weiche Echtzeit zu erfüllen. Dauern einzelne Aktionen länger, erfüllt das System dennoch seinen Zweck.
Ein Echtzeit-System erfordert nicht zwingend den Einsatz eines Echtzeitbetriebssystems, ein solches erleichtert aber das Schreiben von echtzeit-fähigen Programmen. Auch in speicherprogrammierbare Steuerungen (SPS) und Prozessleitsystemen (PLS) werden Echtzeitbetriebssysteme eingesetzt, die aber dem Anwender nicht direkt zugänglich sind.
Beispiele für Echtzeit-Systeme
- Navigationscomputer im Flugzeug
- elektronisches Motormanagement im Auto
- Antiblockiersystem (ABS) im Auto
- Video-/Ton-Decoder oder -Encoder (Codec)
- Steuerungen für Maschinen
- Steuerungen für verfahrenstechnische Anlagen
Siehe auch:
Weblinks
- Beitrag "Comp.realtime: Frequently Asked Questions (FAQs)", regelmäßig in der Newsgroup "comp.realtime" gepostet
- http://www.faqs.org/faqs/realtime-computing/faq/
- http://www.cis.ohio-state.edu/hypertext/faq/usenet/realtime-computing/top.html