Scheduling. Scheduling Tanenbaum Kap. 2.4, Stallings Kap , Glatz Kap. 3.4

Größe: px
Ab Seite anzeigen:

Download "Scheduling. Scheduling Tanenbaum Kap. 2.4, Stallings Kap , Glatz Kap. 3.4"

Transkript

1 Scheduling Scheduling Tanenbaum Kap. 2.4, Stallings Kap , Glatz Kap

2 Inhalt CPU Scheduling Einführung, Begriffe, Kriterien Verfahren - nonpreemptive FCFS, SPN (SJN), Priority Scheduling - preemptive Round Robin, Multilevel, Multilevel Feedback Zusammenfassung und Auswahlkriterien Unix / Linux/ Windows Scheduling Linux CFS: completely fair scheduler Multiprozessor Scheduling Real-Time Scheduling Einführung Rate Monotonic, Deadline Scheduling, Cyclic-Executives 2 2

3 Lehrziele Sie können den Begriff Scheduling erklären und diskutieren die wichtigsten Scheduling Algorithmen aufzählen, erklären und diskutieren die Scheduling Verfahren der wichtigsten Betriebssysteme erklären und diskutieren Probleme beim Multiprozessor Scheduling aufzählne und erklären den Begriff Real-Time Scheduling erklären und diskutieren Die wichtigsten Real-Time Scheduling Algorithmen aufzählen, erklären und diskutieren 3 3

4 Scheduling und Zustandsdiagramm new Long-Term admit admit ready suspend ready dispatch timeout running release exit Event occurs blocked suspend activate suspend blocked Event occurs Event wait Medium-Term Short-Term 4 Long-Term Scheduler oder Admission Scheduler - Frage: welche resp. wie viele Prozesse zulassen (starten)? - steuert "degree of multiprocessing" - Viele Prozesse "+" kleinere Wahrscheinlichkeit, dass alle Prozesse blockieren "-" jeder Prozess erhält weniger Rechenzeit - mögliche Zulassungskriterien kurze Prozesse bevorzugen, lange müssen warten interaktive Prozesse bevorzugen guter Mix zwischen CPU- und I/O-bound Prozessen Medium-Term Scheduler oder Memory Scheduler - Prozess im Speicher halten - Frage: welche Prozesse auf Disk auslagern oder wieder in Speicher holen? Short-Term Scheduler oder CPU Scheduler - Zuteilung von Rechenleistung - Frage: welchen Prozess als Nächsten ausführen? - verschiedene Verfahren möglich, abhängig von Zielen Hauptthema dieses Kapitels: CPU Scheduling bzw. Scheduling nur für eine CPU: singlecpu scheduling Hinweis zum Begriff Prozess im Zusammenhang mit Scheduling - Verfahren gelten sowohl für Prozesse und Kernel-Threads - Task schedulierbare Einheit: Prozess oder Thread 4

5 Scheduling: Queuing Diagramm Long-Term Short-Term enter Ready Queue dispatch CPU exit timeout (preemted) Event occurs Event Queues Event wait Blocked Suspend Ready Suspend Medium-Term 5 Scheduling aus Sicht Queuing Diagramm 5

6 Scheduling-Klassen Scheduling abhängig von Art der Anwendung Drei wichtige Klassen für Batch Systeme - keine Anwender, die am Terminal auf Antwort warten - Jobs können am Stück verarbeitet werden Interaktive Systeme - Anwender warten am Terminal auf Antwort - Umschaltung zwischen Prozessen notwendig Real-Time Systeme - Resultat muss zur richtigen Zeit verfügbar sein - oft periodische Jobs 6 Batch Systeme - die Verarbeitung von Jobs resp. Prozessen erfolgt "am Stück" - non-preemtive scheduling keine Unterbrechung durch Scheduler Unterbrechung nur, wenn Prozess blockiert Interaktive Systeme - Umschaltung zwischen Anwendern resp. deren Prozessen notwendig - preemptive scheduling Prozesse erhalten CPU während "time-slice" Scheduler unterbricht Prozess wenn time-slice abgelaufen Unterbruch resp. Umschaltung auch wenn Prozess blockiert Real-time Systeme - Systemantwort: deadlines müssen eingehalten werden - oft repetitive Aufgaben - Beispiel Film alle 1/25s ein Bild rendern Embedded Systeme - embedded Systeme stellen je nach Anwendung weitere Anforderungen an Betriebssysteme: "mini-betriebssysteme" Echtezeitsysteme? 6

7 Scheduling Algorithmen: Ziele Für alle Systeme gilt Fairness, Einhalten von Policies, optimale Systemnutzung Batch Systeme Durchsatz Anzahl Jobs pro Zeit Turnaround Zeit Zeit zwischen Aufgabe und Terminierung CPU-Nutzung möglichst 100% Auslastung Interaktive Systeme Antwortzeit schnelle Reaktion Erwartung Erfüllen der Anwendererwartungen Real-Time Systeme Deadlines kein Datenverlust Vorhersagbarkeit kein Qualitätsverlust z.b. bei Multimedia 7 Policy: z.b. Vorgabe von Prioritäte vs. Mechnismus: durchführen des Scheduling Non-Preemtive: Job kann sich selber unterbrechen oder blockieren Durchsatz: throughput - Anzahl abgearbeiteter Jobs (Prozesse) pro Zeit - Ziel: möglichst viele Jobs pro Zeit - Anmerkung: Optimierung auf Durchsatz mit Bevorzugung von kurzen Jobs kann lange Jobs stark benachteiligen -> führt u.u. zu "starvation" Turnaroundzeit - Zeit zwischen Aufgabe und Terminierung eines Jobs - statistischer Mittelwert: wie lange der Anwender im Mittel warten muss CPU-Nutzung: processor utilization - Anteil der Zeit während der der Prozessor beschäftigt ist Antwortzeit: response time - Zeit zwischen Aufgabe eines Befehls und Antwort des Systems Erwartung - Anwender erwarten vom System ein bestimmtes Verhalten sollte möglichst gut erfüllt werden, aber verschiedene Anwender haben auch verschiedene Erwartungen, resp. nehmen das Systemverhalten verschieden wahr - Beispiel Deadlines clicken auf Icon sollte möglichst schnell eine sichtbare Aktion auslösen ein umfangreiche Berechnung darf aber ruhig etwas dauern - wenn Daten nicht rechtzeitig verfügbar sind, stimmt Resultat nicht - Beispiel: Video Frames müssen periodisch gerendert werden, sonst "ruckelt" das Bild, Resultat aber noch nicht "fatal" falsch 7

