0 Daumen
171 Aufrufe

Gegeben ist ein System mit Rate Monotonic Scheduling. Darauf laufen die prozesse:

1 Verarbeitungszeit 10s, Zykluszeit 30s

2 Verarbeitungszeit 15s, Zykluszeit 45s

3 Verarbeitungszeit 15s, Zykluszeit 60s

Bei allen ist die maximale zulÀssige Reaktionszeit so lang wie die Zykluszeit. wie weise ich die echtzeitfÀhigkeit des systems nach? Diesmal darf ich keine hinreichende Bedingung nutzen.

Danke!!!!

von

1 Antwort

+2 Daumen
 
Beste Antwort

FĂŒr ein Echtzeitsystem sind diese Angaben eher unrealistisch (Millisekunden wĂ€ren weitaus glaubwĂŒrdiger!). FĂŒr den Echtzeitnachweis musst Du die erste und zweite Echtzeitbedingung prĂŒfen. Du hast insgesamt drei Prozesse \(p_1\), \(p_2\) und \(p_3\).

1. Auslastung

Die Gesamtauslastung des Systems darf maximal \(100\%\) betragen.$$\sum\limits_{k=1}^{n}{\dfrac{C_k}{T_k}}\leq 1$$Dabei ist \(C_k\) die Verarbeitungszeit von Prozess \(k\) und \(T_k\) die Zykluszeit von Prozess \(k\). Da auf dem System \(3\) Prozesse laufen, ist  \(n=3\) und wir berechnen:$$\sum\limits_{k=1}^{3}{\dfrac{C_k}{T_k}}=\dfrac{10}{30}+\dfrac{15}{45}+\dfrac{15}{60}=\dfrac{1}{3}+\dfrac{1}{3}+\dfrac{1}{4}=\dfrac{11}{12}<1\text{ }\surd$$
2. PĂŒnktlichkeit

Ob die Prozesse einplanbar sind, musst Du nun graphisch lösen. Dabei ist \(C(t)\) die noch zu erbringende Rechenzeit. Du gehst dabei wie folgt vor:

- Bei \(t=0\) addierst Du die Verarbeitungszeiten aller Prozesse.

- Du zeichnest eine Strecke mit der Steigung \(-1\) vom Schnittpunkt mit der \(y\)-Achse bis zu dem Zeitpunkt, an dem ein anderer Prozess die Verarbeitung starten möchte (ergibt sich aus der Zykluszeit). Dies ist erstmalig bei \(t_1=30\) (Prozess \(1\)) der Fall. Es können zu einem bestimmten Zeitpunkt auch mehrere Prozesse starten wollen.

- An diesem Punkt addierst Du die Verarbeitungszeit des Prozesses (bzw. der Prozesse) und erhÀltst eine Verschiebung in \(y-\)Richtung.

- Diese Schritte (Strecke zeichnen, Verarbeitungszeiten der Prozesse an den entsprechenden Punkten addieren, ...) fĂŒhrst Du nun so lange weiter, bis Du den ersten Schnittpunkt mit der \(y-\)Achse erhĂ€ltst. Der Verlauf sieht dann in etwa so aus:
Bild Mathematik
Der Schnittpunkt mit der \(y-\)Achse entspricht der tatsĂ€chlichen Reaktionszeit des niedrigstprioren Prozesses (= der mit der grĂ¶ĂŸten Zykluszeit). Nun zeichnest Du Parallelen zur \(x-\)Achse, die sich durch eine Verschiebung in positive \(y-\)Richtung um die Verarbeitungszeit des Prozesses ergibt, fĂŒr den die Reaktionszeit bestimmt wurde. Der jeweils erste Schnittpunkt (von links aus gesehen) mit dem schwarzen Graphenverlauf ergibt die (tatsĂ€chlichen) Reaktionszeiten fĂŒr den Prozess \(2\) (Schnitt mit der grĂŒnen Parallelen) und \(1\) (Schnitt mit der blauen Parallelen).

Nun musst Du nur noch die graphisch ermittelten tatsĂ€chlichen Reaktionszeiten mit den maximal zulĂ€ssigen Reaktionszeiten vergleichen. Man sieht, dass die tatsĂ€chliche Reaktionszeit von Prozess \(3\) bei \(90s\) und somit ĂŒber der maximal zulĂ€ssigen Reaktionszeit (\(60s\)) liegt. Damit ist die zweite Echtzeitbedingung nicht erfĂŒllt!

von 8,3 k

Wow  danke fĂŒr die ausfĂŒhrliche antwort!!!! HĂ€tte man das Ergebnis auch mit der hinreichenden bedingung eeklĂ€ren können, wenn die erlaubt wĂ€re?

Gerne. Nein, die hinreichende Scheduling-Bedingung kann nicht fĂŒr die Argumentation verwendet werden. Die Auslastung liegt mit ca. \(92\%\) zwar ĂŒber dem Grenzwert \(100\ln(2)\%\), aber es kann dennoch eine Konstellation geben, bei der die PĂŒnktlichkeitsbedingung erfĂŒllt ist. Und um das zu untersuchen verwendet man z.B. das von mir vorgestellte Verfahren.

okay :-)))) Danke. Ich wollte Dich fragen ob Du dir vorstellen kannst mir auch nachhilfe zu geben. Also in Programmieren zum Bsp.

Ja. Melde Dich einfach ĂŒber meine Kontakt E-Mail bei mir.

Ich habe gerade ein Tool geschrieben, mit dem Du und alle Interessenten sich das Diagramm fĂŒr den graphischen Echtzeitnachweis computertechnisch generieren lassen können (als Bild in tikz; ich hoffe, dass klar ist, wie man das nutzt): https://github.com/informatik-academy/Mathelounge/tree/master/Echtzeitnachweis_Diagramm

Ein Beispiel (das von oben) ist diesem Kommentar angehĂ€ngt. Man kann natĂŒrlich noch weitere Informationen aufdrucken lassen (z.B. Diagrammbeschriftungen (\(t, C(t)\))).

Echtzeitnachweis.pdf (50 kb)

Diese Frage passt super in unser Informatikforum!

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

+1 Punkt
3 Antworten
0 Daumen
1 Antwort
0 Daumen
2 Antworten
Gefragt 22 Apr 2016 von Gast

Willkommen bei der Stacklounge! Stell deine Frage sofort und kostenfrei

x
Made by a lovely community
...