Echtzeit
Echtzeit (engl. real-time) ist ein Begriff aus der Informatik.
Ein Echtzeit-System (engl. real-time system) erfuellt besondere Zeitbedingungen.
Die Definition von Echtzeit ist umstritten. Die breiteste Zustimmung findet folgende Definition:
Ein Echtzeit-System ist ein System, bei dem das Ergebnis der Berechnung innerhalb eines gewissen Zeitraumes vorliegen muss. Verletzt das System diese Zeitschranke, hat das System versagt.
Weitere Kriterien für Echtzeitsysteme sind die Berechenbarkeit des Reaktionsverhaltens (deterministisches System), das (fast) lastunbhängig sein sollte. Ferner benötigen Echtzeitsystem Mechanismen um die Priorität von Prozessen und damit die Abarbeitungsreihenfolge im laufenden Betrieb (also dynamisch) ändern zu können.
Beispiel: In einem Auto muss das elektronische Motormanagement zu bestimmten Zeitpunkten seine Ergebnisse (einzuspritzende Benzinmenge, Zuendzeitpunkt) liefern. Spaeter eintreffende Ergebnisse sind wertlos.
Eine genaue Dauer der Zeitschranke kann nicht angegeben werden, da sie applikationsabhaengig ist.
Beispiel: Die Temperatur eines chemischen Reaktors in einer verfahrenstechnischen Anlage aendert sich meist nur innerhalb von Minuten. Eine Steuerung, die innerhalb von mehreren Sekunden auf Abweichungen reagiert, kann daher noch als echtzeit-faehig gelten. In Maschinen ist die gegenseitige Lage von Werkstueck und Werkzeug zu kontrollieren. Aufgrund der schnellen mechanischen Vorgaenge muss eine Steuerung in diesem Fall innerhalb von Millisekunden auf Abweichungen reagieren, um echtzeit-faehig zu sein.
Abhaengig von den Folgen wird manchmal zwischen harter Echtzeit (engl. hard real-time) und weicher Echtzeit (engl. soft real-time) unterschieden.
Beispiele: Das elektronische Motormanagement muss harte Echtzeit erfuellen, sonst stottert der Motor oder das Auto bleibt gar ganz stehen. Ein Computer, mit dem man Videos und Filme ohne merkbare Wartezeiten bearbeiten koennen soll, braucht nur weiche Echtzeit zu erfuellen. Dauern einzelne Aktionen laenger, erfuellt das System dennoch seinen Zweck.
Computer-Systeme zur Steuerung von technischen Einrichtungen wie Maschinen, Anlagen, Autos, Flugzeuge usw. sind praktisch immer Echtzeit-Systeme.
Ein Echtzeit-System erfordert nicht zwingend den Einsatz eines Echtzeitbetriebssystems, aber es erleichtert das Schreiben von echtzeit-faehigen Programmen. Auch in speicherprogrammierbare Steuerungen (SPS) und Prozessleitsystemen (PLS) werden Echtzeitbetriebssysteme eingesetzt, die aber dem Anwender nicht direkt zugaenglich sind.
Um die Echtzeit-Faehigkeit eines Echtzeit-Systems theoretisch nachweisen zu koennen, muessen die Haeufigkeit der externen Ereignisse, die Laufzeit der einzelnen Programmteile und die Zeitschranken bekannt sein.
Beispiele für Echtzeit-Systeme:
- Navigationscomputer im Flugzeug
- Elektronisches Motormanagement im Auto
- Antiblockiersystem (ABS) im Auto
- Video-/Ton-Decoder oder -Encoder (Codec)
- Steuerungen fuer Maschinen
- Steuerungen fuer verfahrenstechnische Anlagen
Siehe auch:
Vergleiche:
- Newsgroup Comp.realtime: Frequently Asked Questions (FAQs) (version 3.6)
- http://www.faqs.org/faqs/realtime-computing/faq/
- http://www.cis.ohio-state.edu/hypertext/faq/usenet/realtime-computing/top.html