8 Wichtigste Scheduling-Verfahren Nonpreemptive Scheduling First Come First Served Shortest Job First (Shortest Process Next) Priority Scheduling i.d.r. Batch Systeme und Soft Real Time Systeme Preemptive Scheduling Round Robin Multilevel und Multilevel Feedback: prioritätsbasiert i.a. interaktive Systeme und Multiprozessor-Systeme Real-Time Scheduling Rate Monotonic Scheduling Deadline Scheduling 8 Bewertungskriterien - Antwortzeit wie lange geht es bis Task reagiert? - Durchsatz wie viel Tasks pro Zeit werden verarbeitet? - Fairness werden Tasks vernachlässigt? - Starvation können Tasks nie an die Reihe kommen - Implementierung / Overhead wie aufendig ist die Implementierung des Verfahrens? Task: Prozess oder Thread (Kernel Level) 8

9 Laufzeitverhalten von Prozessen / Threads CPU-bound Prozesse lange CPU bursts langer CPU burst Burst Time t I/O-bound Prozesse kurze CPU bursts auf IO Warten t kurzer CPU burst 9 Sozusagen alle Prozesse laufen in einem CPU - I/O Burst Zyklus - rechnen... I/O... rechnen... I/O... rechnen... I/O... - Phasen zwischen CPU-bound und I/O-bound können sich auch abwechseln CPU-bound - lange CPU bursts - z.b. Batch Jobs I/O-bound - kurze CPU bursts - interaktive Jobs Anmerkung - je schneller die Prozessoren (CPUs), desto eher sind Prozesse I/O-bound die Geschwindigkeit von CPUs nimmt stärker zu als z.b. von Disk und Memory während burst konsumiert Prozess Rechnezeit resp. hat CPU alloziert 9

10 Scheduling: Definition "Zeiten" P 1 T mb = (6T + 5T + 7T)/3 = 6T T mw = (0T + 5T + 10T)/3 = 5T T ma = (6T + 10T + 17T)/3 = 11T P 3 T s Zeit T a1 =6 T w2 =5 T a2 =10 T w3 =10 T a3 =17 T s2 T s3 T b =7 T b Rechenzeit, Bedienzeit T w Wartezeit T a Turnaroundzeit T s Startzeit 10 Definitionen des zeitlichen Verhaltens von Prozessen - T b : Rechzeit, Bedienzeit Zeit während der ein Prozess CPU belegt (Rechenzeit beansprucht) kann aus mehreren Teilabschnitten bestehen:teilabschnitte entstehen, wenn der Prozess blockiert oder der Prozess unterbrochen wird - T w : Wartezeit Tw gesamte Zeit, während der ein Prozess wartet - T a : Ausführungszeit oder Turnaroundzeit Zeit von Prozessaufgabe bis Prozessterminierung Berechnung von Mittelwerten - werden für den Vergleich von Schedulingverfahren resp. -algorithmen verwendet - Beispiel oben ( jeweils P 1,, P 3 ) mittlere Bedientzeit T mb = (6T + 5T + 7T)/3 = 6T mittlere Wartezeit T mw = (0T + 5T + 10T)/3 = 5T mittlere Turnaroundzeit T ma = (6T + 10T + 17T)/3 = 11T Anmerkungen - Prozesse müssen nicht notwendigerweise am Stück ausgeführt werden Prozesse geben Kontrolle CPU bei blockierenden Systemaufrufen ab Prozesse werden aktiv vom Scheduler unterbrochen: z.b. time-slice abgelaufen oder Prozess mit höherer Priorität wird aktiv, etc. 10

11 CPU Scheduling Beispiel für Vergleich der Scheduling Verfahren Annahmen: Prozesse blockieren nicht, geben CPU nicht ab T s1 = 0, T b1 = 3 P 1 T s2 = 2, T b2 = 6 T s3 = 4, T b3 = 4 P 3 T s4 = 6, T b4 = 5 P 4 T s5 = 8, T b5 = 2 P t eine CPU, (FIFO) P 1 P 3 P 4 P 5 11 Im folgenden verwendetes Beispiel für die Erklärung der verschiedenen Scheduling Verfahren 11

12 Non-Preemptive Scheduling admit Ready Queue dispatch Processor release Event occurs Blocked Queue Event wait 12 Ready-Queue: FIFO Queue Non-Preemtive Scheduling - nicht blockierende Prozesse am Stück abgearbeitet - blockierende Prozesse in Blocked Queue gehängt bleiben, bis sie von entsprechendem Event geweckt werden werden in die Ready Queue gehängt - freiwillige Prozessabgabe werden in die Ready Queue gehängt Anmerkung - kommt ein neuer Prozess an und wird zum gleichen Zeitpunkt ein Prozess geweckt, dann wird i.a. der neue Prozess vor dem geweckten Prozess in die Ready Queue eingefügt 12

13 First Come First Served (FCFS/FIFO) Auswahlfunktion FCFS ältester Prozess in der Queue First Come First Served T s1 = 0, T b1 = 3 P 1 T s2 = 2, T b2 = 6 T s3 = 4, T b3 = 4 P 3 T s4 = 6, T b4 = 5 P 4 T s5 = 8, T b5 = 2 P t FCFS P 1 P 3 P 4 P 5 13 Auswahlfunktion - FCFS = FIFO Decision Mode - nonpreemptive - Prozess läuft bis er terminiert oder blockiert Diskussion - Antwortzeit lang, wenn Ausführungszeiten sehr unterschiedlich sind - Durchsatz kein Thema - Fairness lange und CPU-bound Prozesse werden bevorzugt schlechte Ausnutzung von I/O Geräten - Verhungern (Starvation) nicht möglich - Implementation einfach, minimaler Overhead Implizierte Priorität - die Ankunftszeit 13

14 Shortest Job First (SJF, SPN) Auswahlfunktion Prozess mit kürzester, geschätzter Rechenzeit T s1 = 0, T b1 = 3 P 1 T s2 = 2, T b2 = 6 T s3 = 4, T b3 = 4 P 3 T s4 = 6, T b4 = 5 P 4 T s5 = 2, T b5 = 2 P t SPN, SJF P 1 P 5 P 3 P 4 14 Auswahlfunktion - SJF, SPN - Prozess mit der kürzesten erwarteten Rechen- resp. Bedienzeit Decision Mode - nonpreemptive - Prozess läuft bis er terminiert oder blockiert Diskussion - Antwortzeit gut für kurze Prozesse, lange Prozesse müssen warten verbessert mittlere Wartezeit - Durchsatz hoch: viele kurze Prozesse - Fairness bestraft lange Prozesse - Verhungern möglich für lange Prozesse - Overhead relativ hoch: Bestimmung resp. Schätzung der Rechenzeit Implizierte Priorität - Prozess mit kürzester (geschätzter) Rechenzeit wird vorgezogen 14

