5) Realzeitscheduling

Größe: px
Ab Seite anzeigen:

Download "5) Realzeitscheduling"

Transkript

1 Inhalte Anforderungen Klassifizierungen Verschiedene Verfahren: FIFO, Round Robin, Least Laxity, EDF, fixed/dyn. Prio. Beispiele und Aufgaben Seite 1

2 Motivation Gegeben: Ein Einprozessorsystem, das Multiprogrammierung erlaubt. Prozess, der von der CPU bedient wird, ist im Status running. Prozesse, die auf CPU warten, sind im Status ready. Frage: Welcher der lauffähigen Prozesse soll als nächster bedient werden? Kriterien aus Sicht der Prozesse: Fairness: kein Prozess soll zu lange auf CPU-Zuteilung warten. Wichtigkeit: Prozesse mit hoher Priorität werden bevorzugt abgearbeitet. Kriterien aus Sicht der CPU: Maximaler Durchsatz Maximale Auslastung der CPU Minimale mittlere Wartezeit (= Zeit, bis ein Prozess abgearbeitet wird = Reaktionszeit)) Minimale mittlere Systemzeit (= Wartezeit + Ausführungszeit) Kriterien sind z.t. widersprüchlich. Im Allgemeinen wird eine Mischung dieser Kriterien gewählt. Seite 2

3 Scheduling: Unter Scheduling versteht man die Vergabe des Prozessors an ablaufwillige Tasks nach einem festgelegten Algorithmus (Schedulingverfahren), so dass alle harten/festen Echtzeitanforderungen und möglichst viele weiche Echtzeitanforderungen erfüllt werden. Der Scheduler stellt die Tasks in die Bereitliste, die der Dispatcher abarbeitet, indem er die nächste Task dem Prozessor übergibt. Problemstellungen beim Scheduling Ist es für eine Menge von Tasks möglich, alle Zeitbedingungen einzuhalten? falls ja, existiert (mindestens) ein Schedule, d.h. zeitliche Aufteilung der CPU an die Tasks mathematische Analyse: Scheduling Analysis ggf. unter Berücksichtigung eines Schedulingverfahrens Kann der Schedule in endlicher Zeit berechnet werden? Findet das benutzte Schedulingverfahren diesen Schedule? ein optimales Schedulingverfahren findet den Schedule immer, falls dieser existiert Seite 3

4 Scheduling Analysis (Feasibility Analysis) Vorab-Analyse, ob für eine Taskmenge ein Schedule existiert Zentrale Größe: Prozessorauslastung H Notwendige Bedingung für Existenz eines Schedule: H 1 (bzw. 100%) Gilt auch für periodische Tasks, falls Zeitschranke = Periode Beispiel: Seite 4

5 Klassifizierung von Schedulingverfahren: Statisches Scheduling Dynamisches Scheduling Nicht-präemptives Scheduling Präemptives Scheduling Nicht-präemptives Scheduling Präemptives Scheduling Statische Prioritäten Dynamische Prioritäten Statische Prioritäten Dynamische Prioritäten Nicht prioritätsbasiert Nicht prioritätsbasiert Seite 5

6 Klassifizierung von Schedulingverfahren: Statisches oder dynamisches Scheduling statisch: Schedule wird bereits vor der Ausführung berechnet Zuordnungstabelle enthält Startzeit für jede Task CPU-Zuteilung zur Laufzeit durch Dispatcher entspricht Prinzip der synchronen Programmierung (determiniertes Verhalten) dynamisch: Zuordnung Task - CPU zur Laufzeit berechnet entspricht asynchroner Programmierung (flexibel bei Änderungen) Statische oder dynamische Prioritäten es gibt aber auch Verfahren ganz ohne Prioritäten Präemptives oder nicht-präemptives Scheduling Präemptiv: höherpriore Task verdrängt niederpriore Nicht-präemptiv: Prozessorfreigabe durch die Task selbst präemptives Scheduling meist vorteilhafter (Reaktionszeit!) Seite 6

7 Klassifizierung von Schedulingverfahren: Task 1 fertig Task 2 fertig Task 1 (wichtig) Task 2 (weniger wichtig) Präemption Ruhe Ereignis für Task 2 Ereignis für Task 1 Ereignis für Task 2 Ereignis für Task 1 a) Präemptives Scheduling b) Nicht-präemptives Scheduling Seite 7

8 Scheduling in Abhängigkeit der Ausführungszeiten der Prozesse Grundlegendes Problem: Woher weiß man a-priori, wie lange ein Prozess dauern wird? Lösung: Aus der Dauer der Prozesse in der Vergangenheit auf das Verhalten in der Zukunft schließen. Einfache Schätzverfahren verwenden Zeitfenster, z.b. den Durchschnitt der letzten n Prozesse oder 80% des Maximalwerts der letzten n Prozesse Exponential-Averaging versucht, adaptiv aus der Vergangenheit zu lernen: Sei T(n) die Schätzung für den n-ten Prozess und t(n) seine tatsächliche Dauer, dann erhält man die Schätzung für den (n+1)-prozess durch T(n+1) = α * t(n) + (1 α) * T(n) mit: α liegt in [0,1] und beeinflusst die Art des Lernens: Extremfälle: α = 0 => T(n+1) = T(n), d.h. die Schätzung ist immer gleich. Es findet kein Lernen statt. α = 1 => T(n+1) = t(n), d.h. nur der letzte Wert wird für die Schätzung herangezogen, was einem hektischen Verhalten entspricht. Kompromiss: Verwendung von 0 < α < 1, wodurch ein exponentielles Abklingen der Vergangenheit erreicht wird (je größer α, desto schneller wird die Vergangenheit vergessen). Seite 8

9 Scheduling in Abhängigkeit der Ausführungszeiten der Prozesse Exponential-Averaging: Schaue in die Vergangenheit und versuche, die Zukunft vorherzusagen (mittels gewichteter Mittelwertbildung) Tatsächliche Dauer t(n) des Prozesses Geschätzte Dauer T(n+1) des folgenden Prozesses Seite 9

10 Verschiedene Schedulingverfahren: FIFO-Verfahren Zeitscheibenverfahren (Round Robin, time slice scheduling) Scheduling mit festen Prioritäten (fixed priority scheduling (FPS)) Für zyklische Tasks: Ratenmonotones Scheduling (RMS) Verfahren der kleinsten Restantwortzeit (earliest deadline first (EDF)) Verfahren des kleinsten Spielraums (least laxity first (LLF)) Verfahren Guaranteed Percentage Scheduling (GP) Seite 10

11 FIFO Scheduling (first-in-first-out): Dynamisch, nicht-präemptiv, ohne Prioritäten Task, deren Einplanung am weitesten zurückliegt, bekommt Prozessor Einfache Realisierung, aber keine Berücksichtigung der Zeitbedingungen Beispiel. Siehe Gantt Diagramm (Balkenplan) unten Für harte Realzeitsysteme nicht geeignet Task A B C D Ausführungs zeit 8 ms 5 ms 2 ms 10 ms Task A bereit Task B bereit Task C bereit Task D bereit t [ms] A B C D t [ms] 25 Seite 11

