70 likes | 226 Vues
Scheduling Bewerten von (dyn.)Scheduling-Verfahren. Folgende grundlegenden Fragen sind zu beantworten: Ist es überhaupt möglich, alle Zeitbedingungen einzuhalten? Wenn ja, dann existiert ein so genannter Schedule , d.h. eine zeitliche Aufteilung des Prozessors an die Task, die die Aufgabe löst.
E N D
SchedulingBewerten von (dyn.)Scheduling-Verfahren • Folgende grundlegenden Fragen sind zu beantworten: • Ist es überhaupt möglich, alle Zeitbedingungen einzuhalten? Wenn ja, dann existiert ein so genannter Schedule, d.h. eine zeitliche Aufteilung des Prozessors an die Task, die die Aufgabe löst. • Wenn dieser Schedule existiert, kann er in endlicher Zeit berechnet werden? • Findet das Scheduling-Verfahren diesen Schedule, wenn er existiert und in endlicher Zeit berechnet werden kann? (optimales Schedulingverfahren)
SchedulingProzessorauslastung Prozessorauslastung (processor demand): H = benötigte Prozessorzeit / verfügbare Prozessorzeit Prozessorauslastung für beide Task ist 100% (Summe). Bei einer Prozessorauslastung von <= 100% sollte immer ein Schedule existieren.
SchedulingZeitparameter bei den Taskzuständen a: Ankunftszeit (Arrival Time) r: Anforderungszeit (Request Time) s: Startzeit (Start Time) c: Beendigungszeit (Completion Time) d: Zeitschranke (Deadline) j: Reaktionszeit (Reaction Time, Release Jitter) e: Ausführungszeit (Execution Time) l: Spielraum (Laxity) p: Periode (Period) p j e l Taskzu- stände laufend ablaufwillig ruhend t [ms] a r s c d
SchedulingFixed Priority Verfahren • Bei rein periodischen Anwendungen bekommen diejenigen Tasks die höchste Priorität zugewiesen, die die kürzeste Periodendauer haben (Rate-Monotonic Scheduling). • Unter der Voraussetzung, dass • präemptives Scheduling verwendet wird, • die Periodendauer konstant ist, • die Zeitschranke (deadline) gleich der Periodendauer ist, • die Ausführungszeit konstant und bekannt ist und • die Tasks unabhängig voneinander sind, dann • gilt (Busy Period Analysis): • Tritt bei periodischen Tasks keine Verletzung der Zeitschranken bis zu dem Zeitpunkt auf, an dem der Prozessor das erste Mal in den Ruhezustand übergeht, dann wird auch danach keine Verletzung der Zeitschranken mehr auftreten.
SchedulingÜbung 1 Aufgaben (Voraussetzung: Tasks werden EINEM Prozessor zugeteilt): 1) Vergeben Sie die Prioritäten nach dem Rate Monotonic Prinzip 2) Stellen Sie den zeitlichen Verlauf aller 4 Tasks dar unter der Voraussetzung, dass alle Tasks gleichzeitig bereit sind (s. Lösungsblatt 1) 3) Zeichnen Sie für die Task 3 ihre Zustände (ruhend, ablaufwillig, laufend) über eine Zeitachse von 0 bis 250 ms (s. Lösungsblatt 2).
SchedulingLösungsblatt 1 Lösung zu Aufgabe 1: In Abhängigkeit der Periodendauer ergibt sich folgende Prioritätsvergabe: P(2) > P(4) > P(3) > P(1) Vorlage zur Aufgabe 2: Priorität Task 2 Task 4 Task 3 Task 1 t [ms] 50 150 200 250 100
SchedulingLösungsblatt 2 Taskzustände in Abhängigkeit der Zeit In einem rein zeitgesteuerten System entfällt der Zustand blockiert (stattdessen ruhend). In ereignisgesteuerten Systemen wartet die Task auf ein Zeitgeberereignis und ist dann dem Zustand blockiert zuzurechnen. Zustand von Task 3 blockiert laufend ablaufwillig ruhend t [ms] 50 150 200 250 100