Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Echtzeitsystem - Wikipedia

Echtzeitsystem

aus Wikipedia, der freien Enzyklopädie

Von Echtzeitsystemen (englisch real-time system) spricht man, wenn ein System ein Ergebnis innerhalb eines vorher fest definierten Zeitintervalles garantiert berechnet, also bevor eine bestimmte Zeitschranke erreicht ist. Die Größe des Zeitintervalles spielt dabei keine Rolle: Während bei einigen Aufgaben (Motorsteuerung) eine Sekunde bereits zu lang sein kann, reichen für andere Probleme Stunden oder sogar Tage. Ein Echtzeitsystem muss also nicht nur ein Berechnungsergebnis mit dem richtigen Wert, sondern dasselbe auch noch rechtzeitig liefern. Andernfalls hat das System versagt. Umgangssprachlich spricht man auch von „in Echtzeit“, wenn Programme ohne spürbare Verzögerung arbeiten. Diese Definition ist jedoch sehr unsauber.

Inhaltsverzeichnis

[Bearbeiten] Harte und weiche Echtzeit

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.

  • weiche Echtzeitanforderungen: Solche Systeme arbeiten typischerweise alle ankommenden Eingaben schnell genug ab. Die Antwortzeit erreicht einen akzeptablen Mittelwert; signifikante Abweichungen von diesem sind selten, obwohl grundsätzlich mit vereinzeltem Auftreten größerer Abweichungen zu rechnen ist.
  • harte Echtzeitanforderungen: Eine Überschreitung der Antwortzeit wird als ein Fehler gewertet. Echtzeitsysteme liefern das korrekte Ergebnis immer innerhalb der vorgegebenen Zeitschranken. Auf diese Eigenschaft kann man sich beim Einsatz eines Echtzeitsystems verlassen.

Beispiele:

  • Systeme für Videokonferenzen müssen Bild und Ton innerhalb von Mikrosekunden aufnehmen, vorverarbeiten, versenden und darstellen. Wenn dies bei einigen Bildern nicht gelingt, "ruckelt" die Darstellung zwar etwas, es kann danach jedoch ohne negative Folgen weitergearbeitet werden. Es handelt sich also um weiche Echtzeit.
  • Die elektronische Motorsteuerung in einem Auto muss harte Echtzeit erfüllen, sonst stottert der Motor oder das Auto bleibt stehen. Der Ausfall bzw. eine nicht korrekt eingehaltene harte Echtzeit kann im schlimmsten Fall sogar einen Unfall verursachen.

Je nach Problemstellung und Blickwinkel wird auch folgende Definition verwendet:

  • weiche Echtzeitanforderungen: Das System muss in der angegebenen Zeitspanne reagieren, nicht jedoch das vollständige Ergebnis liefern. Tritt keine Reaktion ein, gilt der Vorgang als fehlgeschlagen und wird abgebrochen.
  • harte Echtzeitanforderungen: Das System muss im definierten Zeitfenster das Ergebnis vollständig präsentieren.

Innerhalb der weichen Echtzeitsysteme finden sich manchmal weitere Klassifikationen, die die Überschreitungen der Antwortzeiten feiner differenzieren. Häufige Kriterien sind:

  • Das Ergebnis hat keinen Wert mehr; die Berechnung wird abgebrochen und verworfen.
  • Der Wert (die Bedeutung oder der Nutzen, nicht der numerische Wert) des Ergebnisses sinkt ab Ende der Antwortzeit.
  • Eine Überschreitung der Antwortzeit wird hingenommen, und das Ergebnis wird angenommen, wenn es vorliegt.

Bereits die Definition von weichen Echtzeitystemen ist von eher umganssprachlicher Natur, so dass eine feinere Unterteilung erst recht schwierig zu geben ist.

Die DIN-Norm 44300 definiert unter Echtzeitbetrieb (dort Realzeitbetrieb genannt), den Betrieb eines Rechnersystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Diese Begriffsnorm hat sich in der Praxis als alleinig akzeptierte Definition nicht durchsetzen können, es dominieren die Begriffe aus dem englischen Sprachraum.

[Bearbeiten] Umsetzung

Echtzeit beschreibt das zeitliche Ein-/Ausgangsverhalten eines Systems, sagt aber nichts über dessen Realisierung aus. Ein Echtzeit-System kann ein Rechner mit einer geeigneten Software, kann aber auch eine reine Hardware-Lösung sein. Für Anforderungen mit sogenannten weichen Grenzen werden normalerweise reguläre EDV-Systeme verwendet. Für Anforderungen mit harten Grenzen werden spezielle Architekturen (Hardware und Software) verwendet. Prinzipiell ist auch ein PC echtzeitfähig, allerdings nicht oder nur sehr bedingt wenn er mit klassischen Multitasking-Betriebssystemen betrieben wird. Echtzeitbetriebssysteme sind oftmals ebenfalls multitaskingfähig, verfügen jedoch über einen anderen Scheduler als konventionelle Systeme.

Auch in Speicherprogrammierbaren Steuerungen (SPS) und Prozessleitsystemen (PLS) werden Echtzeitbetriebssysteme eingesetzt, die aber dem Anwender nicht direkt zugänglich sind.

Um die Echtzeitfähigkeit eines mittels Software realisierten Echtzeitsystems theoretisch nachweisen zu können, müssen die Häufigkeit der externen Ereignisse, die Laufzeit der einzelnen Programmteile und die Zeitschranken bekannt sein.

