Informatik: Das wurde mal echt Zeit! - Echtzeit und ihre Bedeutung
Released by matroid on Mo. 09. August 2004 20:21:12 [Statistics]
Written by frosty - 5596 x read [Outline] Printable version Printer-friendly version -  Choose language   
Informatik

\(\begingroup\) Das wurde mal echt Zeit!
- Echtzeit und ihre Bedeutung


Heute möchte ich eine kurze Einführung geben, was man unter Echtzeit und Echtzeit(betriebs)systemen versteht. Da es allein für dieses Thema mehrere Vorlesungen gibt, will ich in diesem Artikel nur auf grundlegende Sachen eingehen und demjenigen, der Interesse daran hat, ein wenig Handwerkszeug mit auf den Weg geben.

Was ist Echtzeit?

Eine scheinbare triviale Frage, schließlich gibt es für sowas Definitionen. Doch so einfach dies auf den ersten Blick aussehen mag, ist es leider nicht. Man könnte beinah sagen, dass Echtzeit von jedem anders definiert wird. Liest man ein Buch zu diesem Thema, ist es besonders wichtig, zuerst zu erfahren, auf welche Echtzeitdefinition sich der Verfasser bezieht.
Ich möchte an dieser Stelle noch keine fertige Definiton präsentieren, sondern euch vielmehr durch Beispiele und langsames Herantasten die Möglichkeit geben, es am Ende vielleicht selber zu wissen.

Also legen wir los!

Schaut man sich das Wort "Echtzeit" an, dann könnte man meinen, es bedeutet, dass etwas zur aktuellen Zeit geschieht, also live. Zum Beispiel sieht man ein Glas in Echtzeit fallen, wenn man in der Küche steht und es fallen lässt. Nimmt es jedoch jemand auf Video auf und man schaut es sich später an, ist es nicht mehr live. Leider ist diese Herangehensweise falsch. Denn genau das bedeutet Echtzeit nicht.

Das wäre also der naive Blick auf den Begriff Echtzeit, aber so kann man das für die Infomatik nicht stehen lassen.

Um uns dem Problem zu nähern, benötigen wir einige Begriffe, ohne die es einfach nicht geht. Ich werde diese hier erläutern. Es ist möglich, den Teil einfach zu überspringen, und später hier nachzuschauen, falls man einen Begriff nicht kennt. Wer sich allerdings noch gar nicht mit Betriebssystemtheorie beschäftigt hat, tut besser daran, diese jetzt sofort zu lesen.

Gegenstand unserer Betrachtung sind immer jobs. Ein job ist eine Arbeitseinheit, die vom System gescheduled (...) und ausgeführt wird. Kooperieren mehrere Jobs, um gemeinsam eine Systemfunktion zur Verfügung zu stellen, so spricht man von einer/einem task.
Die release time ist nichts anderes als die Zeit, zu der ein job ausgelöst wurde, also jene Zeit, in der ein job zur Ausführung bereit wird (vorsicht, nicht gleichbedeutend mit dem Zeitpunkt seiner Abarbeitung). Allerdings gibt es unterschiedlich Arten von release time:
fixed, jittered und sporadic release times. Fixed bedeutet, dass der job zu einem festgelegten Zeitpunkt bereit wird, jittered, beschreibt einen gewissen Zeitraum, in dem er dies wird, und sporadic ist sozusagen relativ unvorhersehbar.
Außerdem verfügt jeder job über eine deadline. Nun das dürfte klar sein, es ist der Zeitpunkt, zu dem ein Job komplett ausgeführt worden sein muss. Der Zeitraum zwischen release time und Ausführungsende eines jobs wird als response time bezeichnet und die benötigte Zeit zur vollständigen Abarbeitung als execution time.

Noch wach? Das soll ertsmal reichen. Kommen wir zurück zu der Frage, was denn nun Echtzeit bedeutet. Etwas spezieller kann man es so beschreiben:

Ein job muss innerhalb eines bestimmten Zeitraums ausgeführt worden sein, bevor eine bestimmte Zeitschranke (deadline) erreicht ist. Ein Echtzeitsystem muss diese Forderung garantieren.
Jedoch ist das noch nicht ganz vollständig, denn das System entscheidet, ob es einen job annimmt oder nicht. Es könnte ja sein, das die Annahme eines jobs zur Folge hat, dass alle anderen nicht mehr vor Erreichen ihrer Zeitschranke abgearbeitet werden können. Wird der job jedoch angenommen, so soll für ihn gelten, dass er rechtzeitig ausgeführt wird und all die anderen jobs ebenfalls.

Nun zu ein paar Beispielen. Zunächst eines um die zuvor definierten Begriffe zu veranschaulichen:

Betrachten wir einmal eine schriftliche Klausur bzw. Prüfung. Wir bekommen die Anweisung, eine bestimmte Aufgabe zu lösen. Der Zeitpunkt, zu dem wir in dem Raum erschienen sind, ist die release time, denn zu dieser Zeit waren wir bereit, uns der Herausforderung zu stellen. Wir erhalten eine vorgegebenen Zeitpunkt, zu dem die Aufgabe ferig gelöst sein muss, nämlich bis 13.00 Uhr, das ist die deadline. Wir wissen, dass wir aber nur eine Stunde brauchen werden, d.h. unsere execution time entspricht einer Stunde.
Spitzen wir das ganze ein wenig zu und sagen, wir sind ein job. Unsere alleinige Aufgabe ist das Aufschreiben der Lösung. Nun soll es ja Klausuren geben, in denen es die Profs recht locker sehen und so etwas wie teamwork entsteht. Sagen wir es reicht, wenn eine Lösung von mehreren abgegeben wird (welch Traum!). Wir nehmen unsere Nachbarn und weisen ihnen Aufgaben (jobs) zu: der eine muss denken, der andere im script nachschlagen, etc. Wir alle arbeiten zusammen, um die Aufgabe zu lösen, zusammen sind wir ein task. Nach einer Stunde, 12.30 Uhr sind wir fertig. Unsere response time beträgt also 60 min.

Jetzt ein Beispiel zur Echtzeit:

Ein Fließband habe die Aufgabe, jedes Teil auf seine Unversehrtheit hin zu überprüfen. Entdeckt es ein defektes Teil, muss es entscheiden, ob die Zeit zur Reperatur reicht.
Die Teile laufen über das Fließband. Für das Checken werden jeweils 10s benötigt (execution time), 15s werden zur Verfügung gestellt. In dem Moment wo ein Teil angehoben wird, muss es nach spätestens 15s getestet sein und zurück auf dem Fließband liegen. Jetzt kommt ein Teil, welches defekt ist, die Reperatur würde (laut aktueller Abschätzung) 30s dauern, in 15s kommt aber bereits das nächste Teil. Für das Vorgänger-Teil haben wir 10s gebraucht und 5s übrig, das nächste Teil in 15s, ergibt 20s. Wir brauchen aber nur 10s für das nächste Teil, macht 25s Zeit, die wir zur Reperatur haben. Das reicht nicht, also Verweigern wir die Annahme des jobs und alles geht gut. Die Echtzeitforderung für die anderen jobs bleibt gewährlistet.

Versuchen wir uns nun erneut an einer Definition für Echtzeit.

Ein System ist echtzeitfähig, wenn es die rechtzeitige Bearbeitung eines jobs (in einer vorgegebenen Zeitschranke bzw. deadline) garantieren kann ohne dabei evtl. bereits zugesagte Garantien für andere jobs zurückziehen zu müssen.

Üblicherweise unterscheidet man noch zwischen harter und weicher Echtzeit (hard vs. soft realtime). Bei den meisten traditionellen Echtzeitsystemen sind alle auszuführenden tasks und jobs des Systems a priori bekannt. Die Herangehensweise bei der Entwicklung solcher Echtzeitsysteme besteht darin, HW- und SW-features, die zu Nichtdeterminimus führen können einfach zu vermeiden.
Man spricht von einem harten Echtzeitsystem, wenn alle Zeitschranken eingehalten werden müssen, im Gegensatz zu weichen Echtzeitsystemen, in denen es tolerierbar ist, wenn ab und zu eine deadline nicht eingehalten wird oder ein job abgebrochen werden muss. Meist wird der Unterscheid auch anhand der Folgen des Nicht-Einhaltens von deadlines gemacht. So wären harte Echtzeitsysteme sicherheitskritische Systeme, in denen die Zeitschranke zwingend eingehalten werden muss.

Ein Beispiel für ein hartes Echtzeitsystem wäre ein automatisch gesteuerter Zug, welcher nicht unverzögert stoppen kann. Wenn die Ampel rot ist, muss die Bremsaktion eine bestimmte Strecke vor der Ampel aktiviert (bzw. angestoßen) werden. Diese Bremsdistanz ist abhängig von Geschwindigkeit und Bremsverzögerung des Zuges. Mit Hilfe dieser Werte kann der Controller die Zeit des Zuges berechnen, die dieser zum Bremsen benötigen wird. Diese Zeit wiederum beeinflusst die response time der jobs, welche das stop-Signal und das Aktivieren der Bremse wahrnehmen und ausführen. Niemand würde hier in Frage stellen, dass diese Zeitschranke hart ist und die Einhaltung garantiert sein muss ;)