12 FIFO Scheduling (first-in-first-out): Warteschlangenmodell: [ neue Task ] CPU [ Task fertig ] FIFO-Warteschlange Es gibt auch die LIFO-Strategie, bei der der Prozess, der als letzter CPU-Zeit angefordert hat und damit am kürzesten wartet, CPU-Zugriff erhält; für diese Strategie gibt es auch eine präemptive Variante: Seite 12

13 FIFO Scheduling (first-in-first-out): Beispiel Task Periode p i Ausführungszeit e i ms 15 ms 2 10 ms 1 ms H = 20% Deadline für 1. Aus- Führung von Task 2 1. Ausführung von Task 2 fertig Task 1 Task 2 ruhend 0 verpasst t [ms] Ereignis für Task 1 Ereignis für Task 2 Ereignis für Task 2 Seite 13

14 FIFO Scheduling (first-in-first-out): Übung: Zeichnen Sie den Ablauf der einzelnen Tasks und berechnen Sie die durchschnittliche Reaktionszeit (Wartezeit im Zustand bereit ) dieser Tasks beim FIFO- Verfahren. Task Ankunftszeit Ausführungszeit A 0 ms 4 ms B 2 ms 3 ms C 4 ms 6 ms D E 11 ms 3 ms Deadline für 1. Aus- 12 ms Führung von Task 62 ms Task A Task B Task C Task D Task E ruhend t [ms] Seite 14

15 FIFO Scheduling (first-in-first-out): Hauptproblem bei FIFO ist die Benachteiligung kurzlaufender Jobs durch Langläufer Beispiel aus dem täglichen Leben: analoges Problem an Supermarktkassen Lösung hier: Schnellkassen für Kunden mit maximal 10 Artikeln Entsprechend beim CPU-Scheduling: ausführungszeitabhängige Strategien Shortest-Processing-Time-First (SPT), auch Shortest-Job-First (SJF) Voraussetzung: Ausführungszeit der Tasks ist bekannt Man kann zeigen, dass die mittlere Reaktionszeit von SPT für die Klasse der nicht-präemptiven Strategien minimal ist, d.h. SPT ist die optimale Strategie bzgl. der Wartezeit. Übung: Zeichnen Sie den Ablauf der einzelnen Tasks und berechnen Sie die durchschnittliche Reaktionszeit (Wartezeit) dieser Tasks für FIFO und SPT unter der Voraussetzung, dass alle zum Zeitpunkt T=0 kurz hintereinander eintreffen: A,B,C,D. Task A B C Ausführungszeit 6 ms 8 ms 7 ms D 3 ms Seite 15

16 Round Robin Verfahren (RR): Dynamisch, präemptiv, ohne Prioritäten Jede Task bekommt einen festgelegten Zeitschlitz, zu der sie den Prozessor bekommt Reihenfolge nach zeitlichem Eintreffen oder auch gem. Kreis Periodendauer abh. von der Anzahl der Tasks Für harte Realzeitsysteme untauglich A D B C Task A B C D Ausführungs zeit 25 ms 20 ms 30 ms 20 ms Zeitschlitz (Quantum) = Q = 10 ms A B C D A B C D A C t [ms] A, B, C, D Seite 16

17 Round Robin Verfahren (RR): Warteschlangenmodell: [ neue Task ] FIFO-Warteschlange CPU [ Task fertig ] [ Task nicht fertig ] RR versucht, Fairness gegenüber Kurzläufern und soweit möglich auch gegenüber Langläufern zu gewähren rechnender Prozess wird vom BS nach dem Ablauf einer Zeitscheibe (time slice, Q=Quantum) unterbrochen und wieder hinten in die Warteschlange eingefügt Wichtige Frage: Wie lang ist Q? Q : FIFO Q 0 : Prozessor-Sharing, d.h. CPU wird gleichmäßig auf die z. Zt. Aktiven Prozesse aufgeteilt, wodurch jeder Prozess genau 1/n der CPU-Leistung erhält. sehr problematische Annahme, dass Zerhacken in kleinste Scheiben nichts kostet. Richtwerte: 20 bis 50 ms Seite 17

18 Round Robin Verfahren (RR), wenn neuer Prozess bereit ist und Zeitscheibenablauf zur gleichen Zeit passieren: Konvention: Wenn ein Prozess bereit wird, kommt er ans Ende der Warteschlange und zwar gegebenenfalls kurz vor dem eigentlich gleichzeitig fälligen Zeitscheibenablauf. Beispiel für Zeitschlitz (Quantum) = Q = 10 ms Warteschlange bei 20 ms wird zuerst mit B (1. Zeitschlitz) und dann mit A (3. Zeitschlitz) gefüllt Task Ankunfts -zeit Ausführungszeit A 0 ms 40 ms B 20 ms 30 ms C 40 ms 30 ms exec A A B A C B A C B C Ws.: A B B A C B C Ws.: A C B Seite 18

19 Round Robin Verfahren (RR), wenn Reihenfolge immer gemäß Kreiseinteilung: A B C usw: Task Ankunfts -zeit Ausführungszeit Kreis entspricht der Warteschlange: A 0 ms 40 ms Bei 0 ms ist A gefüllt B 20 ms 30 ms Nach 20 ms ist B gefüllt Nach 40 ms ist C gefüllt C A C 40 ms 30 ms B exec A A B A B C A B C C Seite 19

20 Round Robin Verfahren: Übung: Zeichnen Sie den Ablauf der einzelnen Tasks und berechnen Sie die durchschnittliche Reaktionszeit für Zeitschlitz = 1ms und = 5ms). Task Ankunftszeit Ausführungszeit A 0 ms 4 ms B 2 ms 3 ms C 4 ms 6 ms D E 11 ms 3 ms Deadline für 1. Aus- 12 ms Führung von Task 62 ms Task A Task B Task C Task D Task E ruhend t [ms] Seite 20

21 Multilevel Feedback Scheduling (MFS): mehrere Warteschlangen mit Prioritäten, Zeitscheiben und Rückkopplung: Neu ankommende Jobs werden in die höchste Prioritätsklasse eingeordnet Abarbeitung nach Round-Robin: unterschiedliche Quantengröße, Klassen hoher Priorität haben kleine Quanten, bei kleiner Priorität große Quanten, d.h. Q1 < Q2 < < Qn. Wenn Job in seiner Zeitscheibe nicht fertig wird, wandert er in die nächst niedrigere Prioritätsklasse Bedient wird nicht-präemptiv Beispiel: 3 Warteschlangen: Q1=8ms mit max. 10 Zeitschlitzen, Q2=16ms mit max. 5 Zeitschlitzen, Q3=FIFO: Ein neuer Prozess landet in Warteschlange Q1 die mittels FIFO verwaltet wird. Wenn der Prozess an der Reihe ist erhält er 8 ms CPU-Zeit. Wenn der Prozess nicht fertig geworden ist, landet er unmittelbar in Q2. In Q2 wartet der Prozess wieder gemäß FIFO und erhält zusätzliche 16 ms. Reicht dies immer noch nicht, dann wir der Prozess unterbrochen und in Warteschlange Q3 verschoben. Seite 21

22 Multilevel Feedback Scheduling (MFS): mehrere Warteschlangen mit Prioritäten, Zeitscheiben und Rückkopplung: Seite 22

23 Übung zum MFS Verfahren: Für das MFS Verfahren stehen 6 Warteschlangen zur Verfügung. Jeder Prozess in einer Warteschlange bekommt seine eigene Zeitscheibe, jedoch alle mit dem Quantum Q = 1. Jeder Prozess beginnt in der Warteschlange 1. Wenn ein Prozess nicht fertig wird, wandert er in die nächst niedere (FIFO-) Warteschlange. Task Ankunftszeit Ausführungszeit A 0 ms 6 ms B 1 ms 2 ms C 3 ms 3 ms D 4 ms 6 ms E 8 ms 1 ms F 16 ms 1 ms Übung: Zeichnen Sie den Ablauf der einzelnen Tasks in ein Gantt-Diagramm A B A 1A 1B 2A 1C 2B Seite 23

24 Round Robin Verfahren mit individueller Zeitscheibenlänge: Dauer der Zeitscheibe einer Task sollte proportional zu deren Prozessorauslastung H = e/p sein Beispiel: Task Periode p i Ausführungszeit e i H Zeitscheibe T1 10 ms 1 ms 10% 0,5 ms T2 10 ms 5 ms 50% 2,5 ms T3 15,4 ms 5,5 ms 36% 1,8 ms Task T1 Task T2 0,5 2,5 0,5 0,5 0,5 2,5 2,5 2,5 Deadline Task T3 1,8 1,8 1,8 0,1 Task ist fertig idle T1, T2 T3 T1, T t [ms] Ereignis für T1, T2, T3 Ereignis für T1 und T2 Seite 24

25 Vergleich der Verfahren FIFO und Round Robin anhand der Übungen: Bei FIFO werden keine Prozesse verdrängt, das spart Prozesswechselzeiten FIFO begünstigt lange Prozesse RR begünstigt die Antwortzeiten bei kurzen Prozessen und benachteiligt die langen Prozesse Bei großen Zeitschlitzen geht RR über in FIFO Bei kleinen Zeitschlitzen nimmt der Zeitaufwand für den Prozesswechsel überhand Kleine Zeitschlitze bedeuten kurze Antwortzeiten Seite 25

26 Scheduling mit festen Prioritäten (fixed priority scheduling (FPS)) : Dynamisches Scheduling mit statischen Prioritäten präemptive und nicht-präemptive Strategie ist möglich, wobei die präemptive Variante unter Umständen die Einhaltung von Zeitbedingungen garantieren kann Task mit höchster Priorität bekommt Prozessor für harte Echtzeitsysteme nur bedingt geeignet Task Ausführungszeit Priorität A 8 ms 1 (höchste) B 5 ms 1 (höchste) C 2 ms 2 D 10 ms 3 Bei Tasks mit gleicher Priorität: Weitere Bedingung nötig, z.b. FIFO A B C D t [ms] Seite 26

27 Scheduling mit festen Prioritäten (fixed priority scheduling (FPS)) : Rate monotonic scheduling (RMS) ist Spezialfall des Verfahrens und gilt für rein periodische Anwendungen: Priorität ist umgekehrt proportional zur Periodendauer, d.h. Task mit der kleinsten Zykluszeit erhält die höchste Priorität Präemptive Strategie Einhaltung der Zeitschranken (Deadlines) ist vorab überprüfbar, falls Periodendauer ist konstant und Zeitschranke = Deadline Ausführungszeit ist konstant und bekannt Tasks sind voneinander unabhängig (Keine Synchr.) Beispiel: Erste geplante Ausführung aller Tasks bei t = 0 ms. Danach werden die Tasks zyklisch wiederholt Task Ausführungszeit Periode Prio A 10 ms 40 ms 1 B 20 ms 50 ms 2 C 10 ms 80 ms 3 D 20 ms 100 ms 4 Task D wird unterbrochen A B C A B D 1 A C B A D 2 t [ms] ABCD 0 10 A B 50 AC 80 BD 100 A 120 Seite 27

28 Scheduling mit festen Prioritäten (fixed priority scheduling (FPS)) mit Rate monotonic scheduling (RMS): Beispiel für das RMS: Task Periode p i Ausführungszeit e i Priorität ms 15 ms 2 (niedrig) 2 10 ms 1 ms 1 (hoch) Präemption Präemption Task 1 2 ms 9 ms 4 ms Task 2 1 ms 1 ms idle t [ms] Ereignis für Task 1 Ereignis für Task 2 Ereignis für Task 2 Seite 28

29 Scheduling mit festen Prioritäten (fixed priority scheduling (FPS)) mit Rate monotonic scheduling (RMS): Beispiel für das RMS: Worst Case: Ereignisse treten gleichzeitig auf Task Periode p i Ausführungszeit e i Priorität ms 15 ms 2 (niedrig) 2 10 ms 1 ms 1 (hoch) Task 1 Task 2 idle t [ms] Ereignis für Task 1 und Task 2 Ereignis für Task 2 Ereignis für Task 2 Seite 29

30 Scheduling mit festen Prioritäten (fixed priority scheduling (FPS)) mit Rate monotonic scheduling (RMS): 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 geht, dann wir auch danach keine Verletzung der Zeitschranken mehr auftauchen. (gilt für die o.g. Voraussetzungen, d.h. präemptiv, Periodendauer=konstant,..) RMS liefert für feste Prioritäten und Präemption für periodische Tasks mit Periode = Deadline eine optimale Prioritätenzuordnung RMS ist jedoch kein optimales Scheduling-Verfahren (s. Seite 4), aber es findet immer einen ausführbaren Schedule, falls die Prozessorauslastung H H max ist mit n = Anzahl der Tasks: Seite 30

31 Scheduling mit festen Prioritäten (fixed priority scheduling (FPS)) mit Rate monotonic scheduling (RMS): Beispiel: Transportsystem mit T1 = Kameradatenverarbeitung, T2 = Motorsteuerung und T3 = Transpondererkennung (aperiodische Task T3 wird mit Deadline periodisiert) H = e 1 /p 1 + e 2 /p 2 + e 3 /p 3 = 95,71 % 2 mögliche Prioritätenfestlegung für T1 und T2, da p 1 = p 2 : T1 > T2 > T3 T2 > T1 > T3 Es gibt keinen Schedule mit festen Prioritäten, denn Task Periode p i Ausführungszeit e i H T1 10 ms 1 ms 10% T2 10 ms 5 ms 50% T3 15,4 ms 5,5 ms 36% Seite 31