Die Software, die unter Echtzeitbedingungen läuft, muss einige Eigenschaften - insbesondere bei harten Grenzen - aufweisen:

  • Die maximale Laufzeit eines Moduls muss berechenbar sein und darf keinen nicht oder nur bedingt beeinflussbaren Faktoren unterliegen. Dies ist ein Problem bei komplexer I/O (z.B. Festplatte mit Cache und automatischem Ruhezustand) oder bei Netzwerk mit nicht deterministischen Zeitverhalten (z.B. TCP/IP).
  • Bei Rekursion muss die maximale Rekursionstiefe, bei Schleifen muss die maximale Anzahl an Iterationen feststehen.
  • Der Bedarf an Ressourcen, insbesondere der Bedarf an Speicher muss bekannt sein. Die Laufzeitumgebung und die Hardware muss den Ressourcenbedarf decken können.
  • Die Laufzeit von Betriebssystemsaufrufen und von Routinen der Laufzeitumgebung muss mit berücksichtigt werden. Problematisch ist hier zum Beispiel der Einsatz automatischer Speicherbereinigung, dessen Laufzeit sehr pessimistisch abgeschätzt werden muss. Auch die Verwendung von virtuellem Speicher ist wegen der potentiellen Zeitverluste beim Ein-/Auslagern von Speicherseiten vom/in den Hintergrundspeicher problematisch.
  • Das Verhalten bei drohender Zeitüberschreitung muss definiert und vorhersehbar sein.

[Bearbeiten] Beispiele für Echtzeitsysteme

Rechner zur Steuerung von technischen Einrichtungen oder Prozessen wie Maschinen, verfahrenstechnischen Anlagen oder Verkehrsmitteln sind praktisch immer Echtzeitsysteme. Ein Echtzeitsystem reagiert also auf alle Ereignisse rechtzeitig und verarbeitet die Daten "schritthaltend" mit dem technischen Prozess. Es wird sozusagen nicht vom technischen Prozess abgehängt - weder im Normalfall noch in kritischen Situationen.

  • 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 echtzeitfähig gelten. Reaktionszeit im Sekundenbereich.
  • Die Airbag-Steuerung im Auto muss dauernd und innerhalb kürzester Zeit die Messwerte der Sensoren verarbeiten und entscheiden, ob und wie stark der Airbag ausgelöst wird; die Reaktionszeit liegt im Bereich von 1ms.
  • Antiblockiersystem (ABS) im Auto, die Regelfrequenz liegt hier typischerweise bei 1kHz, d.h. die Reaktionszeit liegt unter 1ms.
  • In Werkzeugmaschinen ändert sich die gegenseitige Lage von Werkstück und Werkzeug. Heutige CNC-Steuerungen haben zeitliche Auflösungen der Bewegungsregelung von 125µs.
  • In einem Auto muss das elektronische Motormanagement zu bestimmten Zeitpunkten seine Ergebnisse (einzuspritzende Benzinmenge, Zündzeitpunkt) liefern. Später eintreffende Ergebnisse sind wertlos. Reaktionszeit ~100µs.
  • Für die genaue Ablenkung von Elektronenstrahlen, z. B. beim Elektronenstrahlschweißen müssen Magnetfelder mit Frequenzen von 100kHz bis 1MHz geregelt werden. Reaktionszeit 1µs - 10µs.
  • Raketentechnik: Die härtesten Echtzeitanforderungen betreffen die Patriot-Raketen, die zum Abschuss anderer Raketen eingesetzt werden. Bei Begegnungsgeschwindigkeiten von mehreren 1000 m/s und einzuhaltenden Trefferradien von weniger als einem Meter müssen Zeitschranken im Nanosekundenbereich eingehalten werden. Reaktionszeit bis unter 1ns.

[Bearbeiten] Gestaltungsparadigmen

Bei der Realisierung gibt es zwei Gestaltungsparadigmen: ereignisgesteuert und zeitgesteuert.

Bei der Ereignissteuerung wird auf ein von außen kommendes Ereignis sofort reagiert, d. h. eine Verarbeitung gestartet. Gegebenenfalls wird eine gerade laufende Verarbeitung dabei unterbrochen. Die Ereignissteuerung hat den Vorteil, dass sie mit lediglich geringem Zeitverlust auf das Ereignis reagiert. Weil sie intuitiv ist, ist sie auch weit verbreitet. Der Hauptnachteil ist, dass es nicht verhinderbar ist, dass mehrere Ereignisse innerhalb kurzer Zeit auftreten können und es damit zu einer Überlastung des Echtzeitsystems (mit Verlust von Ereignissen und/oder Überschreitung von Zeitlimits) kommen kann.

Bei der Zeitsteuerung werden Verarbeitungen auf Grund eines vorher festgelegten Zeitplans gestartet. Der Vorteil liegt darin, dass Überlastungen grundsätzlich ausgeschlossen werden können. Das Verhalten der Anwendung ist für alle Zeit vorhersagbar, was die Zeitsteuerung für sicherheitskritische Anwendungen geeignet macht. Der Nachteil der Zeitsteuerung ist der höhere Planungsaufwand und der damit verbundene notwendige Werkzeugeinsatz.

[Bearbeiten] Siehe auch

[Bearbeiten] Literatur

[Bearbeiten] Weblinks

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu