Scheduling. Scheduling Tanenbaum Kap. 2.4, Stallings Kap , Glatz Kap. 3.4
|
|
- Sofie Wetzel
- vor 7 Jahren
- Abrufe
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 Sommersemester 2015 Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen
MehrProzesse 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.
MehrSysteme 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
MehrBetriebssysteme 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
MehrBegriff: 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
MehrScheduling. 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
MehrSysteme 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
MehrRound-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
MehrTechnische 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
MehrBetriebssysteme 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 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein
MehrBetriebssysteme (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
Mehr5 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
MehrDä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
MehrDer 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
MehrBetriebssysteme. 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
MehrScheduling 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
MehrWindows 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
MehrSchedulingalgorithmen 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
MehrBetriebssysteme. 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,
Mehr5) 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
MehrBetriebssysteme 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
Ü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
Mehr3. 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
MehrEchtzeitscheduling (1)
Echtzeitscheduling (1) Scheduling in Betriebssystemen Ressourcenausteilung (CPU, Speicher, Kommunikation) Faire Ressourcenvergabe, insbesondere CPU Hohe Interaktivität / kurze Reaktionszeit für interaktive
MehrRealTime 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
MehrVerteilte 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
MehrTask 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
Mehr13. Ü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
MehrEchtzeitprogrammierung 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
MehrHausü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
MehrOperating 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
MehrEin 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 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
MehrInhaltsverzeichnis. 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
MehrQuantitative 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
MehrSysteme 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
MehrJ. 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
Mehr8. 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
MehrEchtzeitfä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
MehrSystemsoftware (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
MehrScheduling-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 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
MehrPOSIX 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
MehrScheduling. 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
MehrModerne 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
MehrProzesse 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
MehrHausü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
MehrBetriebssysteme (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/
MehrARM 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
MehrDatentechnik. => 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
MehrAusarbeitung 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
MehrBetriebssysteme. 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,
MehrScheduling. 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
MehrWelche 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
MehrProgramme 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
MehrTI Ü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?
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
MehrKlassisches 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
MehrPraktikum 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
MehrRTEMS- Echtzeitbetriebssystem
RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-
MehrOSEK / 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
MehrB.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.
MehrEmbedded-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
MehrPerformance 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
MehrDomä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,
MehrRedwood 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.
MehrReal-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
MehrProzesse 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
MehrVorbereitung 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
MehrBetriebssysteme 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
MehrKapitel 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
MehrKlausurvorbereitung 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
MehrVorl. 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
MehrEmbedded 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 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein
MehrA 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....................................
MehrWas 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
MehrVerteilte 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
MehrSeminar: 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
MehrPrü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
MehrEchtzeitanforderung 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
MehrDynamic 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
MehrVon 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
MehrMotivation 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
MehrEin 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
MehrProjekt 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
MehrScheduler. 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
MehrZusammenfassung 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
MehrCUDA. 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
MehrApproximation 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
MehrDie 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:
MehrDipl.-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
MehrOSEKtime - 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
MehrProzesse, 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
MehrBetriebssystembau (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
MehrBetriebssystembau (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
MehrProzesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände
Prozesseinplanung Kurzfristige Einplanung Systemaufrufe Programmverwaltung Zugriffskontrolle Dateiverwaltung Ein /Auslagerung Vernetzung Ein /Ausgabe Fadenverwaltung Koordination Prozesseinplanung Prozessabfertigung
MehrVerteilte 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
MehrOSEK / 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