32 Scheduling mit festen Prioritäten (fixed priority scheduling (FPS)) mit Rate monotonic scheduling (RMS): Ablauf mit Prioritäten T1 > T2 > T3 Präemption Task Periode p i Ausführungszeit e i Prio T1 10 ms 1 ms 1 T2 10 ms 5 ms 2 T3 15,4 ms 5,5 ms 3 Task T1 Task T2 Task T ,5 Deadline Task ist fertig idle 0 T1, T2 T3 T1, T t [ms] verpasst (um 2,1) Ereignis für T1, T2, T3 Ereignis für T1 und T2 Seite 32

33 Scheduling mit festen Prioritäten (fixed priority scheduling (FPS)) mit Rate monotonic scheduling (RMS): Ablauf mit Prioritäten T2 > T1 > T3 Task Periode p i Ausführungszeit e i Prio T1 10 ms 1 ms 2 T2 10 ms 5 ms 1 T3 15,4 ms 5,5 ms 3 Task T1 Task T2 Task T3 5 1 Präemption ,5 Deadline Task ist fertig idle 0 T1, T2 T3 T1, T t [ms] verpasst (um 2,1) Ereignis für T1, T2, T3 Ereignis für T1 und T2 Seite 33

34 Scheduling mit festen Prioritäten (fixed priority scheduling (FPS)) mit Rate monotonic scheduling (RMS): Zuteilung der Prioritäten gemäß dem Rate Monotonic Prinzip ist essentiell! Würde man keine Präemption zulassen oder die Prioritäten anders herum verteilen, so würde im obigen Beispiel Task 2 ihre Zeitschranken verletzen. Beispiel: Task Periode p i Ausführungszeit e i Prioritäten vertauscht ms 15 ms 1 (hoch) 2 10 ms 1 ms 2 (niedrig) Task 1 Task 2 Deadline für 1. Ausführung von Task 2 verpasst Ereignis für Task 1 und Task 2 Ereignis für Task 2 Ereignis für Task 2 t [ms] Seite 34

35 Verfahren der kleinsten Restantwortzeit (earliest deadline first (EDF)) Dynamisches Scheduling mit dynamischen Prioritäten, i.d.r. präemptiv Task mit kleinster Restantwortzeit bekommt den Prozessor, d.h. wo die Deadline am nächsten ist Optimales Scheduling-Verfahren, das immer einen ausführbaren Schedule findet, wenn H 100% ist Jedoch hoher Rechenaufwand für das Scheduling Task Ausführungszeit Ankunfts zeit Deadline A 10 ms 0 ms 40 ms B 10 ms 0 ms 30 ms C 30 ms 30 ms 100 ms D 40 ms 50 ms 200 ms E 10 ms 70 ms 90 ms B A C D 1 E D 2 t [ms] AB 0 10 C D 50 E 100 Deadline von B ist früher als von A, und von E ist früher als von D (Präemption) Seite 35

36 Verfahren der kleinsten Restantwortzeit (earliest deadline first (EDF)) Beispiel Transportsystem: gemäß Busy Period Analysis werden die Zeitschranken auch in Zukunft eingehalten Deadline T3=15,4; T1=T2=10 Deadline T3=14,4; T2=9 Task Periode p i Ausführungszeit e i Prio T1 10 ms 1 ms dyn. T2 10 ms 5 ms dyn. T3 15,4 ms 5,5 ms dyn. Deadline T3=5,4; T1=T2=10 Task T1 Task T Deadline Task T3 5,5 1,5 Task ist fertig idle 0 T1, T2 T3 T1, T t [ms] Ereignis für T1, T2, T3 Ereignis für T1 und T2 Seite 36

37 Verfahren des kleinsten Spielraums (least laxity first (LLF)) Dynamisches Scheduling mit dynamischen Prioritäten, i.d.r. präemptiv Task mit kleinstem Spielraum (Laxity) bekommt den Prozessor Optimales Scheduling-Verfahren Jedoch sehr hoher Rechenaufwand für harte Echtzeitsysteme am besten geeignet Task Ausführungszeit Ankunfts zeit Deadline A 30 ms 0 ms 40 ms B 10 ms 0 ms 30 ms C 30 ms 30 ms 100 ms D 40 ms 50 ms 200 ms Laxity A=10; B=20 E 10 ms 70 ms 90 ms Laxity A=10; B=0 Laxity D=90; E=10 Merkregel: A 1 B A 2 AB 0 10 C D 50 C E E D t [ms] Laxity der rechnenden Task bleibt konstant Laxity der anderen Tasks sinkt stetig Seite 37

38 Verfahren des kleinsten Spielraums (least laxity first (LLF)) Beispiel Transportsystem: L1=9, L2=5, L3=9,9 Task T1 Task T2 Task T3 Spielraum (Laxity): L1, L2 und L3 Grob-Darstellung: in ms statt 1/10 ms L1=5, L2=5, L3=5,9 5 L1=4, L3=4,9 1 L1=9, L2=5, L3=3,9 L3=3,9 5,5 L1=8, L2=4, L3=3,9 L1=7, L2=3 Task Periode p i Ausführungszeit e i Prio 5 T1 10 ms 1 ms dyn. T2 10 ms 5 ms dyn. T3 15,4 ms 5,5 ms dyn. L1=3, L2=3 1 Deadline Task ist fertig idle 0 T1, T2 T3 T1, T t [ms] Ereignis für T1, T2, T3 Ereignis für T1 und T2 Seite 38

39 Verfahren des kleinsten Spielraums (least laxity first (LLF)) Beispiel Transportsystem: Spielraum (Laxity): L1, L2 und L3 Fein-Darstellung: in 1/10 ms Schon bei 4 ms beginnt der Taskwechsel in 0,1 Schritten Task Periode p i Ausführungszeit e i Prio T1 10 ms 1 ms dyn. T2 10 ms 5 ms dyn. T3 15,4 ms 5,5 ms dyn. Seite 39

40 Verfahren Guaranteed Percentage Scheduling (GP) Dynamisches, präemptives Scheduling ohne Prioritäten Jeder Task wird fester Teil des Prozessors zugewiesen, d.h. feingranulares Round Robin mit HW-Unterstützung Optimales Scheduling-Verfahren auf Einprozessorsystemen: H=100% Tasks sind zeitlich isoliert, laufen gleichmäßig ab und starten sofort Periodendauer unabhängig von der Anzahl der Tasks für harte Echtzeitsysteme gut geeignet Beispiel: Threads Periode = 100 Taktzyklen Thread A, 30% Thread B, 20% Thread C, 40%... Thread A 30 Taktzyklen Thread B 20 Taktzyklen Thread C 40 Taktzyklen Thread A 30 Taktzyklen Thread B 20 Taktzyklen Thread C 40 Taktzyklen Taktzyklen 100 Taktzyklen Seite 40