15 Schätzung der CPU Burst Time Schätzwert gewichtete Summe: aktuelle Laufzeit + letzter Schätzwert S 1 = α Tn + (1 α) S 0 <α < 1 n+ n T n : effektive Ausführungszeit des n-ten CPU Bursts S n+1 : Schätzwert für Ausführungszeit des (n+1)-ten CPU Bursts S 0 : Schätzwert, wenn Prozess zum ersten Mal läuft (oft 0) Diskussion Einfluss vergangener Messwerte schwindet exponentiell je grösser α Schätzung folgt besser exaktem Verlauf Startwert S 0 oft auf 0 gesetzt hohe Startpriorität 15 Auflösung obiger Formel: S n+1 = α T n + (1-α) α T n-1 + (1-α) 2 α T n-2 + (1-α) 3 α T n (1-α) n S 1 Diskussion - je grösser α (α < 1), desto weniger fallen alte Werte ins Gewicht: alte Werte nehmen exponentiell ab - je grösser α desto besser folgt S der effektiven Kurve 15

16 ... Schätzung der CPU Burst Time Burst Time aktuelle Rechenzeit α= 0.8 α= t 16 Wahl α - gross folgt aktueller Kurve - klein glättet Kurve - Wahl abhänging von Anwendung 16

17 Priority Scheduling Ready Queue dispatch Processor release Priority admit Event occurs Blocked Queue Event wait 17 Decision Mode - nonpreemptive Auswahlverfahren - Prioriät - neue und aufgeweckte Prozesse werden anhand ihrer Priorität in die Ready Queue einsortiert Diskussion - Prozesse mit tiefen Prioritäten können verhungern - mögliche Abhilfe: dynamische Prioritäten Prioritäten in Funktion der Zeit anpassen 17

18 Preemptive Scheduling admit Ready Queue dispatch Processor release preempt Event occurs Blocked Queue Event wait 18 Ready Queue: FIFO Queue Preemptives Scheduling - Prozess können vom Scheduler unterbrochen werden und wieder in die Ready Queue eingereiht werden - Unterbruch durch Scheduler wenn time-slice abgelaufen - Unterbruch auch wenn Prozess blockiert Rescheduling notwendig 18

19 Round Robin (RR) Auswahlfunktion wie bei FCFS aber preemptive: time-slice resp. time-quantum q T s1 = 0, T b1 = 3 P 1 T s2 = 2, T b2 = 6 T s3 = 4, T b3 = 4 P 3 T s4 = 6, T b4 = 5 P 4 T s5 = 8, T b5 = 2 P 5 Round Robin P 1 P 1 P 3 P 4 P 3 P 5 P 4 P 3 P 5 P 4 P 3 P 4 t 19 Auswahlfunktion - Round Robin - nächster Prozess in Ready Queue Decision Mode - preemptive - Prozess läuft bis time-slice abgelaufen, Prozess blockiert oder terminiert Diskussion - Response Time gut für kurze Prozesse (P 5 wird für q=1 stark bevorzugt) lange Prozesse müssen auf nächsten Time Slice warten: T w = n q (n Anzahl Prozesse) - Throughput abhängig vom Time-Slice q (Zeit-Quantum q resp. Quantum q) tief, wenn q zu klein zuviele Prozesse und zuviele Context Switches FCFS Verhalten wenn q (zu) gross - Fairness Benachteiligung von I/O-bound Prozessen (nutzen ev. nicht ganzes q) - Verhungern nicht möglich - Overhead klein Anmerkung - ein gerade unterbrochener Prozess wird i.a. hinter einem gleichzeitig ankommenden Prozess in die Ready Queue eingereiht 19

20 Round Robin: Wahl von q Wie grossmuss Time Slice qgewählt werden? einiges grösser als Zeit für Clock Interrupt und Dispatching etwas grösser als eine typische Interaktion (~1 ms) aber nicht viel grösser, sonst werden I/O-bound Prozesse bestraft Interaktion < q Interaktion > q Time Slice q Time Slice q Time Slice q Interaktion s q-s Interaktion s Antwortzeit = Interaktion Antwortzeit = Interaktion + q 20 Ein sehr kleines q wäre gut - kurze Jobs schnell fertig - aber Overhead gross (Anteil Verwaltung zu Nettorechenzeit) Interaktion > q - es werden 2 time-slices benötigt, um Interaktion zu beenden - zwischendurch laufen andere Prozesse eher schlecht Antwortzeit optimale Wahl für q - etwas grösser als typische Interaktion - Interaktion findet gerade noch währen time-slice statt 20

21 Multilevel Scheduling Priorität 0 Ready Queue Priorität 1 Priorität 2 Processor Priorität 3 21 In üblichen Systemen verschiedene Arten von Jobs - batch, interaktiv, systembezogen, rechenintensiv, etc. Jobs erhalten je nach Art verschiedene Prioritäten - für jede Priorität eine Queue - Scheduler wählt immer Jobs mit höchster Priorität Funktionsweise - der Dispatcher sucht immer Prozesse aus Queue mit höchster Priorität - Ready Queues: FIFO Queues -> Round Robin pro Queue Diskussion - Jobs mit tiefen Prioritäten können verhungern Abhilfe: dynamische Prioritäten 21

22 Multilevel Feedback Scheduling Priorität 0 Ready Queue Priorität 1 Priorität 2 Processor Priorität 3 22 Ähnlich wie Multilevel Scheduling - Priorität bei zuviel CPU-Verbrauch erniedrigen -> Prozesse sinken von Queue zu Queue: - Prozess wird bei Ablauf des Time Slices in die nächste Queue gehängt: RQ0 RQ1 RQ2 RQ3 - unterste Queue RR - kürzere Prozesse fallen nicht so tief (I/O-bound), längere Prozessen (CPUbound) driften auf den "Grund" und bleiben dort (RR Scheduling) Diskussion - Prozesse können immer noch verhungern - Priorität abhängig von konsumierter Rechenzeit -> einfach zu ermittlen (im Gegensatz zu Schätzwert bei SJF) - die Bestrafung rechenintensiver Jobs begünstigt kurze Jobs Starvation - Lösung nur mit dynamischen Prioritäten möglich - Priorität bei zu langer Wartezeit erhöhen -> Prozesse steigen von Queue zu Queue 22

