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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Betriebssysteme Sommersemester 0. Einführung Betriebssysteme. Kapitel Scheduling Prof. Matthias Werner Professur Betriebssysteme Scheduling (etwa: Ablaufplanung): Zeitliche Zuordnung von Aktivitäten zu Ressourcen m Bereich Betriebssysteme ist meist gemeint, welcher Prozess wann auf welchen Prozessor(kern) ausgeführt wird Scheduling tritt jedoch auf verschiedenen Granularitätsebenen auf, z.b. Wann sollen Programme gestartet werden? Abwicklung Wann soll ein Prozess eine CPU erhalten? Scheduler Wann soll ein bestimmter Befehl einer Befehlsfolge ausgeführt werden Prozessor in Pipelining- bzw. Superskalararchitekturen Scheduling-Theorie ist wesentlich älter als der Computer und wurde z.b. in der Bauplanung benutzt SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Einführung Klassisches Scheduling-Problem 6 Prozesse Prozessoren T T T T T T6 P P Ablaufplanlänge (makespan) T T T T Zuordnung? P P P. Einführung Strategie und Mechanismus Beim Scheduling muss unterschieden werden: Strategie (policy): Die prinzipielle Entscheidung, welcher Prozess wann geplant wird Mechanismus: Die Art und Weise, mit der die Strategie durchgesetzt wird n Mikrokernelsystemen ist der Mechanismus stets im Kern, während die Strategie auch im Nutzerbereich angesiedelt werden kann Auf dieses Weise kann die Strategie leicht angepasst werden Den Mechanismus haben wir schon im Kapitel n diesem Kapitel betrachten wir die Scheduling-Strategie P T T6 Gantt-Diagramm SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de

2 . Einführung. Einführung Ziele Schema des Schedulings Die Scheduling-Strategie kann beträchtlichen Einfluss auf die Leistung eines Rechnersystems besitzen Die Auswahl einer Strategie hängt von den Zielen ab, die im System verfolgt werden sollen Mögliche Ziele hohe Effizienz Prozessor gut ausgelastet geringe Antwortzeit bei interaktiven Prozessen hoher Durchsatz bei Stapelbetrieb (batch-processing) Fairness gerechte Verteilung der Prozessorleistung und Wartezeit unter die Prozesse... Neuankömmling bzw. verdrängter Prozess... Einordnen gemäß Strategie nächster Prozess Prozessoren... SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 6 / 9 osg.informatik.tu-chemnitz.de. Einführung Bedienzeit vs. Antwortzeit. Einführung Problemparameter Taskankunft warten rechnen Ende Wartezeit (waiting time) Antwortzeit (response time) Bedienzeit (execution time) Ein- oder Mehrprozessorsystem? Statische oder dynamische Prozessmenge? On-line oder off-line Scheduling? Verdrängung möglich? Ausführungszeiten bekannt? Welche Abhängigkeiten zwischen Prozessen? Welche(s) Ziel(e)? Anmerkung Mitunter wird in der Schedulingtheorie zwischen Task und Job unterschieden. Dieser Unterschied wird in dieser Vorlesung nicht gemacht. SoSe 0 M. Werner 7 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 8 / 9 osg.informatik.tu-chemnitz.de

3 . Standardstrategien. Standardstrategien First Come First Serve Nutzen durchgängiges Beispiel Gegeben seien folgende fünf Prozesse Nr. Ankunft a Bedienzeit t e Priorität P FCFS auch FFO (First n First Out) Arbeitsweise: Bearbeitung der Prozesse in der Reihenfolge ihrer Ankunft in der Bereitliste Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe Anmerkung: Entspricht der Alltagserfahrung a a a a a SoSe 0 M. Werner 9 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 0 / 9 osg.informatik.tu-chemnitz.de. Standardstrategien Last Come First Served LCFS, Arbeitsweise: Bearbeitung der Prozesse in der umgekehrten Reihenfolge ihrer Ankunft in der Bereitliste Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe Anmerkung: n dieser reinen Form selten benutzt. a a a a a SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Standardstrategien Last Come First Served Preemptive Resume LCFS-PR, Arbeitsweise: Neuankömmling in Bereitliste verdrängt den rechnenden Prozess Verdrängter Prozess wird hinter dem verdrängendem Prozess in die Warteschlange eingereiht Falls keine Ankünfte Abarbeitung der Liste ohne Verdrängung Anmerkung: Ziel ist die Bevorzugung kurzer Prozesse Kurzer Prozess hat Chance, noch vor nächster Ankunft fertig zu werden Lange Prozesse werden u.u. mehrfach verdrängt a a a a a SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de

4 . Standardstrategien Last Come First Served Preemptive Resume (Forts.) Stärken von FCFS-PR kommen im Beispiel-Taskset nicht voll zum tragen Betrachten daher folgende Prozesse: 6 Nr. Ankunft a Bedienzeit t e Nr. Ankunft a Bedienzeit t e a a a a a a Task und Task werden vor einer möglichen Verdrängung fertig SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de Round Robin. Standardstrategien RR, Arbeitsweise: Bearbeitung der Prozesse in Ankunftsreihenfolge Nach Ablauf einer vorher festgesetzten Frist τ (Zeitscheibe, time slice, CPU-quantum) findet eine Verdrängung statt und es wird auf den nächsten Prozess umgeschaltet Anmerkung: Ziel des Verfahrens ist die gleichmäßige Verteilung der Prozessorkapazität und der Wartezeit auf die Prozesse Wahl der Zeitscheibenlänge τ ist Optimierungsproblem Für großes τ nähert sich RR der Reihenfolgestrategie FCFS Für kleines τ schlägt der Aufwand für das häufige Umschalten negativ zu Buche Üblich sind Zeiten im msec-bereich SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Standardstrategien Round Robin (Forts.) τ = a a a a a a a a a a Standardstrategien Priorities Nonpreemptive PRO-NP, Arbeitsweise: Neuankömmlinge werden nach ihrer Priorität in die Bereitliste eingeordnet Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe Prio. a a a a a τ = SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 6 / 9 osg.informatik.tu-chemnitz.de

5 . Standardstrategien. Standardstrategien Priorities Preemptive Effekt von Priorita ten PRO-P, Arbeitsweise: Wie PRO-NP, jedoch mit Verdra ngungspru fung: der rechnende Prozess wird verdra ngt, wenn er geringere Priorita t hat als der Neuanko mmling a a 0 a a a Modellierung mit Warteschlangentheorie λ Ankunftsrate (# Anku nfte pro Zeiteinheit) á Poisson-Prozess te Bedienzeit (reine Rechenzeit) á Exponentialverteilung tw Mittlere Wartezeit tq Mittlere Antwortzeit, tq = tw + te t trn Normalisierte Antwortzeit, trn = teq = + ttew ρ Auslastung, ρ = λ te Prio. SoSe 0 M. Werner 7 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner. Standardstrategien osg.informatik.tu-chemnitz.de. Standardstrategien Effekt von Priorita ten (Forts.) 8 / 9 Effekt von Priorita ten (Forts.) Klassen, te = te, λ = λ Normalisierte Antwortzeit fu r lange Bedienzeiten (= niedrige Priorita t): Klassen, te = te, λ = λ Normalisierte Antwortzeit fu r kurze Bedienzeiten (= hohe Priorita t): FCFS trn trn PRO-NP PRO-P ρ ρ SoSe 0 M. Werner 9 / 9 osg.informatik.tu-chemnitz.de Mehr in Betriebssysteme SoSe 0 M. Werner 0 / 9 osg.informatik.tu-chemnitz.de

6 . Standardstrategien Shortest Job Next SJN, auch SPN (shortest Prozess next) Arbeitsweise: Prozess mit der kürzesten Bedienzeit wird als nächster bis zum Ende oder zur freiwilligen Aufgabe bearbeitet Wie PRO-NP, wenn man die Bedienzeit als Prioritätskriterium verwendet Anmerkung: SJN und SRTN haben den Nachteil, dass sie Kenntnis der Bedienzeit benötigen, die nur vom Benutzer in Form einer Schätzung stammen kann Längere Prozesse können verhungern, wenn stets kürzere vorhanden sind a a a a a Standardstrategien Shortest Remaining Time Next SRTN, Arbeitsweise: Prozess mit der kürzesten Restbedienzeit wird als nächster bearbeitet Rechnender Prozess kann verdrängt werden Anmerkung: Bevorzugt kurze Prozesse und führt daher zu kürzeren mittleren Antwortzeiten als FCFS a a a a a SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Standardstrategien Highest Response Ratio Next. Standardstrategien Highest Response Ratio Next (Forts.) HRN, Arbeitsweise Das Anwortverhältnis (response ratio) r ist definiert als a a a a a r r = tw + te t e mit t w: Wartezeit, t e: Bedienzeit rr wird dynamisch berechnet und als Priorität verwendet Prozess mit größtem rr-wert wird als nächster ausgewählt Strategie ist nicht verdrängend Anmerkungen Wie bei SJN werden kurze Prozesse bevorzugt, lange Prozesse müssen aber nicht ewig warten, sondern können durch Warten Punkte sammeln Wieder muss Bedienzeit bekannt sein SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de

7 Feedback. Standardstrategien FB, auch multilevel feedback Arbeitsweise: Kennt man die Bedienzeit a priori nicht, möchte aber lang laufende Prozesse benachteiligen, so kann man den Prozess nach jeder CPU-Benutzung in seiner Priorität schrittweise herabsetzen Mehrere Warteschlangen, bei denen die niederprioren (größeres i) nur abgearbeitet werden, wenn höherpriore (kleineres i) leer sind Die einzelnen Warteschlangen werden z.b. nach FCFS oder Round-Robin verwaltet Unterschiedliche Zeitscheibenlängen τ sind möglich, z.b. τ = i niedrigere Prioritäten bekommen längere Abschnitte. Standardstrategien Feedback (Forts.) τ = a a a a a Zugang Warteschlange Abgang a a a a a Warteschlange Warteschlange n Abgang Abgang τ = i SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 6 / 9 osg.informatik.tu-chemnitz.de. Standardstrategien Standardstrategien (Übersicht). Fallbeispiele Fallbeispiele realer Scheduler bedienzeitunabhängig bedienzeitabhängig ohne Prioritäten ohne Verdrängung mit Prioritäten ohne Prioritäten FCFS, LCFS PRO-NP LCFS-PR, RR, FB SJN, HRN SRTN mit Verdrängung mit Prioritäten PRO-P Wir betrachten: Klassisches Unix-Scheduling Linux-Scheduler Windows-NT-Scheduler SoSe 0 M. Werner 7 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 8 / 9 osg.informatik.tu-chemnitz.de

8 . Fallbeispiele Klassisches Unix-Scheduling Ähnlicher Ansatz in. BSD und System V Release Unterschied vorwiegend in Parametern Hier:. BSD auf VAX Prinzipieller Ansatz: Feedback mehrere Queues nnerhalb einer Queue: Round Robin Ziel: Allgemeine Fairness bei Bevorzugung interaktiver Jobs Queues werden Prioritäten zugeordnet (0... 7) Kleine Werte hohe Priorität Große Werte niedrige Priorität Festlegung der Priorität (Queue) in Abhängigkeit von... CPU-Nutzung durch den Prozess Gesamtbelastung der CPU Nutzervorgabe. Fallbeispiele Feedback Queues in UNX höchste Priorität (0...) niedrigste Priorität (...7) Zusammenfassung von vier Prioritäten in einer Queue Round-Robin innerhalb der Prioritätsklassen (Queues) n manchen UNX-Varianten sind höhe Prioritätsklassen nicht unterbrechbar SoSe 0 M. Werner 9 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 0 / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele Alterung Typische Zeitverhältnisse (VAX): Timertick: 00 Hz Berechnung der Priorität: Hz Zeitscheibe für Round Robin: 00 ms Wechsel mit 0 Hz Glättung der Alterung Hz Pro Timertick wird der Wert L CPU im PCB des running Prozesses um erhöht Bei jedem vierten Timertick wird die Priorität des laufenden Prozesses wie folgt berechnet: P J = min(p base + LCPU + p nice, 7) Dabei ist Pbase die Basispriorität, 0 für ein Nutzerprogramm in. BSD Während besonderer Situationen (/O, Swapping,...) haben Prozesse andere Basisprioritäten pnice ein nutzerwählbare Wichtigkeit, SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele Alterung (Forts.) Wenn ein Prozess eine Priorität in einer anderen Prioritätsklasse bekommt, wird er in die andere Queue umsortiert Diesen Vorgang nennt man Alterung: starke Prozessorbenutzung führt zu einer schlechten Priorität! Rechenintensive Prozesse werden benachteiligt /O-intensive Prozesse werden bevorzugt: Sie belegen den Prozessor nur kurz, um einen E/A-Auftrag abzusetzen Man erreicht dadurch eine hohe Parallelität zwischen den aktiven Rechnerkomponenten (CPU und Peripherie) n einigen UNXen wird /O zusätzlich belohnt SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de

9 Glättung. Fallbeispiele Mit der Zeit wächst LCPU und damit die Priorität alle (hinreichend lange laufende) Prozesse hätten nach einiger Zeit hohe (schlechte) Prioritätswerte Kompensation: Glättung des Wertes der Prozessornutzung L CPU einmal pro Sekunde Reduzierung des Einflusses der letzten Rechenzeiten (Dämpfungsfilter) L CPU = l RQ l RQ + L CPU + p nice l RQ : Durchschnitt der Länge der Ready-Queue während der letzten Minute Dämpfung ist abhängig von der Last des Systems SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele Glättung (Forts.) Auswirkung der Systemlastanpassung Beispiel: Einzelner Prozess, sammelt c i Timerticks in der i. Sekunde an, p nice = 0 L () CPU = c0 L () CPU = (c + ) c0 = c + 9 c0 L () CPU = c + 9 c c0 L () CPU = c + 9 c c c0 L () CPU = c + + c0 0, Nach fünf Sekunden gehen nur noch etwa % der Altlast ein SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele Glättung (Forts.) Diskussion. Fallbeispiele Sonderfall: blockierte (schlafende) Prozesse erhalten keine Timerticks Bei Schlaf länger als eine Sekunde nach dem Aufwecken: L CPU = ( ) tsleep lrq L CPU l RQ + t sleep wird einmal pro Sekunde inkrementiert Schnelle Ermittlung des nächsten Prozesses bei vielen Prozesse mit unterschiedlicher Priorität aufwendige Neuberechnung der Priorität u. U. Entnahme und Neueinreihen in Queue anderer Priorität Neuberechnung der Priorität nur für den aktuellen Prozess Berücksichtigung der aktuellen Last keine Echtzeit-Priorisierung SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 6 / 9 osg.informatik.tu-chemnitz.de

10 . Fallbeispiele Linux-Scheduling Epochen. Fallbeispiele Betrachten zunächst Linux. Prozessverwaltung über doppelt verkettete Listen: Liste zur Verwaltung aller Prozesse Liste zur Verwaltung aller bereiten Prozesse (ready to run) Drei Prozessklassen Konventionelle Prozesse: nteraktive Prozesse und Batch Prozesse (Batch Jobs) FFO-Echtzeit-Prozesse RR-Echtzeitprozesse Grundlage: (eine Art) priorisiertes Round-Robin für alle konventionellen Prozesse First-n-First-Out für FFO-Echtzeit-Prozesse, Round-Robin für RR-Echtzeitprozesse Prozessen zugewiesene Prozessorzeit ist in Epochen unterteilt Epochenbeginn: alle lauffähige Prozess haben ihr Zeitquantum erhalten Epochenende: alle lauffähigen(!) Prozesse haben ihr Zeitquantum verbraucht Zeitquanten (Zeitscheiben) variieren mit den Prozessen und Epochen jeder Prozess besitzt eine einstellbare Zeitquantumbasis nice() 0 Ticks 0 ms das Zeitquantum eines Prozesses nimmt periodisch (Tick) ab Der Linux-Scheduler berechnet die Güte (goodness) jedes laufbereiten Prozesses und wählt aus Güte = 0: Prozess hat sein Quantum verbraucht 0 Güte 000: konventioneller Prozess mit Restquantum in dieser Epoche Güte 000: Echtzeit-Prozess SoSe 0 M. Werner 7 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 8 / 9 osg.informatik.tu-chemnitz.de Gütefunktion. Fallbeispiele Diskussion. Fallbeispiele static inline intgoodness (p, this_cpu, this_mm ) { int weight = -; verbleibende Zeit in der Epoche if (p-> policy == SCHED_OTHER ) { weight = p-> counter ; if (! weight ) goto out; if (p->mm == this_mm!p->mm) weight += ; } weight += 0 -p-> nice ; goto out; } weight = p-> rt_priority ; out: return weight ; Schnelle Ermittlung des nächsten Prozesses bei wenigen Prozessen Bearbeitung aller Prozesse bei Ermittlung des nächsten Prozesses Bearbeitung aller Prozesse bei nitialisierung der Prioritäten bei Ende einer Epoche Ansatz einer Echtzeit-Priorisierung Problem: Laut Benchmarking verbringt der Kern 7-% in der goodness-funktion schlechte Skalierbarkeit kernel/sched.c (Linux..0) SoSe 0 M. Werner 9 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 0 / 9 osg.informatik.tu-chemnitz.de

11 . Fallbeispiele Linux-O()-Scheduler. Fallbeispiele Linux-O()-Scheduler (Forts.) Probleme führten zur Entwicklung des O()-Schedulers ab Linux.6 Ziele: Bessere Skalierbarkeit SMP Eine Run-Queue pro Prozessor mit zwei Prioritäts-Arrays: Array für alle Prozesse mit positivem Quantum Array für alle Prozesse mit verbrauchtem Quantum Jedes Array besteht aus einer Bitmap und eine Queue von lauffähigen Prozessen für jeden Prioritätslevel ein Bit für jeden Prioritätslevel Vertauschen des Pointers zwischen den beiden Arrays, wenn keine Prozesse mit Quantum mehr vorhanden Wieder hat jeder Prozess ein Zeitquantum Quantum hängt von Priorität ab # define BASE_TMESLCE (p) ( MN_TMESLCE + \ (( MAX_TMESLCE - MN_TMESLCE ) * \ ( MAX_PRO - - (p)->static_prio ) / ( MAX_USER_PRO -))) Priorität wird bei Start zugeordnet (nice) und ändert sich um maximal ± CPU-bound Prozesse werden bestraft /O-bound Prozesse (mit /O) werden belohnt Zusätzlich: nteraktive Prozesse erhalten jede Millisekunde ihr Quantum aufgefüllt SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele. Fallbeispiele Prioritätsarray Auch Windows (NT und folgende) verwendet eine verdrängende, auf Prioritäten und Zeitscheiben beruhende Umschaltstrategie Es werden Prioritätsklassen unterschieden: 6- für Echtzeitprozesse - für normale Prozesse 0 für den Leerlaufprozess Finden des höchstpriorisierten Prozesses reduziert sich auf Finden des ersten gesetzten Bites unabhängig von Anzahl der Prozesse find first set() kann effizient implementiert werden nnerhalb einer Priorität wird Round Robin genutzt SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de Die Standard-Zeitscheibenlänge ist bei Workstation-Systemen 6 Einheiten, bei Server-Systemen 6 Einheiten lang Bei jeder Unterbrechung von der Hardware-Uhr (clock tick) wird die aktuelle Zeitscheibenlänge um Einheiten dekrementiert Die Uhrauflösung ist bei ntel-prozessoren ca. 0- msec, d.h. eine Zeitscheibe ist 0-0 msec bei einer Workstation und 0-80 msec bei einem Server SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de

12 Preemption. Fallbeispiele. Fallbeispiele Windows-Scheduling Wird ein Prozess laufbereit, der eine höhere Priorität hat als der derzeitig laufende, wird der laufende verdrängt Verdrängte Prozesse werden an den Anfang der Warteschlange des Prioritätslevels gestellt Normale Prozesse behalten ihr Restquantum Echtzeitprozesse erhalten ihr Quantum aufgefüllt Dagegen werden Prozesse mit verbrauchten Quantum ans Ende der Warteschlange gestellt Falls ein Prozess eine Priorität über seiner Basispriorität hat, wird die Priorität dekrementiert Auch in Windows werden Prioritäten dynamisch angepasst m Gegensatz zu UNX werden Prioritäten temporär erhöht priority boost Dies geschieht... nach Beendigung eines E/A-Auftrags nach Warten auf Events, wait(), Semaphore etc. bei GU-Prozess nach einer Fenster-Aktivität wenn ein Prozess sehr lange (- Sekunden) nicht aktiv war (Starvation-Verhinderung) Der Boost-Level wird nach jeder Zeitscheibe verringert, bis die Ursprungspriorität erreicht wird Ausnahme: Bei Starvation wird der Boost nach zwei Quanten vollständig zurück genommen SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 6 / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele Windows-Scheduling (Forts.) Diskussion. Fallbeispiele Neben den Prioritäten werden in Windows auch die Zeitscheiben manipuliert Verlängerung der Zeitscheiben für Vordergrundprozesse quantum boost Standard nur in Workstation-Variante (nicht bei Server) Bei Starvation-Gefahr um Faktor auch bei Nicht-Vordergrundprozess Einstellbarer Faktor 6, oder 8 Timerticks (normal: Timerticks) Konfigurierbar über Performance-Optionen oder Registry (HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl\ WinPrioritySeparation) Darstellung hier vereinfacht, es gibt noch zwei (nichtobligatorische) Ebenen: Jobs und Sehnen (fiber) Jobs: Zusammenfassung von Prozessen um gemeinsames Ressourcenmanagement zu vereinfachen Fiber: User-Space Thread, (eigentlich) Co-Routine, kann zwischen (Kernel-)Threads wechseln Kein einzelner Scheduler Code ist über den Kernel verteilt Algorithmus ist eher unübersichtlich, aber erfahrungsoptimiert quantitative Analyse schwierig Ansätze für Echtzeitscheduling SoSe 0 M. Werner 7 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 8 / 9 osg.informatik.tu-chemnitz.de

13 Literatur [Sta0] W. Stallings. Operating Systems: nternals and Design Principles. Prentice Hall, 00, Chapter 9 & 0 [Tan08] [RS0] A. Tanenbaum. Modern Operating Systems. Prentice Hall, 008, Abschnitte., 0., &. Mark E. Russinovich und David A. Solomon. Microsoft Windows nternals. Microsoft Press, 00, Chapter 6 SoSe 0 M. Werner 9 / 9 osg.informatik.tu-chemnitz.de

Einführung. Schedulingziel. Klassisches Scheduling-Problem. 6. Kapitel Ressource Prozessor: Scheduling

Einführung. Schedulingziel. Klassisches Scheduling-Problem. 6. Kapitel Ressource Prozessor: Scheduling Wintersemester 06/07 6. Kapitel Ressource Prozessor: Scheduling Prof. Matthias Werner 6 Professur Betriebssysteme Einführung Bisher: Wenn ein Prozesses den Prozessor aufgibt (Zustand laufend verlässt),

Mehr

Ziele. Begriff. Wiederholung: Prozess ist ein Konzept zur Virtualisierung des Prozessors Aufteilung der Prozessorzeit Scheduling.

Ziele. Begriff. Wiederholung: Prozess ist ein Konzept zur Virtualisierung des Prozessors Aufteilung der Prozessorzeit Scheduling. Betriebssysteme Sommersemester Betriebssysteme. Kapitel Scheduling Prof. Matthias Werner Professur Betriebssysteme. Einführung Strategie und Mechanismus. Einführung Wiederholung: Prozess ist ein Konzept

Mehr

CPU-Scheduling - Grundkonzepte

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

Mehr

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

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

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

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

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

Betriebssysteme (BTS)

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

Mehr

Systeme 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

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

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

Mehr

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2015/2016 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 17. Dezember 2015 Betriebssysteme / verteilte Systeme

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

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

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

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

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

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

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

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

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

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P SoSe 2013 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 4 13.05.2013 bis 17.05.2013 Aufgabe 1: Multi-Feedback-Scheduling 0 P 1. Beschreiben Sie kurz

Mehr

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Wolfram Burgard

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

Mehr

Threads and Scheduling

Threads and Scheduling Vorlesung Betriebssysteme WS 2010, fbi.h-da.de Threads and Scheduling Jürgen Saala 1. Threads 2. Scheduling 2 1. Threads 3 Prozesse mit je 1 Adressraum 1 Ausführungsfaden d.h. Unabhängiger Adressraum mit

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

Betriebssysteme. Teil 13: Scheduling

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

Mehr

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

(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

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

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

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

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

Übungen zum Fach Betriebssysteme Kapitel 3

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

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

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

Mehr

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

Mehr

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

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

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

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

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

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

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

Mehr

TIMI: Technische Informatik für Medieninformatiker

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

Mehr

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

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

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

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

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

7.Vorlesung Betriebssysteme Hochschule Mannheim

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

Mehr

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme Seite 1 Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme 1 11.07.2007 Hinweise: Bevor Sie mit der Bearbeitung der Aufgaben beginnen, müssen Sie auf allen Blättern Ihren Namen und Ihre

Mehr

C IX-2 Einplanungsverfahren. Gliederung. 1 Einordnung. 2 Verfahrensweisen Kooperativ Verdrängend Mehrstufig Priorisierend Vergleich.

C IX-2 Einplanungsverfahren. Gliederung. 1 Einordnung. 2 Verfahrensweisen Kooperativ Verdrängend Mehrstufig Priorisierend Vergleich. C IX-2 Einplanungsverfahren Gliederung Systemprogrammierung Prozessverwaltung: Einplanungsverfahren Wolfgang Schröder-Preikschat Lehrstuhl Informatik 4 21. Oktober 2014 Klassifikation 2 Verfahrensweisen

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

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

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

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

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

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

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

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

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

Mehr

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

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

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

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

Der upb.de Supercomputer: Single Site Scheduling

Der upb.de Supercomputer: Single Site Scheduling Der upb.de Supercomputer: Single Site Scheduling Bastian Cramer Universität Paderborn 1 Einleitung.................................................... 3 2 Jobs..........................................................

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

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

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

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

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

Betriebssysteme Kapitel E : Prozesse

Betriebssysteme Kapitel E : Prozesse Betriebssysteme Kapitel E : Prozesse 1 Inhalt Prozesse Zustand eines Prozesses» Kontext» Kontextswitch Prozessbeschreibungsblock PCB Zustandsübergänge» Zustandsdiagramm 2 Hinweis Ein Programm(code) kann

Mehr

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

Scheduling. Scheduling Tanenbaum Kap. 2.4, Stallings Kap , Glatz Kap. 3.4 Scheduling Scheduling Tanenbaum Kap. 2.4, 8.1.4 Stallings Kap. 9.1-9.2, 10.1-10.3 Glatz Kap. 3.4 1 1 Inhalt CPU Scheduling Einführung, Begriffe, Kriterien Verfahren - nonpreemptive FCFS, SPN (SJN), Priority

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

Operating System Design - Now and Then. Christian Behnert Proseminar Technische Informatik FU Berlin

Operating System Design - Now and Then. Christian Behnert Proseminar Technische Informatik FU Berlin Operating System Design - Now and Then Christian Behnert Proseminar Technische Informatik FU Berlin 29.01.09 Motivation Wie kann man Betriebssysteme historisch klassifizieren? Welche technischen Entwicklungen

Mehr

RTOS Einführung. Version: Datum: Autor: Werner Dichler

RTOS Einführung. Version: Datum: Autor: Werner Dichler RTOS Einführung Version: 0.0.1 Datum: 20.07.2013 Autor: Werner Dichler Inhalt Inhalt... 2 RTOS... 3 Definition... 3 Anforderungen... 3 Aufgaben... 3 Eigenschaften... 4 Einteilung der Betriebssysteme...

Mehr

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

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

Mehr

Musterlösung Prüfung SS 2002

Musterlösung Prüfung SS 2002 Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 182.711 Prüfung Betriebssysteme 8. November 2013 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) Kontrollflussverwaltung http://ess.cs.tu-dortmund.de/de/teaching/ws2014/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

Mehr

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige

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

Rechnerarchitektur und Betriebssysteme (CS201): Blockierender SVC, Scheduling, Consumer/Producer, kritisch. Abschnitt

Rechnerarchitektur und Betriebssysteme (CS201): Blockierender SVC, Scheduling, Consumer/Producer, kritisch. Abschnitt Rechnerarchitektur und Betriebssysteme (CS201): Blockierender SVC, Scheduling, Consumer/Producer, kritisch. Abschnitt 22. Oktober 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik,

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

Approximationsalgorithmen

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

Mehr

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

Klausur. Betriebssysteme SS 2007

Klausur. Betriebssysteme SS 2007 Matrikelnummer: 9999999 Klausur FB Informatik und Mathematik Prof. R. Brause Betriebssysteme SS 2007 Vorname: Nachname: Matrikelnummer: Geburtsdatum: Studiengang: Bitte tragen Sie auf jeder Seite Ihre

Mehr