41 Verfahren Guaranteed Percentage Scheduling (GP) Beispiel: Transportsystem Task Periode p i Ausführungszeit e i H T1 10 ms 1 ms 10% T2 10 ms 5 ms 50% T3 15,4 ms 5,5 ms 36% Task T1 Task T2 Task T3 Deadline Task ist fertig idle 0 T1, T2 T3 T1, T t [ms] Ereignis für T1, T2, T3 Ereignis für T1 und T2 Seite 41

42 Übung zum Scheduling-Verfahren Gegeben ist nebenstehender Taskplan. Bitte füllen Sie die u.s. Tabelle entsprechend des geforderten Scheduling -Verfahrens aus: 1. FIFO 2. Round Robin 3. Earliest Deadline 4. Least Laxity Task Dauer in ms Ankunftszeit in ms Deadline in ms A B C D E In dem Fall, dass Prioritäten gesetzt werden müssen, soll dies gemäß der Buchstabenreihenfolge im Alphabet erfolgen. Falls eine Zeitscheibe notwendig ist, ist diese mit 10 ms anzunehmen. 10 ms 20 ms 30 ms 40 ms 50 ms 60 ms 70 ms 80 ms 90 ms 100 ms Seite 42

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin Scheduling in Echtzeitbetriebssystemen Prof. Dr. Margarita Esponda Freie Universität Berlin Echtzeitsysteme Korrekte Ergebnisse zum richtigen Zeitpunkt Hart Echtzeitsysteme Eine verspätete Antwort ist

Mehr

Echtzeitscheduling (1)

Echtzeitscheduling (1) Echtzeitscheduling (1) Scheduling in Betriebssystemen Ressourcenausteilung (CPU, Speicher, Kommunikation) Faire Ressourcenvergabe, insbesondere CPU Hohe Interaktivität / kurze Reaktionszeit für interaktive

Mehr

CPU-Scheduling - Grundkonzepte

CPU-Scheduling - Grundkonzepte CPU-Scheduling - Grundkonzepte Sommersemester 2015 Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 9.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 10.5.2007 Exkursion Die Exkursion wird am Freitag, den 18.5.2007

Mehr

Systeme 1. Kapitel 5. Scheduling

Systeme 1. Kapitel 5. Scheduling Systeme 1 Kapitel 5 Scheduling Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Beispiel: -> Zeitablaufsteuerung Zwei Prozesse zur gleichen Zeit rechenbereit auf

Mehr

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Betriebssysteme I WS 2013/2014 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 16. Januar 2014 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads Prozesse und Prozessmanagement des BS 1 Unterschied Prozess, Threads 1.1 Prozess Bei jedem Programm muss gespeichert werden, welche Betriebsmittel (Speicherplatz, CPU- Zeit, CPU-Inhalt,...) es benötigt.

Mehr

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Sven Kerschbaum 1. Einführung Bei einem eingebetteten

Mehr

Quantitative Methoden. Betriebssysteme

Quantitative Methoden. Betriebssysteme Quantitative Methoden Betriebssysteme Problem und Gegenstand Problem Erfüllen von QoS-Anforderungen mit zeit- bzw. größenbeschränkten Ressourcen Gegenstand Scheduling basierend auf deterministischen Modellen

Mehr

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 7 Scheduling Maren Bennewitz Version 23.01.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme - Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 9: Scheduling gemischter Prozessmengen CSI Technische Universität Ilmenau www.tu-ilmenau.de

Mehr

Round-Robin Scheduling (RR)

Round-Robin Scheduling (RR) RR - Scheduling Reigen-Modell: einfachster, ältester, fairster, am weitesten verbreiteter Algorithmus Entworfen für interaktive Systeme (preemptives Scheduling) Idee: Den Prozessen in der Bereitschaftsschlange

Mehr

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Prozess-Ablaufplanung Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduler Der Scheduler ist ein besonders wichtiges Programmteil jedes Betriebssystems. Prozesse P 1 P

Mehr

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden. 5. Steuerung technischer Prozesse 5.1 Echtzeit (real time) Im Gegensatz zu Aufgabenstellungen aus der Büroumgebung, wo der Anwender mehr oder weniger geduldig wartet, bis der Computer ein Ergebnis liefert

Mehr

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse) 5 CPU-Scheduling Im folgenden wird von Threads gesprochen. Bei Systemen, die keine Threads unterstützen, ist der einzige "Thread" eines Prozesses gemeint. Früher wurde dieser Thread synonym mit dem Begriff

Mehr

8. Vorlesung Betriebssysteme

8. Vorlesung Betriebssysteme Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/69 8. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik wolkenrechnen@gmail.com Dr. Christian

Mehr

Hausübung 2(Musterlösung)

Hausübung 2(Musterlösung) SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 2(Musterlösung) 2014-05-12 bis 2014-05-23 Hausübungsabgabe: Format: Lösungen in schriftlicher

Mehr

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis Universität Paderborn Fachgebiet Rechnernetze SoSe 2014 Konzepte und Methoden der Systemsoftware Hausübung 2 2014-05-12 bis 2014-05-23 Hausübungsabgabe: Format: Lösungen in schriftlicher oder gedruckter

Mehr

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling 1 termini technici Der englische Fachausdruck scheduler wurde eingedeutscht : Der Scheduler Für scheduling ist im Deutschen auch zu verwenden: Ablaufplanung

Mehr

Betriebssysteme. Teil 13: Scheduling

Betriebssysteme. Teil 13: Scheduling Betriebssysteme Teil 13: Scheduling Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 15.01.16 1 Literatur [13-1] Quade, Jürgen; Mächtel, Michael: Moderne Realzeitsysteme kompakt. dpunkt, 2012 [13-2] Quade,

Mehr

Betriebssysteme Wintersemester 2005/06

Betriebssysteme Wintersemester 2005/06 Betriebssysteme Wintersemester 2005/06 Vorlesung 4 CPU Scheduling Dr. Oliver Waldhorst Rechnernetze und verteilte Systeme Universität Leipzig http://www.informatik.uni-leipzig.de/rnvs Fahrplan Nr. 1 2

Mehr

Scheduling. Gliederung. Was ist Scheduling? Scheduling. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3. Interrupts. 4.

Scheduling. Gliederung. Was ist Scheduling? Scheduling. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3. Interrupts. 4. Gliederung 1. Einführung und Übersicht 2. Prozesse und Threads 3. Interrupts 4. 5. Synchronisation 6. Interprozesskommunikation 7. Speicherverwaltung Cl. Schnörr / HM 1 Gliederung Cl. Schnörr / HM 2 Was

Mehr

Real-Time Operating Systems Ein Überblick