23 Multilevel Feedback (ohne dynamische Prioritäten) MF mit q = 1und q = 2 i (i = Priorität der Queue) T s1 = 0, T b1 = 3 P 1 T s2 = 2, T b2 = 6 T s3 = 4, T b3 = 4 P 3 T s4 = 6, T b4 = 5 P 4 T s5 = 2, T b5 = 2 ML: q = 1 P P 1 P 1 P 3 P 4 P 3 P 5 P 4 P 5 P 3 P 4 P 3 P 4 P 4 t ML: q = 2 i P 1 P 3 P 4 P 5 P 3 P 4 P 5 P 3 P 4 1) P 1 RR P 1 P 1 P 3 P 4 P 3 P 5 P 4 P 3 P 5 P 4 P 3 P ) hier wechselt der Prozess von Prioritätsqueue 0 nach 1 ML: Multilevel Feedback ohne dynamische Erhöhung der Priorität - bei festem time slice werden rechenintensive Prozesse benachteiligt - siehe - Idee: time slice mit abnehmender Priorität erhöhen, z.b. q = 2 i lange Prozesse können nach wie vor verhungern Anmerkung zum variablen time slice - ein Prozess der einmal gestartet ist, kann erst unterbrochen werden, wenn sein time slice q=2 i abgelaufen ist, auch wenn in der Zwischenzeit ein Prozess mit höherer Priorität angekommen is - Beispiel: P 1 läuft zu beginn auf Priorität 0 für ein 1q und anschliessend mit Priorität 1 für 2q obwohl in der Zwischenzeit angekommen ist - die Queues werden demzufolge, bis auf diejenige mit der tiefsten Priorität, mit einem FCFS verfahren scheduliert Starvation - dynamische Erhöhung der Prioritäten notwendig Round Robin: nur zum Vergleich, ähnliches Resultat wie ML: q = 1 23

24 Zusammenfassung First Come First Served(FCFS) ältester Prozess Shortest Process Next(SPN, SJN) Prozess mit kürzester erwarteter Rechenzeit Priority Scheduling Prozesse nach Priorität "einsortiert" Round Robin (RR) Time Slicing und "Rotation" in Queue Multilevel / Multilevel Feedback (ML/MLF) Jobs in Prioritäts-Queues aufgrund div. Kriterien nonpreemptive preemptive 24 Welches Verfahren ist das Beste? - die Antwort hängt ab von der Workload des Systems Anzahl Prozesse, I/O-CPU-bound, etc. der Hardwareunterstützung für den Dispatcher Gewichtung der Performance Kriterien Methode der Evaluierung Toomanyfactorsto giveanyuseful... Was wird in der Praxis eingesetzt - Unix - Linux - Windows 24

25 Unix Scheduling Traditionelles Unix Scheduling: SVR3 und 4.3 BSD: Zielsysteme: Time-Sharing resp. interaktive Systeme Verfahren Multilevel Feedback, Round Robin innerhalb jeder Queue und dynamische Prioritäten Basispriorität: Einteilung der Prozesse in Benutzer- und Systemprozesse Neuberechnung der Prioritäten und Rescheduling alle Sekunden - 60 Timer Interrupts / Sek. unterstützt effiziente Nutzung von I/O-Geräten Unix SVR4 Scheduling vollständig überarbeitet unterstützt zusätzlich real-time Anwendungen 25 Unterstützt sehr gut Time Sharing Systeme CPU-bound Anwender-Prozesse werden bestraft Je nachdem auf welche BS Ressource gewartet wird, erhält Prozess unabhängig von Vorgeschichte (System) Priorität zugewiesen Prioritäten 25

26 Unix Scheduling traditionell (vor SVR4) Prioritäten basieren auf Prozesstyp und Geschichte tiefer Wert = hohe Priorität CPU j[ i 1] CPU j[ i] = 2 CPU j[ i] Pj [ i] = base j + + nice j 2 P j [i] base j CPU j [i] nice j Priorität von Prozess j zu Beginn des Intervalls i Basispriorität von Prozess j exponentiell gewichtete mittlere Prozessornutzung durch Prozess j bis zum Beginn von Intervall i benutzergesteuerter Anpassungsfaktor 26 CPU und nice Komponenten so gewählt, dass Prioritätsband nicht verlassen werden kann. Während dem Laufen - wird ein Prozesses mehrmals vom Zeitgeber unterbrochen 60 mal pro Sekunde - der CPU Usage Counter (U j [i]) wird jeweils inkrementiert, zu Beginn des Zeitintervals ist U j [i]=0 -> die Priorität sinkt bei starkr CPU Nutzung über die Zeit Hinweis - CPU j [i] wird auch in der Form CPU j [i]=cpu j [i-1] / 2 angegeben - in diesem Fall besteht CPU j [i-1] aus dem Wert zu Beginn des Intervalls i und der Anzahl Zähler-Takte während dem Intervall i, d.h. das Resultat ist in beiden Fällen gleich. 26

27 Unix Scheduling SVR4 Vollständige Überarbeitung des Scheduling Algorithmus Prioritäten: 3 Klassen, mit 160 Levels Real-Time Kernel Time-Sharing Priority Class Real- Time Kernel Global Value Scheduling Sequence first Preemption Points im Kernel Punkte, wo der Kernel "sicher" unterbrochen werden kann Time- Sharing last 27 Für jeden Prioritätslevel gibt es eine Dispatch Queue Prozesse in einem Prioritätslevel werden mit Round Robin ausgeführt Ausführung von Prozessen aus der Queue mit höchster Priorität, die nicht leer ist Immer wenn der Kernel an einem Preemption Point angelangt ist, wird überprüft, ob ein Real-Time Prozess lauffähig ist, falls ja wird der höchstpriorisierte lauffähige Real- Time Prozess gestartet Jeder Real-Time Prozess hat eine feste Priorität und ein festes Zeitquantum Time Shared Prozesse - variable Prioritäten erreichen des Zeitquantums Reduktion der Priorität blockieren wegen I/O Erhöhung der Priorität - variable Zeit-Quanten Priorität 0 100ms Priorität 59 10ms 27

28 Unix Fair Share Scheduling (FSS) Oft besitzen Benutzer mehrere Prozesse (Threads) 28 wie verhält sich diese Gruppe von Prozessen resp. Threads? Fair-Share Scheduling Erweiterung der Scheduling Konzepte auf (Prozess-)Gruppen CPU wird "fair" an Gruppen zugeteilt - unabhängig von Anzahl Prozesse / Threads Vorgehen Prozesse werden Gruppen zugeteilt Gruppe k bekommt Anteil W k an CPU-Zeit Beispiel: 4 gleichwertige Gruppen Gruppe 3 - hat mehr Prozesse als die anderen - erhält nach wie vor 1/4 der Rechenzeit Wurde von einigen Unix Systemen implementiert Fair-Share Scheduling - versucht die CPU fair auf die verschiedenen Gruppen von Prozesse zu verteilen - zusätzlicher Aufwand Erfassen von Laufzeitinformation innerhalb der Gruppen Berechnung der Priorität - starke Ausrichtung auf Anwender Anwender mit vielen Prozessen erhalten gleichen Anteil an CPU-Zeit, wie Anwender mit wenigen Prozessen -> fair Priorität des Prozesses P j [i] aus Gruppe k in Zeitintervall i P j [ i] = base j CPU + 2 j [ i] GCPU [ i] + 4 W k k base j : Basispriorität von Prozess j CPU j [i]: Prozessornutzung bis Zeitintervall i durch Prozess j GCPU k [i]: Prozessornutzung bis Zeitintervall i durch Gruppe k - Priorität sinkt, wenn Prozesse aus Gruppe k die CPU intensiv nutzen (! Wert wird grösser) - je grösser W k, desto weniger sinkt die Priorität 28