Um noch ein Beispiel für ein weiches Echtzeitsystem zu bringen, betrachten wir ein Multimediasystem (MM-System), welches dem Nutzer Dienste mit einer "garantierten" Qualität bietet. Zum Beispiel muss ein Frame eines Films jede 1/30s übertragen werden und die Differenz zwischen jedem Video-Frame, das dargestellt wurde und der zugehörigen Sprache sollte nicht mehr als 80ms betragen. Die Nutzer sind meist bereit, wenige Störimpulse zu tolerieren, so lange diese selten und nur für kurze Zeit auftreten. Allerdings sind sie nicht bereit, die Kosten für die komplette Beseitigung der Störimpulse zu tragen.
Aus diesem Grund sehen wir oft, dass Zeitschranken bei MM-Systemen auf einer statistischen Basis garantiert werden. (z.B. die durchschnittliche Anzahl verlorener frames pro Minute ist kleiner als 2). Die Garantie der Quality-of-Service (QoS) ist soft, die Erweiserbringung ist soft und die Zeitschranken, welche die Qualität definieren sind ebenfalls soft.

Wer sich mit weiteren Beispielen beschäftigen möchte, kann einmal das Antiblockiersystem von Autos oder den Navigationscomputer eines Flugzeuges unter die Lupe nehmen. Alternativ gibt es auch noch das Buch "Real-Time Systems" von Jane W. S. Liu. Wer jetzt bei seinem Betriebssystem die Einstellung "Echtzeit" wählt, sollte also wissen, was es bedeutet und was passieren könnte.

Ich hoffe, euer Interesse geweckt oder zumindest bei einigen gestillt zu haben :)

Eure Katja (alias frosty)

Quellen:
"Real-Time Systems", Jane W. S. Liu;
wikipedia
\(\endgroup\)
Get link to this article Get link to this article  Printable version Printer-friendly version -  Choose language     Kommentare zeigen Comments  
pdfFür diesen Artikel gibt es keine pdf-Datei


Arbeitsgruppe Alexandria Dieser Artikel ist im Verzeichnis der Arbeitsgruppe Alexandria eingetragen:
: Grundstudium Informatik :: Informatik :: Betriebssysteme :
Das wurde mal echt Zeit! - Echtzeit und ihre Bedeutung [von frosty]  
Eine Einführung in das Thema Echtzeit und Echtzeitbetriebssysteme.
[Die Arbeitsgruppe Alexandria katalogisiert die Artikel auf dem Matheplaneten]

 
 
Aufrufzähler 5596
 
Aufrufstatistik des Artikels
Insgesamt 238 externe Seitenaufrufe zwischen 2012.01 und 2022.01 [Anzeigen]
DomainAnzahlProz
https://google.de2610.9%10.9 %
http://google.de17573.5%73.5 %
https://google.com156.3%6.3 %
http://google.lu83.4%3.4 %
http://google.ge41.7%1.7 %
http://google.pl20.8%0.8 %
http://google.at31.3%1.3 %
http://suche.t-online.de10.4%0.4 %
http://o2suche.aol.de10.4%0.4 %
http://google.ch10.4%0.4 %
http://www.bing.com20.8%0.8 %

Aufrufer der letzten 5 Tage im Einzelnen
Insgesamt 1 Aufruf in den letzten 5 Tagen. [Anzeigen]
DatumAufrufer-URL
2022.01.14 21:31https://google.de/

Häufige Aufrufer in früheren Monaten
Insgesamt 220 häufige Aufrufer [Anzeigen]
DatumAufrufer-URL
2012-2018 (95x)http://google.de/url?sa=t&rct=j&q=
2020-2021 (19x)https://google.de/
2020-2021 (15x)https://google.com/
2012-2013 (12x)http://google.de/url?sa=t&rct=j&q=echtzeit bedeutung
201307-07 (8x)http://google.lu/url?sa=t&rct=j&q=
201212-12 (8x)http://google.de/url?sa=t&rct=j&q=was ist echtzeit
201211-11 (7x)http://google.de/url?sa=t&rct=j&q=was bedeutet online echtzeit?
201401-01 (7x)http://google.de/url?sa=t&rct=j&q=informatik echtzeit
201207-07 (7x)http://google.de/url?sa=t&rct=j&q=was versteht man unter echtzeitfähigkeit
2020-2021 (6x)https://google.de
201405-05 (6x)http://google.de/url?sa=t&source=web&cd=6&ved=0CDoQFjAF
201305-05 (5x)http://google.de/url?sa=t&rct=j&q=was bedeutet echtzeit
201501-01 (5x)http://google.de/url?sa=t&source=web&cd=4&ved=0CCoQFjAD
201402-02 (4x)http://google.de/url?sa=t&rct=j&q=realtime bedeutung
201202-02 (4x)http://google.ge/url?sa=t&rct=j&q=in echtzeit bedeutung
201304-04 (4x)http://google.de/url?sa=t&rct=j&q=was ist echtzeitübertragung
201210-10 (4x)http://google.de/url?sa=t&rct=j&q=echtzeit+wortentstehung
201203-05 (4x)http://google.de/url?sa=t&rct=j&q=bedeutung echtzeit