Real-Time Operating Systems Ein Überblick Real-Time Operating Systems Ein Überblick Stefan Tittel Universität Dortmund Proseminar: Werkzeuge und Techniken zur Spezifikation, Simulation und Implementierung von eingebetteten Systemen, 2004 1 Einführung

Mehr

(b) Worin besteht der Unterschied zwischen online und offline Scheduling?

(b) Worin besteht der Unterschied zwischen online und offline Scheduling? Universität Paderborn Fachgebiet Rechnernetze SoSe 2013 Konzepte und Methoden der Systemsoftware Präsenzübung 3 2013-05-06 bis 2013-05-10 Aufgabe 1: Scheduling - Grundbegriffe Bekanntlich gibt es für das

Mehr

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozessverwaltung Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozesse sind Abfolgen von Aktionen, die unter Kontrolle

Mehr

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012 Übung zu Grundlagen der Betriebssysteme 7. Übung 27.11.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein

Mehr

Roboter- und Automatisierungstechnik

Roboter- und Automatisierungstechnik Roboter- und Automatisierungstechnik Teil 4: Grundlagen der Echtzeitprogrammierung Hochschule Bremerhaven SS 2007 Prof. Dr. Oliver Zielinski Inhalt 4.1 Problemstellung 4.2 Echtzeitprogrammierverfahren

Mehr

Betriebssysteme und Systemsoftware

Betriebssysteme und Systemsoftware Merlin Denker Version 2 1 / 18 Vorwort Dieses Dokument soll einen Überblick über verschiedene Strategien aus der an der RWTH Aachen gehaltenen Vorlesung bieten. Die vorliegende Version dieses Dokuments

Mehr

Übungen zum Fach Betriebssysteme Kapitel 3

Übungen zum Fach Betriebssysteme Kapitel 3 Übungen zum Fach Betriebssysteme Kapitel 3 Prof. Dr. Kern & Prof. Dr. Wienkop Prozessverwaltung 1 Prozeßauslagerung Ein Betriebssystem, das die Zustände "rechnend", "bereit" und "wartend" sowie den künstlichen

Mehr

B.5 Prozessverwaltung B.5. Prozessverwaltung. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.5 Prozessverwaltung B.5. Prozessverwaltung. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Prozessverwaltung Prozessverwaltung 2002 Prof. Dr. Rainer Manthey Informatik II 1 Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) ) von einem Rechner abgearbeitet.

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 1: Prozesse und Threads Aufgabe 1: Prozesse und Threads a) Wie verhält sich eine Applikation die aus mehreren Prozessen

Mehr

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Am Pfaffenstein 14 D-55270 Klein-Winternheim Tel. +49 (0) 6136 9948-0 Fax. +49 (0) 6136 9948-10 PikeOS: multiple VM Umgebung VM #0 VM #1 VM #2... PikeOS

Mehr

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen

Mehr

6.1 Einführung. Kapitel 6 Scheduling. Klassisches Scheduling-Problem. Anwendungs-Beispiele von Scheduling. Scheduling (zu deutsch etwa

6.1 Einführung. Kapitel 6 Scheduling. Klassisches Scheduling-Problem. Anwendungs-Beispiele von Scheduling. Scheduling (zu deutsch etwa 6.1 Einführung Kapitel 6 Scheduling Scheduling (zu deutsch etwa Ablaufplanung ) bedeutet i.a. die Zuordnung von Aktivitäten zu Instanzen, welche diese Aktivitäten durchführen können, in Raum und Zeit.

Mehr

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Sep 2012. 4) Task-Verwaltung

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Sep 2012. 4) Task-Verwaltung Inhalte Eigenschaften von Rechenprozessen (Tasks) Taskübergänge (process control block) Multitasking (kooperativ und präemptiv) Scheduler Erzeugen, Starten und Beenden von Tasks Taskzustände (running,

Mehr

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst FH Regensburg BT/SS04 5 CPU Scheduling 5.1 Grundlagen 5.1.1 CPU Burst / I/O Burst Beobachtung: Programme rechnen typischerweise etwas, dann tätigen sie Ein/Ausgabe: CPU-Burst: das Programm rechnet eine

Mehr

Prozessautomatisierungstechnik

Prozessautomatisierungstechnik Mohieddine Jelali Prozessautomatisierungstechnik 4. Echtzeitsysteme und Echtzeitprogrammierung WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 1 Inhaltsangaben zu Kapitel

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

3. Scheduler und Schedulingstrategien

3. Scheduler und Schedulingstrategien 5 3 Scheduler und Schedulingstrategien Unter Scheduling versteht man einen Ablaufplan, einen Fahrplan oder eine Auswahlstrategie, nach der ein knappes Betriebsmittel im Wettbewerb befindlichen Prozessen

Mehr

Betriebssysteme II SS 2012. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 23.

Betriebssysteme II SS 2012. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 23. Betriebssysteme II SS 2012 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 23. April 2014 Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13)

Mehr

7.Vorlesung Betriebssysteme Hochschule Mannheim

7.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/70 7.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten

Mehr

Zeit- und ereignisgesteuerte Echtzeitsysteme

Zeit- und ereignisgesteuerte Echtzeitsysteme Zeit- und ereignisgesteuerte Echtzeitsysteme Stephan Braun Stephan.Braun.Hagen@t-online.de PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Echtzeitsystemmodell Einführung Ereignis- und zeitgesteuerte

Mehr

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

Mehr

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Definitionenen und Grundlagen

Definitionenen und Grundlagen Echtzeitbetriebssysteme & verteilte Systeme, Teil 1 Dozent: Dr. rer. nat. Frank Dopatka Voraussetzung: Grundkenntnisse in Betriebssystemen & -Verfahren Ziel: Einführung in industrielle Echtzeitanforderungen,

Mehr

2 Echtzeitbetriebssysteme

2 Echtzeitbetriebssysteme 35 2 Echtzeitbetriebssysteme In den letzten Jahren hat sich die Automobilindustrie zu einem der wesentlichen Anwender von Echtzeitbetriebssystemen für eingebettete Systeme entwickelt. Relativ zeitig erkannten

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Scheduling Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2012/bs/

Mehr

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation Inhaltsverzeichnis Systemprogrammierung - Kapitel 2 Prozessverwaltung 1/21 2.1 Was ist ein Prozess? Definition Prozesszustände Prozesskontrollblöcke 2.4 Thread-Systeme Sinn und Zweck Thread-Arten Thread-Management

Mehr

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas Wilhelm.Haas@informatik.stud.uni-erlangen.de Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4

Mehr

*DE102007042999A120090312*

*DE102007042999A120090312* *DE102007042999A120090312* (19) Bundesrepublik Deutschland Deutsches Patent- und Markenamt (10) DE 10 2007 042 999 A1 2009.03.12 (12) Offenlegungsschrift (21) Aktenzeichen: 10 2007 042 999.3 (22) Anmeldetag:

Mehr

4 Echtzeit-Programmierung

4 Echtzeit-Programmierung 4 Echtzeit-Programmierung 4.1 Problemstellung 4.2 Echtzeit-Programmierverfahren 4.3 Rechenprozesse 4.4 Zeitliche Koordinierung von Rechenprozessen 4.5 Kommunikation zwischen Rechenprozessen 4.6 Scheduling-Verfahren

Mehr

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems Aufbau eines Echtzeit-Betriebssystems für Embedded Systems I. Begriffsdefinition II. Anforderungen III. Struktur und Komponenten Dr.-Ing. Ludwig Eckert, Seite 1 I. Begriffsdefinition: Embedded System Bsp.:

Mehr

Scheduling-Verfahren für Mehrbenutzer-Systeme. Klaus Kusche, Juni 2012

Scheduling-Verfahren für Mehrbenutzer-Systeme. Klaus Kusche, Juni 2012 Scheduling-Verfahren für Mehrbenutzer-Systeme Klaus Kusche, Juni 2012 Inhalt Einleitung & Begriffe Ziele & Voraussetzungen Das Round-Robin-Verfahren...... und seine Probleme Die Scheduler in Windows und

Mehr

BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden. besten, wenn der Zusatzaufwand für Kontextumschaltungen gering ist.

BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden. besten, wenn der Zusatzaufwand für Kontextumschaltungen gering ist. BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden 5.2 Prozessorvergabe für Kern-Fäden Scheduler-Struktur Struktur der Warteschlangen Parallele Bearbeitung von Warteschlangen Strategien Statische oder

Mehr

Prozesse. Prozesse. Nebenläufigkeit. Prozess-Scheduling. Echtzeit-Scheduling. Multiproz.-Scheduling. Inhalt Prozesse

Prozesse. Prozesse. Nebenläufigkeit. Prozess-Scheduling. Echtzeit-Scheduling. Multiproz.-Scheduling. Inhalt Prozesse Modul: B-BS Betriebssysteme WS 2012/13 Prozesse Prof. Dr. Rüdiger Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik (12) Inhalt Prozesse Was ist ein Prozess?

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper 1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,

Mehr

TIMI: Technische Informatik für Medieninformatiker

TIMI: Technische Informatik für Medieninformatiker TIMI: Technische Informatik für Medieninformatiker Bachelor-Studiengang Digitale Medien Medieninformatik SS 2004 Niels Pollem Arbeitsgruppe Rechnernetze (Prof. Dr.-Ing. Ute Bormann) Scheduling:

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

Mehr

4.3 Aufbau von Echtzeitbetriebssystemen

4.3 Aufbau von Echtzeitbetriebssystemen 4.3 Aufbau von Echtzeitbetriebssystemen Aufgaben eines Standardbetriebssystems: Taskverwaltung: Steuerung und Organisation der durchzuführenden Verarbeitungsprogramme (Tasks) Zuteilung des Prozessors an

Mehr

Kap. 2. Prozesse. Version vom 05.10.2009. Kap. 2 - Inhalt. Definition Prozeßzustände Threads Scheduling Beispiele. Folie 2

Kap. 2. Prozesse. Version vom 05.10.2009. Kap. 2 - Inhalt. Definition Prozeßzustände Threads Scheduling Beispiele. Folie 2 Kap. 2 Prozesse Version vom 05.10.2009 Kap. 2 - Inhalt Definition Prozeßzustände Threads Scheduling Beispiele Folie 2 Definition I - Woraus bestehen Prozesse? Prozeß ist ein Programm in seiner Ausführung,

Mehr

3. Echtzeit-Scheduling Grundlagen

3. Echtzeit-Scheduling Grundlagen 3. Echzei-Scheduling Grundlagen 3.1. Grundbegriffe, Klassifikaion und Bewerung Grundbegriffe Job Planungseinhei für Scheduling e wce r d Ausführungszei, Bearbeiungszei (execuion ime) maximale Ausführungszei

Mehr

Übung zu Grundlagen der Betriebssysteme. 8. Übung 04.12.2012

Übung zu Grundlagen der Betriebssysteme. 8. Übung 04.12.2012 Übung zu Grundlagen der Betriebssysteme 8. Übung 04.12.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein

Mehr

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012 VU Technische Grundlagen der Informatik Übung 8: Systemsoftware und Netzwerke 183.579, SS2012 Übungsgruppen: o., 14.6. Mi., 20.6.2012 ufgabe 1: Virtual Memory Zeichnen Sie ein System das Paging zur Speicherverwaltung

Mehr

Betriebssysteme. CPU-Scheduling - Fallbeispiele. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.

Betriebssysteme. CPU-Scheduling - Fallbeispiele. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1. CPU-Scheduling - Fallbeispiele Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung

Mehr

Domänenanalyse Threadverwaltung/Scheduling

Domänenanalyse Threadverwaltung/Scheduling Domänenanalyse Threadverwaltung/Scheduling Johannes Handl, Marc Rößler, Christian Strengert 15. Mai 2003 Domänenanalyse Threadverwaltung/Scheduling [1] Domänendefinition Die Erzeugung, Verwaltung, Umschaltung/Wechsel,

Mehr

Klassisches Scheduling-Problem 6 Prozesse 3 Prozessoren. Strategie und Mechanismus

Klassisches Scheduling-Problem 6 Prozesse 3 Prozessoren. Strategie und Mechanismus Betriebssysteme Sommersemester 0. Einführung Betriebssysteme. Kapitel Scheduling Prof. Matthias Werner Professur Betriebssysteme Scheduling (etwa: Ablaufplanung): Zeitliche Zuordnung von Aktivitäten zu

Mehr

Es kann maximal ein Prozess die Umladestelle benutzen.

Es kann maximal ein Prozess die Umladestelle benutzen. SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat

Mehr

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler

Mehr

(Prüfungs-)Aufgaben zum Thema Scheduling

(Prüfungs-)Aufgaben zum Thema Scheduling (Prüfungs-)Aufgaben zum Thema Scheduling 1) Geben Sie die beiden wichtigsten Kriterien bei der Wahl der Größe des Quantums beim Round-Robin-Scheduling an. 2) In welchen Situationen und von welchen (Betriebssystem-)Routinen

Mehr

Prozesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände

Prozesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände Prozesseinplanung Kurzfristige Einplanung Systemaufrufe Programmverwaltung Zugriffskontrolle Dateiverwaltung Ein /Auslagerung Vernetzung Ein /Ausgabe Fadenverwaltung Koordination Prozesseinplanung Prozessabfertigung

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informaik III Winersemeser 21/211 Wolfgang Heenes, Parik Schmia 11. Aufgabenbla 31.1.211 Hinweis: Der Schnelles und die Aufgaben sollen in den Übungsgruppen bearbeie werden. Die Hausaufgaben