29 Linux-Scheduling: Kernel Drei Scheduler Klassen (absteigende Prio) Real-time: SCHED_FIFO, SCHED_RR, SCHED_DEADLINE ( 3.14) CFS: SCHED_OTHER, SCHED_BATCH Idle: SCHED_IDLE Tasks laufen in idle-zeiten der höheren Prioritätsklasse CFS: Completely Fair Scheduler Idee: kein Time-Slice, sondern "Anteil an Prozessorleistung" - Laufzeit wird fair auf Anzahl lauffähige Task verteilt keine Run-Queue (RQ) sondern ein Red-Black Tree - selbstbalancierender Binärbaum unterstützt Group-Scheduling nice Werte geometrisch multiplikativ 29 Hinweis - Task Prozess oder Thread CFS löst O(1) Scheduler ab - verbessertes Antwortverhalten für interaktive Systeme - verwendet keine Heuristiken - sehr viel weniger schlanker bezüglich Programmcode Ziel-Laufzeit: "target scheduling latency" - wird gleichmässig auf Tasks aufgeteilt n Tasks 1/n der Laufzeit - mehr Tasks kleinere Ziel-Laufzeit aber minimale Lauftzeit garantiert (minimum garnularity) damit nicht mehr 100% fair Beispiel - target scheduling latency = 20ms, - 4 lauffähige Tasks - jeder Tasks kann für 5ms laufen, bevor er unterbrochen wird Group Scheduling - Gruppe wird gesamthaft wie ein Taks behandelt - Beispiel: ein einzelner Task und eine Gruppe mit 4 Tasks der einzelne Task erhält 50% der Laufzeit Gruppe erhält 50% der Laufzeit 29

30 ... Linux-Scheduling: Kernel CFS-Scheduling jeder Prozess besitzt eine vruntime (virtual run time, in ns) - vruntime mit gewichteter Laufzeit erhöht Gewicht = 1 für normale Tasks (nice level 0) physikalische Zeit = virtuelle Zeit - vruntime sinkt während Wartezeit proprotional zu 1/#Tasks Dispatching - Prozess mit kleinster vruntime eingeplant - überprüft Re-Scheduling in Clock-Zeitraster - Laufzeit ~ Gewicht bezogen auf Scheduling Latenz - Scheduling Latenz: Intervall während dem Task laufen sollte neue Prozesse - vruntime = Minimum aller vruntimes kann sofort starten 30 Scheduling Latency - Zeitintervall während dem jeder lauffähige Prozess mindesten einmal laufen sollte - /proc/sys/kernel/sched_latency_ns: ca. 20ms Minimale Scheduling Granularität - minimales Zeitintervall, während dem ein Prozess laufen muss - /proc/sys/kernel/sched_min_granularity: ca. 2ms Falls mehr Prozesse vorhanden sind, als so einplanbar sind, wird die Scheduling Latency proportional erhöht Die Scheduling Granularität innerhalb der Scheduling Latency wird proportional zum Gewicht eines Taks vergeben "slice" - alle Gewichte gleich: jeder erhält den gleichen "slice" 30

31 Windows Scheduling Priorität Scheduling: nur Threads Scheduling 31 Real-Time Prioritäten Round Robin pro Priorität Variable Prioritäten Multilevel Feedback 0 31 Windos 2000 Scheduling - es gibt kein eigentliches Scheduling Module, Code für Scheduling über ganzen Kernel verteilt - ausschliesslich Thread Scheduling (keine Prozesse) - Multilevel (feedback, dynamische Prioritäten) 32 Prioritätststufen, 2 Prioritätstklassen 16-31: 0-15: Real-Time, Round Robin Queue variable Prioritäten (0 System), Multilevel Feedback - unterstützt Real-Time Threads - unterstützt symmetrisches Multiprocessing 31

32 Multiprozessor Scheduling Uniprozessor Scheduling 1-dimensional Zeit - welcher Task läuft als Nächster Multiprozessor Scheduling 32 2-dimensional Zeit und Ort - welcher Task läuft als Nächster - auf welcher CPU einplanen Problemstellungen Load Balancing - benötigt Process Migration Prozessor Affinität - Caches, UMA/NUMA, etc. numa node 0 numa node 1 Anforderungen an Scheduler für Multiprozessor Systeme - Load Balancing CPU Last muss möglichst gleich verteilt werden Prozesse müssen zwischen CPUs verschoben werden können - Afinität Tasks sollten wenn möglich auf CPU gebunden werden können 32

33 ... Multiprozessor Scheduling Nicht verwandte Tasks einfachster Fall: 1 gemeinsamer Scheduler - Timesharing, Zeitquantum q - Tasks nach Prioritäten der CPU zugewiesen Eigenschaften - automatisches Load Balancing - eine gemeinsame Scheduling Datenstruktur Problemstellungen Task läuft lange auf CPU viele Daten ins Cache geladen - CPU-Wechsel Daten müssen neu geladen werden Task hält Spin-Lock, q läuft ab Task wird unterbrochen - Tasks die am Lock warten warten bis Task wieder läuft Lösungsansätze: Affinity Scheduling und Smart Scheduling 33 Lösungansätze für Problemstellungen - Affinity Scheduling Scheduler versucht Task immer auch gleicher CPU zu halten z.b. two-level scheduling Level 1: Task auf CPU mit z.b. kleinster Last gestartet Level 2: Task wird dann auf Stufe CPU scheduliert Nachteil ev. schlechet CPU Nutzung - Smart Scheduling Tasks, die Lock halten, setzen flag falls flag gesetzt Scheduler kann Task nicht unterbrechen 33

34 ... Multiprozessor Scheduling Verwandte Tasks Space Sharing mehrere Tasks (Threads) arbeiten zusammen Scheduling mehrerer Tasks über mehrere CPU's Einfachstes Verfahren non-preemptive gestarteter Task wird abgearbeitet CPU idle während Blocking Tasks nur starten wenn genügend CPU's verfügbar Vorteil / Nachteil - kein Overhead wegen Kontextwechsel - eher schlechtes Load Balancing Alternatives Verfahren zentrale Instanz (Server) überwacht Scheduling Anzahl Threads wird von Applikation dynamisch angepasst 34 Alternative Methode - eine zentrale Instanz verfolgt (Server) welche Threads laufen und welchen laufen möchten welches die Minmal- und Maximalanforderungen der Anwendungen bzgl. CPU's sind - die Anwendungen fragen periodisch beim Server nach, wie viele CPUs genutzt werden dürfen 34

