Rotationsauflösende Laserspektroskopie - CFEL at DESY
Rotationsauflösende Laserspektroskopie - CFEL at DESY
Rotationsauflösende Laserspektroskopie - CFEL at DESY
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
80 10. Einführung in Echtzeitsysteme<br />
sind. Die D<strong>at</strong>en können je nach Anwendungsfall nach einer zeitlich<br />
zufälligen Verteilung oder zu vorherbestimmten Zeitpunkten anfallen.<br />
Hierin wird die Aufteilung in intern ablaufende Programme und von außen<br />
vorgegebene Zeitspannen deutlich, wobei jedoch offen bleibt, inwiefern<br />
diese Vorgaben verpflichtend sind. Genügt es, die Zeitbedingungen für den<br />
überwiegenden Teil der Fälle zu erfüllen oder sind geringfügige Überschreitungen<br />
akzeptabel, spricht man von weichen Zeitbedingungen; müssen die<br />
Zeitbedingungen unter allen Umständen und immer erfüllt werden, spricht<br />
man von harten Echtzeitbedingungen.<br />
Krishna und Shin verwenden für eine flexiblere Beschreibung dieser<br />
Unterschiede Prozesswertfunktionen [133].<br />
10.2 Zeitscheibenverteilungsalgorithmen<br />
Die Zeitscheibenverteilung kann online, d.h. dynamisch während des Betriebs,<br />
oder offline, d.h. st<strong>at</strong>isch vor Beginn der Oper<strong>at</strong>ion, durchgeführt werden.<br />
Bei der st<strong>at</strong>ischen Zeitscheibenverteilung wird im vorhinein festgelegt,<br />
wann jeder periodische Prozess Zeit erhält und es werden Slots für sporadische<br />
oder nichtperiodische Prozesse freigehalten.<br />
Bei der dynamischen Zeitscheibenverteilung wird den Prozessen während<br />
der Oper<strong>at</strong>ion Laufzeit zugeordnet. Das wichtigste Kriterium an einen<br />
dynamischen Zeitscheibenverteilungsalgorithmus ist, dass er schnell ist und<br />
genügend Rechenzeit für die eigentlichen Prozesse übrig lässt. Im allgemeinen<br />
werden Prioritäten der verschiedenen Prozesse berücksichtigt, hierbei<br />
unterscheidet man zwischen Systemen mit st<strong>at</strong>ischen Prioritäten – die Prioritäten<br />
der Prozesse ändern sich während der gesamten Oper<strong>at</strong>ion nicht – und<br />
dynamischen Prioritäten, bei denen sich die Prioritäten während der Oper<strong>at</strong>ion<br />
ändern können. Weiterhin unterscheidet man preemptive und nichtpreemptive<br />
Zeitscheibenverteilung, d.h. ob die Prozesse vom Zeitscheibenverteilungsalgorithmus<br />
unterbrochen werden können oder nicht.<br />
Im Folgenden werden die verbreitetsten Zeitscheibenverteilungsalgorithmen<br />
für Echtzeitsysteme kurz erläutert. Diese können prinzipiell auch<br />
auf Mehrprozessorsystemen eingesetzt werden. Häufig werden aber besonders<br />
an mehrere Prozessoren angepasste Algorithmen eingesetzt, die solche<br />
Systeme deutlich besser ausnutzen können.