Mehr

Musterlösung 3. Mikroprozessor & Eingebettete Systeme 1

Musterlösung 3. Mikroprozessor & Eingebettete Systeme 1 Musterlösung 3 Mikroprozessor & Eingebettete Systeme 1 WS214/215 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tief ergehende Kenntnis zu vermitteln; sie sollen lediglich den Einstieg

Mehr

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle Aufgabe: Zuteilung der auf die CPU Automatisches Entwurfs- und Entwicklungssystem für harte Echtzeitsysteme Zuteilungsstrategien: Satz Jan Blumenthal 20.02.2003 Zyklisch 4 Gliederung Optimierung des Schedulings

Mehr

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene Andi Drebes Fachbereich Informatik Universität Hamburg Gliederung Notwendigkeit des Schedulings Einführung: Begriff des Multitaskings

Mehr

Von Prozessen und Prozessoren (Prozess-Management)

Von Prozessen und Prozessoren (Prozess-Management) Von Prozessen und Prozessoren (Prozess-Management) V1.1 Technische Berufsschule Zürich IT Seite 1 Aus dem Geschichtsbuch: Grossrechner IBM 7094, 1965: Online- und Batchbetrieb IBM-Lochkarte Technische

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 19.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 22.6.2007 Heute 2.Testklausur mit 22 Fragen aus den Vorlesungen

Mehr

Technische Informatik II

Technische Informatik II Universität Stuttgart INSTITUT FÜR KOMMUNIKATIONSNETZE UND RECHNERSYSTEME Prof. Dr.-Ing. Andreas Kirstädter Diplomprüfung Prüfer: Termin: Dauer: Verlangte Aufgaben: Zugelassene Hilfsmittel: Technische

Mehr

3 Prozessorzuteilungsverfahren für Echtzeitsysteme

3 Prozessorzuteilungsverfahren für Echtzeitsysteme -Systeme 3 sverfahren für systeme 3.1 Überblick 3.1.1 Zielstellung Finden einer Abbildung Ausführungseinheit Prozessor, so daß alle notwendigen Ressourcen (Rechenzeit, Speicherplatz, Geräte,... ) den Ausführungseinheiten

Mehr

Approximation in Batch and Multiprocessor Scheduling

Approximation in Batch and Multiprocessor Scheduling Approximation in Batch and Multiprocessor Scheduling Tim Nonner IBM Research Albert-Ludwigs-Universität Freiburg 3. Dezember 2010 Scheduling Zeit als Ressource und Beschränkung Formaler Gegeben sind Jobs

Mehr

20 Eingebettete Software

20 Eingebettete Software 20 Eingebettete Software 20.0 Einführung Lernziele Echtzeitsysteme Eingebettete Systeme 20.1 Entwurf eingebetteter Systeme Modellierung von Echtzeitsystemen Programmierung von Echtzeitsystemen 20.2 Architekturmuster

Mehr

Rapid Prototyping für Echtzeitsysteme: Tools, Scheduling Algorithmen und Hardware-Scheduling- Support

Rapid Prototyping für Echtzeitsysteme: Tools, Scheduling Algorithmen und Hardware-Scheduling- Support Rapid Prototyping für Echtzeitsysteme: Tools, Scheduling Algorithmen und Hardware-Scheduling- Support Jens Hildebrandt, Dirk Timmermann Universität Rostock Institut für Angewandte Mikroelektronik und Datentechnik

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Prinzipien und Komponenten eingebetteter Systeme

Prinzipien und Komponenten eingebetteter Systeme 1 Prinzipen und Komponenten Eingebetteter Systeme (PKES) (10) Scheduling in eingebetteten Anwendungen Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 2 Praktische Aufgabe 5 Alternative A: Entwickeln

Mehr

OSEK / OSEKtime - ein Vergleich

OSEK / OSEKtime - ein Vergleich OSEK / OSEKtime - ein Vergleich Hauptseminar WS 07/08 André Puschmann andre.puschmann@stud.tu-ilmenau.de Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Fachgebiet Rechnerarchitektur

Mehr

Vorlesung Echtzeitbetriebssysteme. Sommersemester 2006. FH-Isny

Vorlesung Echtzeitbetriebssysteme. Sommersemester 2006. FH-Isny Vorlesung Echtzeitbetriebssysteme Sommersemester 2006 FH-Isny Dipl. Inf. B. Gerum NTA Isny RTOS V2.11 1 1.0 Einführung Echtzeitsysteme - Echtzeitbetriebssysteme... 4 1.1. Definition eines Echtzeitsystems...

Mehr

Echtzeitanforderung und Linux

Echtzeitanforderung und Linux Echtzeitanforderung und Linux Slide 1 - http://www.pengutronix.de - 21.01.2007 Definition Harte Echtzeit I Was zeichnet ein Echtzeitsystem aus? Zeitverhalten ist Teil der System-Spezifikation! Bei Embedded-Systemen

Mehr

Lösungsvorschlag zur 4. Übung

Lösungsvorschlag zur 4. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 4. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen zu Bewertungskriterien

Mehr

Wintersemester 2010/2011

Wintersemester 2010/2011 Zentralübung Eh Wintersemester 2010/2011 Dr. Christian Buckl fortiss GmbH Cyber Physical Systems TU München Lehrstuhl VI Robotics and Embedded Systems WS 10/11 1 Zentralübung Hintergrund Ziele: Klärung

Mehr

RTEMS- Echtzeitbetriebssystem

RTEMS- Echtzeitbetriebssystem RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-

Mehr

OSEK Deadline-Analyse

OSEK Deadline-Analyse OSEK Deadline-Analyse GmbH Erlangen Jürgen Scherg 8. Juni 2001 Ein Programmtest muß unter verschiedenen Gesichtspunkten durchgeführt werden. verschiedene Testmethoden sind notwendig. Blackbox : Es wird

Mehr

13. Übung mit Musterlösung

13. Übung mit Musterlösung 13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten

Mehr

TECHNISCHE UNIVERSITÄT DORTMUND FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT DORTMUND FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT DORTMUND FAKULTÄT FÜR INFORMATIK Diplomarbeit Kopplung von Scheduling- und Speicherallokationsstrategien zur Energieverbrauchsminimierung Stefan Wonneberger 6. November 2008 I N

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Stochastisches Scheduling

Stochastisches Scheduling Hauptseminar Scheduling Stochastisches Scheduling Matthias Rahlf Technische Universität München rahlf@in.tum.de Zusammenfassung. Dieses Papier bietet einen Einblick in das Feld des stochastischen Schedulings.

Mehr

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7 Echtzeitprogrammierung und Echtzeitverhalten von Frank Erdrich Semester AI 7 Inhalt Einleitung Echtzeit und Echtzeitsysteme Echtzeitprogrammierung Real-Time Operating System Keil RTOS RTX Zusammenfassung

Mehr