35 ... Multiprozessor Scheduling Space Sharing/ Dedicated Processor Assignment Prozesse (Programme) werden CPU-Gruppen zugewiesen Anzahl CPU's = Anzahl Threads / Programm 8-CPU Gruppe 6-CPU Gruppe CPU Gruppe nicht zugewiesen 12-CPU Gruppe 35 Wird in clusterbasierten Systemen mir sehr vielen CPU's verwendet 35

36 ... Multiprozessor Scheduling Interagierende Threads Beispiel - Prozess A mit Threads A 0, A 1 - Prozess B mit Threads B 0, B 1 CPU 0 A 0 B 0 A 0 B 0 A 0 B 0 Anfrage Antwort Anfrage Antwort Anfrage Antwort CPU 1 B 1 A 1 B 1 A 1 B 1 A q = 10ms t 36 Zwei Prozesse: A und B - jeweils zwei Threads A 0 und A 1, resp. B 0 und B 1 - A 0 und B 0 werden CPU 0 zugewiesen, A 1 und B 1 CPU 1 A 0 und B 1 starten in gleichem Zeitquantum - Anfragen bzw. Antworten stehen erst zu Beginn des nächsten Time Slots zur Verfügung Problem - auch wenn Antwort sofort abgeschickt Datenaustausch nur alle 20ms 36

37 ... Multiprozessor Scheduling Interagierende Threads Beispiel - Prozess A mit Threads A 0, A 1 - Prozess B mit Threads B 0, B 1 CPU 0 A 0 B 0 A 0 B 0 A 0 B 0 Anfrage Antwort Anfrage Antwort Anfrage Antwort CPU 1 A 1 B 1 A 1 B 1 A 1 B q = 10ms t 37 Zwei Prozesse: A und B - jeweils zwei Threads A 0 und A 1, resp. B 0 und B 1 - A 0 und B 0 werden CPU 0 zugewiesen, A 1 und B 1 CPU 1 A 0 und B 1 starten in gleichem Zeitquantum - Anfragen bzw. Antworten stehen erst zu Beginn des nächsten Time Slots zur Verfügung Problem - auch wenn Antwort sofort abgeschickt Datenaustausch nur alle 20ms 37

38 ... Multiprozessor Scheduling Gang Scheduling Gruppe verwandter Threads gemeinsam schedulieren Gang Gang-Mitglieder - gleichzeitig auf verschiedenen CPU's aktiv - starten und beenden Time Slice gemeinsam CPU 0 CPU 1 CPU 2 CPU 3 CPU 4 CPU 5 q t 38 Idee Beispiel - wenn alle Threads zusammen laufen, gibt es keine Verzögerung beim Austausch von Information - 6 CPU's - 5 Prozesse mit mehreren Threads 6 Threads (blau) 3 Threads (pink) 3 Threads (grün) 2 Threads (dunkelblau) 4 Threads (gelb) Diskussion - Load Balancing "Auslastungslöcher" möglich - Affinity gleicher Thread auf gleicher CPU ev. Problem, wenn Gang nicht ready - muss nicht so extrem implementiert werden group scheduling 38

39 Zusammenfassung: Multiproc. Scheduling Multicore Scheduling berücksichtigt Load Balancing Affinity Synchronisation / Kommunikation zwischen verschiedenen CPU's Echte Parallelverarbeitung möglich, aber Spitzenleistung oft nicht ausgenutzt - Tasks meist nicht unabhängig Synchronisation / Kommunikation / gemeinsame Daten - strikte Affinität nicht durchsetzbar Programmierer z.z. für Parallelisierung verantwortlich 39 39

40 Real-Time Systeme Real-Time Systeme Systeme, die auf Ereignisse in der "äusseren Welt" reagieren Ereignisse finden in der "reellen Zeit" statt real-time intuitive Betrachtungsweise - das System muss schnell reagieren... was heisst schnell? Real-Time Systeme verhalten sich korrekt, wenn das logischen Resultat einer Berechnung stimmt das Resultat zum richtigen Zeitpunkt ausgeliefert wird (innerhalb einer Deadline) Klassierung Hard Real-Time Systeme Soft Real-Time Systeme 40 Anwendungen - Steuerung von Laborexperimenten, Prozesssteuerungen, Robotik, Luftfahrt, Fahrzeugesteuerungen, Telekom, etc. - real-time Systeme gewinnen zunehmend an Bedeutung Anforderungen - i.a. erhöhte Anforderungen an Zuverlässigkeit und Korrektheit des Systems als bei Desktop Systemen Hard Real-Time Systeme - Zeitbedingungen (Deadlines): müssen eingehalten werden - Nichteinhalten der Deadline hat schwerwiegende Konsequenzen Misserfolg oder Ausfall des Systems Voyager - Beispiel Flugzeugsteuerung, z.b. Landeanflug: 20m über Boden... Soft Real-Time Systeme - Zeitbedingungen (Deadlines): sollten eingehalten werden - Nichteinhalten der Deadline hat keine schwerwiegenden Konsequenzen - Beispiel Banküberweisungen Bank sollte Überweisung innerhalb einer Woche tätigen 40

41 Real-Time Systeme Typische Eigenschaft von Echtzeitsystemen zeitkritische Tasks wiederholen sich in regelmässigen Abständen die Dauer und die benötigten Betriebsmittel sind bekannt Beispiel: Flugzeugsteuerung Airbus A-340 die Steuerung benötigt verschiedene Flugdaten - Beschleunigung in x-, y- und z-richtung: alle 5ms - die drei Werte der Drehung: alle 40ms - die Temperatur: alle Sekunden - die absolute Position zur Kontrolle: alle 10s - Aktualisierung der Bildschirmanzeige: alle Sekunden 41 Real-Time Tasks - eine Instanz eines Real-Time Tasks löst i.a. eine in sich geschlossene Aufgabe - Instanz wird oft periodisch wiederholt - die Verarbeitungszeit und benötigten Ressourcen sind oft im voraus bekannt 41

42 Real-Time Tasks Drei Real-Time Task Klassen 1. kritische Tasks - periodische Tasks - asnychrone, sporadische Tasks 2. nicht kritische, aber notwendige Tasks 3. nicht notwendige Tasks (nice to have) Entsprechende Scheduling Verfahren wählen kritische Tasks - Rate Monotonic, Deadline nicht kritische Tasks - übliche Scheduling Kriterien nicht notwendige Tasks - im Hintergrund, in verbleibender Zeit ausführen 42 In Echtzeitsystemen gibt es nicht nur Real-Time Tasks, die auf die Umwelt reagieren müssen Task Klassen - kritische Tasks periodische Tasks: Video Rendering, Audioverarbeitung asynchrone, sporadische Tasks Air Bag: 10ms für Entscheid, nach 30ms aufgeblasen - nicht kritische Tasks need to have und nice to have abhängig von Funktionalität des Systems Beispiele Real-Time Tasks Selbsttests, Kalibrierung Auslastungsmonitore, Logging Visualisierung zeitlich nicht kritische Datenübertragung: z.b. erfasste Messdaten - sind meist "lightweight processes" - im wesentlichen Threads - arbeiten in gemeinsamem Adressraum gemeinsame Daten kein Kontextwechsel notwendig Umschaltung effizient 42