[Top of page]

"Informatik: Das wurde mal echt Zeit! - Echtzeit und ihre Bedeutung" | 8 Comments
The authors of the comments are responsible for the content.

Re: Das wurde mal echt Zeit! - Echtzeit und ihre Bedeutung
von: FriedrichLaher am: Di. 10. August 2004 09:19:27
\(\begingroup\)Ich meine, eigentlich gelernt zu haben, daß man von Steuerung, im Gegensatz zu Regelung, spricht wenn ein einmal gestarteter Vorgang unabhängig von äußeren Einflüssen
abläuft ( z.B. fixe Zeitinvervalle der Phasen einer Verkehrsampel ) .
In der Hinsicht ist

ein automatisch kontrollierter (gesteuerter) Zug, welcher nicht unverzögert stoppen kann.

wohl etwas ungünstig gewählt.
\(\endgroup\)
 

Re: Das wurde mal echt Zeit! - Echtzeit und ihre Bedeutung
von: Ende am: Di. 10. August 2004 17:01:52
\(\begingroup\)@Friedrich: Dank der neuen [Bearbeiten]-Moeglichkeit braucht man keine klugen Kommentare mehr zu schreiben, sondern kann direkt eine Aenderung vorschlagen.

Ist das nicht super?

Gruss, E. ;)\(\endgroup\)
 

Re: Das wurde mal echt Zeit!
von: matroid am: Di. 10. August 2004 19:45:30
\(\begingroup\)Hi frosty,

schön, daß Du diesen so mißverstehbaren Begriff so lebhaft und verständlich erklärt hast. Echtzeit ist also, wenn man schafft, was man zusagt. Ich versuche auch immer in Echtzeit zu arbeiten. 😉

Beste Grüße
Matroid\(\endgroup\)
 

Re: Das wurde mal echt Zeit! - Echtzeit und ihre Bedeutung
von: kkkooojjj am: Di. 10. August 2004 20:50:54
\(\begingroup\)Ich sollte ab jetzt zu jeder Ankuftsangabe von mir sagen, dass sie nicht echtzeit-konsistent ist.\(\endgroup\)
 

Re: Das wurde mal echt Zeit! - Echtzeit und ihre Bedeutung
von: frosty am: Di. 10. August 2004 22:06:13
\(\begingroup\)@FriedrichLaher

oh, ich habe das aus Beispiel aus dem Buch von Liu, allerdings ist es englisch, vielleicht ist mir dort etwas der Stift entglitten, ich werde mir das morgen nochmal anschauen. Danke für den Hinweis :)

@matro hehe

@kkkooojjj

hihihi, ja, rofl ;)\(\endgroup\)
 

Re: Das wurde mal echt Zeit! - Echtzeit und ihre Bedeutung
von: franzlst am: Do. 10. Februar 2005 23:41:04
\(\begingroup\)Danke, wieder mal was dazugelernt. Kann man sicherlich mal brauchen. Sehr verständlich geschrieben, top!\(\endgroup\)
 

Re: Das wurde mal echt Zeit! - Echtzeit und ihre Bedeutung
von: Ex_Mitglied_40174 am: Mi. 05. Oktober 2005 15:14:19
\(\begingroup\)@ Martin Koller Die Erklärung ist wirklicht nicht schlecht, da muss ich ein Lob aussprechen!! Ich muss einen Vortrag über Echtzeit halten und ich bräuchte Unterlagen über "Echtzeit" um eine PowerPoint Präsentation halten zu können. Ich bedankte mich für jede Hilfe! E-Mail: koller.martin@gmx.net\(\endgroup\)
 

Re: Das wurde mal echt Zeit! - Echtzeit und ihre Bedeutung
von: Lavant am: So. 25. Dezember 2005 15:40:00
\(\begingroup\)Na dann bin ich ja mehr der harte "Echtzeittyp".Kl Sobald ein Job mir zu lange dauart, habe ich keine Lust mehr drauf und schmeiße ihn weg. ^^ Thx für den Artikel und mach weiter so!\(\endgroup\)
 

 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2022 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]