43 Real-Time Scheduling Short-Time Scheduler eine der wichtigsten Komponenten eines Real-Time Systems Scheduling Strategie abhängig von Systemanforderungen - Hard-Real Time Systeme - Soft-Real Time Systeme - periodische Tasks vs. asynchrone Tasks Betrachten im folgenden Rate Monotonic Scheduling Deadline Scheduling Cyclic Excutives preepmtive statisch 43 43

44 Rate Monotonic Scheduling (RMS) Preemptives Verfahren für periodische Tasks Cycle 1 Cycle 2 Processing Processing t Task A execution time C j Task A period T j Idee statische Priorität eines Jobs proprotional zu Repetitionsrate 1973 von Liu und Layland vorgeschlagen high Priority low Rate = 1/T Hz 44 Rate Monotonic Scheduling - preemtive Tasks müssen unterbrechbar sein - Priorität proportional zur Repetitionsrate Tasks müssen periodisch sein - statische Zuweisung von Prioritäten Tasks müssen unabhängig sein: müssen gegenseitig nicht aufeinander warten (z.b. Resultate, etc.) 44

45 U tot - Auslastung des Prozessors durch mehrere periodische Tasks Rate Monotonic Scheduling Was ist daran so interessant? Grenze für erfolgreiches Scheduling kann berechnet werden Vorgehen Prozessorauslastung U j durch periodischen Task j, ( U j 1) : C U j = T j j C j Rechenzeit T j Periode gesamte Prozessorauslastung U tot bei n periodischen Tasks U tot C1 C2 C3 Cn = T T T T n 45 - U j = Rechzeit pro Periode muss kleiner als 1 sein 45

46 Rate Monotonic Scheduling Obige Formel zu optimistisch, nur bei perfektem Schedule möglich Korrekter Schedule für n Tasks garantiert bei Einhaltung folgender Grenze U Diskussion C 1 1 C2 C3 Cn n (2 1) T T T T n tot = n eher konservativ, besserer Auslastung möglich Scheduling Algoritmus beliebig Grenzwert für n : U tot = ln konkrete Anwendungen: Auslastung bis 90% realistisch 46 Bei Einhaltung obiger Grenze - Schedule immer garantiert - aber eher konservativ für grosse n nur 70% CPU Auslastung falls Sie sich das leisten können kein Problem 46

47 Rate Monotonic Scheduling C j T j U tot = = P.S. Wie gross ist die Repetitionsrate des Schedules? kgv 47

48 Deadline Scheduling Idee Tasks zum richtigen Zeitpunkt starten resp. beenden Mögliche Deadlines Start-Deadline - Zeitpunkt zu dem ein Task gestartet werden muss Completion-Deadline - Zeitpunkt an dem der Task beendet sein muss Earliest Deadline Scheduling Priorität umgekehrt proportional zur Zeit bis Deadline Scheduling aufwendiger als bei RMS - Prioritäten müssen dynamisch angepasst werden theoretisch 100%-tige Prozessorauslastung möglich 48 48

49 Earliest Deadline Scheduling C i T i Rescheduling - hier alle 5 Zeiteinheiten - wenn sich Task suspendiert 49 Beispiel zu Earliest Deadline Scheduling - Rescheduling alle 5 Zeiteinheiten wenn Task sich suspendiert (Tasks sind periodisch) - bei gleichen Prioritäten z.b. höhere Repetitionsrate bevorzugen 49

50 Cyclic Executives Eigenschaften statisches Scheduling non-preemtive Schedule für periodischen Hauptzyklus (100ms) - mehrere Nebenzyklen (hier 4, 25ms) Realisierung: Aufruf von Prozeduren Task C i T i T T T T T P 5 P 4 P 3 P Beispiel - Hauptzyklus und 4 Nebenzyklen - Hauptzyklus 100T, jeder Nebenzyklus 25T Diskussion - manchmal schwierig einen sinnvollen Schedule zu finden (abhängig von Task- Struktur) Pseudo Code für Realisierung: timer event alle 25T MainLoop: wait; // wait for timer event call T1_T2; call T3; wait; // wait for timer event call T1_T2; call T4; wait: // wait for timer event call T1_T2 call T3 wait: // wait for timer event call T1_T2 call T4 jump MainLoop; 50

51 RT-Linux: Foreground-/Background-Scheduling init shell X11 System-Bibliotheken Treiber Linux RT-task RT-task Scheduler RTLINUX Hardware 51 Antwortzeiten in der Grössenordnung von Mikrosekunden - abhängig von Treibern: wie lange wird die CPU blockiert - abhängig von anderen RT-tasks Kritische real-time Tasks foreground tasks - Threads - Direktzugriff auf Hardware Interrupts Nicht kritische Tasks background tasks - Linux traditionell als "task" - Visualisierung - Vernetzung - etc. 51

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

Windows CE. Process Control and Robotics. Fabian Garagnon

Windows CE. Process Control and Robotics. Fabian Garagnon Windows CE Process Control and Robotics Fabian Garagnon 14.01.2009 Agenda 3 Geschichte & Timeline Echtzeit & Multithreading Architektur Memory Management & Context Switch Entwicklung unter CE Interrupts

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

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

5) Realzeitscheduling

5) Realzeitscheduling Inhalte Anforderungen Klassifizierungen Verschiedene Verfahren: FIFO, Round Robin, Least Laxity, EDF, fixed/dyn. Prio. Beispiele und Aufgaben Seite 1 Motivation Gegeben: Ein Einprozessorsystem, das Multiprogrammierung

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

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

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

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

RealTime Linux. Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam

RealTime Linux. Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam RealTime Linux Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam Übersicht 2 Standard-Kernel Dual-Kernel RTAI/LXRT In-Kernel

Mehr

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016 Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i

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

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

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

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

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

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

(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

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

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 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

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST Modellbasierte Generierung von statischen Schedules für sicherheitskritische, eingebettete Systeme mit Multicore Prozessoren und harten Echtzeitanforderungen J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim

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

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

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

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

Übung Betriebssysteme 11

Übung Betriebssysteme 11 Übung Betriebssysteme 11 Christian Motika Christian-Albrechts-Universität zu Kiel Institut für Informatik AG Echtzeitsysteme / Eingebettete Systeme Kiel, Germany 29-JAN-2013 CAU - WS 2012/13 Übung Betriebssysteme

Mehr

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

POSIX Echtzeit: Kernel 2.6 und Preempt-RT POSIX Echtzeit: Kernel 2.6 und Preempt-RT Slide 1 - http://www.pengutronix.de - 21.01.2007 Echtzeit-Systemplanung Wenn das zeitliche Verhalten spezifiziert ist, kann auch spezifiziert werden, welche Applikationsteile

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

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede

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

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 (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

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

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

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS

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

Scheduling. Teil 2. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Teil 2. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Teil 2 Prof Dr Margarita Esponda Freie Universität Berlin WS 2011/2012 Multilevel Feedback Queue Scheduling Vier Prioritätsklassen Beispiel: neue Prozesse Quantum = 4 Höchste Priorität Quantum

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

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

TI Übung 5. Prozess-Scheduling. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm

TI Übung 5. Prozess-Scheduling. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm TI Übung 5 Prozess-Scheduling Andreas I. Schmied (schmied@inf...) Abteilung Verteilte Systeme Universität Ulm SS2005 Und nun... Wiederholung 1 Wiederholung Andreas I. Schmied (schmied@inf...) TI Übung

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

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

Praktikum 1: Parallel Computing Hardware

Praktikum 1: Parallel Computing Hardware Praktikum 1: Parallel Computing Hardware M.Thaler, 2/2016, ZHAW 1 Einführung Ziel dieses Praktikum ist es, sie vertraut zu machen mit: Informationen zur verwendeten Prozessor-Hardware Messung und Analyse

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 / 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

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

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

Performance Messungen von FreeRTOS und

Performance Messungen von FreeRTOS und Performance Messungen von FreeRTOS und µc/os-iii auf ARM-Architekturen Tim Wacher (wht4@bfh.ch) Master of Science in Engineering MRU Production Technology 16. August 2011/ CH-3400 Burgdorf Outline 1 Ziel

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

Redwood Cronacle und REALTECH theguard! Integration

Redwood Cronacle und REALTECH theguard! Integration Redwood Cronacle und REALTECH theguard! Integration Einleitung Redwood Software und REALTECH haben gemeinsam eine Lösung entwickelt, die die Systemverfügbarkeit von SAP und mysap Systemen signifikant erhöht.

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

Prozesse und Threads. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Prozesse und Threads. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Prozesse und Threads Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Ziel: Gleichzeitiges, kontrolliertes Ausführen von Programmen auf einem Rechner Welche Mechanismen sind

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

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

Kapitel III. Prozessverwaltung. VO Betriebssysteme

Kapitel III. Prozessverwaltung. VO Betriebssysteme Kapitel III Prozessverwaltung V 1 Was ist ein Prozess? Prozesse ein exekutierendes Programm (aktive Einheit) ein Prozess benötigt Ressourcen: CPU-Zeiten, Speicher, Files, I/O Systeme Betriebssystem ist

Mehr

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

Mehr

Vorl. 6: Single- und Multitasking

Vorl. 6: Single- und Multitasking Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorl. 6: Single- und Multitasking Peter B. Ladkin Single Tasking Command Interpreter (ComInt) läuft wartet auf Tastatur-Eingabe

Mehr

Embedded OS für ARM Cortex Microcontroller

Embedded OS für ARM Cortex Microcontroller Embedded OS für ARM Cortex Microcontroller RTOS Design, Timinganalyse und Test mit Core Simulation und Hardware Debugger Entscheidende Fragen für oder gegen RTOS Lohnt sich der Einsatz eines RTOS auch

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

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

Mehr

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

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

Seminar: Mobile Geräte QNX Einführung

Seminar: Mobile Geräte QNX Einführung Seminar: Mobile Geräte QNX Einführung Vortragender: Alex Maurer 2010/2011 Philipps Universität Marburg Echtzeitbetriebssystem QNX QNX ist ein RTOS (Real Time OS) vorhersagbares Zeitverhalten niedrige Latenz

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

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

Dynamic Ressource Management

Dynamic Ressource Management best Open Systems Day Fall 2006 Dynamic Ressource Management Unterföhring Marco Kühn best Systeme GmbH kuehn@best.de Agenda Überblick Dynamic Resource Pools und FSS Dynamic Resource Memory RCAP Oracle

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

Motivation kooperativer Fadenwechsel präemptiver Fadenwechsel Arbeitsteilung Ablaufplanung

Motivation kooperativer Fadenwechsel präemptiver Fadenwechsel Arbeitsteilung Ablaufplanung Betriebssysteme (BS) Überblick: Vorlesungen Anwendung(en) Fadenverwaltung Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Gerätezugriff (Treiber) Kontrollflussabstraktion

Mehr

Ein Laufzeitsystem für hochgradig parallele Simulationen

Ein Laufzeitsystem für hochgradig parallele Simulationen Ein Laufzeitsystem für hochgradig parallele Simulationen Luc Bläser ETH Zürich / LBC Informatik Seminar für Verkehrssimulation TU Berlin, 6. Juni 2008 Motivation Parallele Simulation Selbstaktive Agenten

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

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

Zusammenfassung Modul 223

Zusammenfassung Modul 223 Zusammenfassung Modul 223 von Christian Roth Powered by Schuschu Bison Schweiz AG, Surentalstrasse 10, CH-6210 Sursee, www.bison-group.com Inhaltsverzeichnis 1 Entwurfmuster... 3 1.1 Singleton... 3 1.1.1

Mehr

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1 CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig

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

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

Mehr

Dipl.-Inf. J. Richling Wintersemester 2003/2004. Weiche Echtzeit

Dipl.-Inf. J. Richling Wintersemester 2003/2004. Weiche Echtzeit Dipl.-Inf. J. Richling Wintersemester 2003/2004 Weiche Echtzeit Wiederholung - Resultat/Wert-Funktion "harte" Echtzeit Wert Zeit Wert Zeit Wert Deadline Zeit "weiche" Echtzeit Wert Deadline Zeit Deadline

Mehr

OSEKtime - Time-Triggered OSEK/OS

OSEKtime - Time-Triggered OSEK/OS OSEKtime - Time-Triggered OSEK/OS Gregor Kaleta gregor.kaleta@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung OSEKtime Task-Zustandsmodell, Scheduling-Verfahren Interrupt-Verarbeitung

Mehr

Prozesse, CPU Umschalten, Dispatching und Scheduling

Prozesse, CPU Umschalten, Dispatching und Scheduling Prozesse, CPU Umschalten, Dispatching und Scheduling Aktive Elemente SS2001 Prof. H. D. Clausen - unisal 1 Prozesse Prozess - Programm in Ausführung sequentielle Programmausführung quasi-simultane Abwicklung

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

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) Kontrollflussverwaltung Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os

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

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme - Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 13: Echtzeit-Primärspeicherverwaltung CSI Technische Universität Ilmenau www.tu-ilmenau.de

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