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

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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. In der Systemprogrammierung ist mit Scheduling meist die Zuordnun von Prozessen zu Prozessoren gemeint. Das Scheduling-Problem tritt auf verschiedenen BS-Ebenen auf: Prozesse als komplette Benutzerprogramme sollen auf einem Einprozessorsystem ausgeführt werden Prozesse (Threads) als Teile eines parallelen Programms sollen auf einem Mehrprozessorsystem ausgeführt werden Prozesse als Einzeloperationen oder kurze Operationsfolgen sollen auf den parallel arbeitenden Funktionseinheiten des Prozessors (Pipelining bzw. superskalare Architekturen) ausgeführt werden. Anwendungs-Beispiele von Scheduling Klassisches Scheduling-Problem Mehrbenutzer-BS: Welcher Prozess aus der Bereitliste soll als nächster dem Prozessor zugeordnet werden? Übersetzer: Bei Codeerzegung für einen superskalaren Prozessor eine Zuordnung der Befehle zu den Pipelines finden, die die Ausführungszeit minimiert MPEG-Video live aus dem Internet abgespielt auf einem PC: Das Zusammenspiel von Netzwerk-Software, Decodierung, Bildschirm- und Soundausgabe soll zu einer gleichmäßigen, synchronisierten Wiedergabe führen, auch wenn im Hintergrund ein Compiler läuft. Montageroboter: verschiedene Sensordaten abtasten und rechtzeitig darauf reagieren, gleichzeitig aufwendige Berechnungen durchführen, z. B. zur Erkennung der Lage des Werkstücks auf dem Transportband. 6-3

2 Scheduling: Problemvarianten Scheduling: Problemvarianten (Forts.) Einprozessor / Mehrprozessor? Homogen / Heterogen: CPUs homogen, d. h. gleich schnell? Prozessmenge statisch oder dynamisch? Statisch: Alle Prozesse sind gegeben und ablauffähig. Dynamisch: neue Prozesse kommen während der Ausführung hinzu. Scheduling on-line (zur Laufzeit) oder off-line (vorher)? Off-line-Fall: alle Prozesse bekannt (auch zukünftige Ankünfte), es liegt also vollständige Information vor. On-line-Fall: nur die aktuellen Prozesse bekannt, Entscheidungen müssen auf Grund unvollständiger Information getroffen werden. Ausführungszeiten bekannt? Ausführungszeiten der Prozesse (oder Worst-CaseAbschätzungen dafür) sind Voraussetzung für Realtime-Scheduling Verdrängung (preemption) möglich? Mit Verdrängung können Schedulingziele besser erreicht werden. Abhängigkeiten zwischen den Prozessen? Reihenfolgebeziehung (partielle Ordnung) zwischen Prozessen, oder gleichzeitige Zuordnung aller Prozesse eines parallelen Programms. Kommunikations- und Umschaltzeiten zu berücksichtigen? Prioritäten zu berücksichtigen? Prioritäten werden von außen vorgegeben (statisch) oder während de Ausführung bestimmt (dynamisch). Sollzeitpunkte zu berücksichtigen? In Realzeitsystemen müssen gewisse Berechnungen (Prozesse) zu bestimmten Zeitpunkten beendet sein. Welches Ziel wird verfolgt? (zu optimierende Zielfunktion) siehe nächste Folie 6-5 Beispiele für Ziele 6.2 Scheduling im Mehrprogrammbetrieb Allgemeines Benutzerorientierte Ziele Länge des Ablaufplans (min) Maximale Antwortzeit (min) Mittlere (gewichtete) Antwortzeit (min) Maximale Verspätung (min)... Systemorientierte Ziele Anzahl Prozessoren (min) Durchsatz (max) Prozessorauslastung (max)... Betriebsziele hohe Effizienz Prozessor gut ausgelastet geringe Antwortzeit bei interaktiven Prozessen hoher Durchsatz bei Stapelbetrieb (batch-processing) fairness gerechte Verteilung der Prozessorleistung und der Wartezeiten zwischen den Prozessen 6-7

3 Scheduling im Mehrprogrammbetrieb Standardstrategien Annahmen homogenes (symmetrisches) Multiprozessorsystem Prozessmenge dynamisch Keine Abhängigkeiten zwischen Prozessen Dynamisches On-line-Scheduling Keine Sollzeitpunkte Strategiealternativen ohne / mit Verdrängung (preemption) Prozess bleibt bis zu seinem Ende oder bis zur freiwilligen Aufgabe auf dem Prozessor oder er kann vorher verdrängt werden. ohne / mit Prioritäten Prozesse werden in Dringlichkeitsklassen eingeteilt unabhängig / abhängig von der Bedienzeit Die tatsächliche oder geschätzte Bedienzeit des Prozesses wird bei der Auswahl (nicht) berücksichtigt. Durchgängiges Beispiel Gegeben seien die folgenden fünf Prozesse: Nr. Ankunft Bedienzeit Priorität FCFS-Strategie First Come First Served LCFS-Strategie Last Come First Served Wird auch FIFO (First In First Out) genannt Bearbeitung der Prozesse in der Reihenfolge ihrer Ankunft Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe. Anmerkung: Entspricht der Alltagserfahrung. Bearbeitung der Prozesse in der umgekehrten Reihenfolge ihrer Ankunft in der Bereitliste. Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe. Anmerkung: In dieser reinen Form selten benutzt. 6-11

4 LCFS-PR-Strategie Last Come First Served Preemptive Resume Neuankömmling in Bereitliste verdrängt den rechnenden Prozess, d.h. Letzter wird Erster. Verdrängter Prozess wird hinten in die Warteschlange eingereiht. Falls keine Ankünfte, Abarbeitung der Liste (FCFS!) ohne Verdrängung. Analyse: Diese Strategie bevorzugt kurze Prozesse: Ein kurzer Prozess hat die Chance, noch vor der nächsten Ankunft fertig zu werden. Ein langer Prozess kann dagegen u. U. mehrfach verdrängt werden. RR-Strategie Round Robin = Zeitscheibenverfahren Bearbeitung der Prozesse in Ankunftsreihenfolge. Nach Ablauf einer festgesetzten Frist (Zeitscheibe, time slice) findet eine Verdrängung statt und es wird auf den nächsten Prozess umgeschaltet. Analyse: Ziel des Verfahrens ist die gleichmäßige Verteilung der Prozessorkapazität und der Wartezeit auf die Prozesse. Wahl der Zeitscheibenlänge t ist ein Optimierungsproblem: Für großes t nähert sich RR der Reihenfolgestrategie FCFS. Für kleines t wächst der Aufwand für das häufige Umschalten Üblich für t sind in Betriebssystemen Zeiten im msec-bereich RR (Round Robin): Beispiele PRIO-NP-Strategie Priorities Nonpreemptive t=1 Neuankömmlinge werden nach ihrer Priorität in die Bereitliste eingeordnet Prozessorbesitz bis zum Ende oder bis zur freiwilligen Aufgabe t=4 6-15

5 PRIO-P Priorities Preemptive Wie PRIO-NP, jedoch mit Verdrängungsprüfung: der rechnende Prozess wird verdrängt, wenn er geringere Priorität hat als der Neuankömmling Modellierung: Warteschlangentheorie λ Ankunftsrate (# Ankünfte pro Zeiteinheit, Poisson) (arrival rate) t Mittlere Bedienzeit (reine Rechenzeit, exponentiell) (mean service time) w Mittlere Wartezeit (mean waiting time) r Mittlere Antwort- oder Verweilzeit (mean response time) (inklusive Wartezeiten) r = w + t r n Normalisierte Antwortzeit: r n = r/t = 1 + w/t (normalized response time) ρ Auslastung: i. d. R. ρ = λt (0 ρ < 1) (utilization) Ankunfts rate λ Warte schlange w Scheduling Strategie CPU Abgang t r 6-17 Antwortzeiten für kurze Prozesse (modelliert) Antwortzeiten für lange Prozesse (modelliert) Quelle: Stallings, Kapitel 9 Abb.: 2 Prioritätsklassen, kurze Prozesse hoher Priorität und fünfmal längere Prozesse niederer Priorität. Antwortzeiten für FCFS ( No priority ), PRIO-NP ( Priority ) und PRIO-P ( Priority with preemtion ), für kurze Prozesse 6-19 Quelle: Stallings, Kapitel 9 Antwortzeiten für FCFS ( No priority ), PRIO-NP ( Priority ) und PRIO-P ( Priority with preemtion ), für lange Prozesse

6 Problem: Prioritäts-Invertierung Problem bei PRIO-P: Prozess C (hohe Priorität) kann verhungern, denn Prozess A (niedrige Priorität) besitzt das Betriebsmittel (BM), das von C benötigt wird. Bevor das BM freigegeben wird, kommt Prozess B (mittlere Priorität) und verdrängt A vom Prozessor. Prozess A wird nicht ausgeführt und kann daher das BM nicht freigeben, wodurch C auf unbestimmte Zeit blockiert bleibt 6-21 Prioritäts-Invertierung: Praxis im All Was passierte auf dem Mars [G.Reeves, Risks-Forum Digest, v. 19, 58, 1998] Die NASA Mars Pathfinder Mission 1997 Das Betriebssystem des Mars-Rovers hatte zwei high-priority bus task einer kommunizierte mit einem low-priority weather task Auf der Erde wurde das Betriebssystem erfolgreich getestet Auf dem Mars: Der Weather-task hielt den Bus-Mutex/Monitor als er von einigen medium-priority tasks verdrängt/preempted wurde. Der Bus-task konnte nicht weiter arbeiten, dies wurde vom Bus-manager (timeout) bemerkt und führte zum sofortigen System-Reboot (mit Verlust aller Daten!) Die Prioritäts-Invertierung war an sich kein Fehler, eine Lösung dafür war vorgesehen, aber die NASA-Benutzer wussten nichts davon. Das Problem wurde schließlich auf der Erde nachgebildet und gelöst Mögliche Lösungen für Prioritäts-Invertierung: 1. Der low-priority task vererbt die Priorität des high-priority task, mit dem er BM teilt, oder 2. eine Priorität wird jedem BM zugewiesen und von den Tasks für die Zeit der BM-Benutzung übernommen SPN-Strategie Shortest Process Next Prozess mit der kürzesten Bedienzeit wird als nächster bis zum Ende oder bis zur freiwilligen Aufgabe bearbeitet. Wie PRIO-NP, aber die Bedienzeit wird als Prioritätskriterium verwendet Analyse: Bevorzugt kurze Prozesse und führt daher zu kürzeren mittleren Antwortzeiten als FCFS. SRTN-Strategie Shortest Remaining Time Next, Preemptive Prozess mit der kürzesten Restbedienzeit wird als nächster bearbeitet Rechnender Prozess kann verdrängt werden. Analyse: Beide letzteren Algorithmen haben Nachteile: 1) sie benötigen Kenntnis der Bedienzeit, die nur vom Benutzer stammen kann; 2) längere Prozesse verhungern wenn ständig kürzere ankommen 6-23

7 HRN-Strategie Highest Response Ratio Next HRN-Strategie: Illustration Die Response Ratio rr ist definiert als rr := Wartezeit + Bedienzeit Bedienzeit Der Wert rr wird dynamisch berechnet und als Priorität verwendet: der Prozess mit dem größten rr-wert wird als nächster ausgewählt. Die Strategie ist nicht verdrängend, d.h. non-preemptive. Analyse: Wie bei SPN werden kurze Prozesse bevorzugt, lange Prozesse müssen jedoch nicht ewig warten, sondern können durch Warten Punkte sammeln und höhere Priorität bekommen 6-25 FB-Strategie Multilevel Feedback 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; im Folgenden: kleine i hohe Priorität, große i niedrige Priorität Die einzelnen Warteschlangen werden z. B. nach FCFS oder Round-Robin verwaltet; unterschiedliche Zeitscheibenlängen τ sind möglich, z. B. τ = 2 i, d. h. niedrigere Prioritäten (große i) bekommen längere Abschnitte Feedback-Strategie: Beispielläufe τ = 1 Jeder Prozess wird zunächst kurz ausgeführt. Dadurch werden kurze Prozesse sofort beendet τ = 2 i 6-27 Anzahl der Prozessumschaltungen wird verringert

8 Standard-Umschaltstrategien: Übersicht Vergleichende Bewertung Verhalten (Simulation von Prozessen) ohne Verdrängung mit Verdrängung ohne mit ohne mit Priorität Priorität Priorität Priorität FCFS, LCFS-PR, BZ-unabhängig LCFS PRIO-NP RR, FB PRIO-P BZ-abhängig SPN, HRN SRTN 6-29 Der Mittelwert der kürzesten 500 Prozesse ist in der ersten Perzentile (NTT = Antwortzeit / Bedienzeit) Quelle: Stallings, Chap 9 Vergleichende Bewertung Schätzung der Dauer der Rechenphasen Wartezeit Bei den Scheduling-Strategien ist mit Bedienzeit nicht immer die Gesamtrechenzeit gemeint, sondern sie kann sich auch auf die einzelnen Rechenphasen (zwischen E/A-Operationen) beziehen Man spricht auch von CPU Burst Die Rechenphasen unterliegen typischerweise einer anderen Verteilun als die Gesamtrechenzeiten Prozesse zeigen oft ein stationäres Verhalten, d. h. man kann auf Grund der Kenntnis des Verhaltens in der jüngsten Vergangenheit au die kurzfristige Zukunft schließen. Quelle: Stallings, Chap

9 Histogramm der Rechenphasen (CPU Bursts) Schätzung des CPU Burst Sei T[i] die Ausführungszeit für die i-te Rechenphase des Prozesses. Sei S[i] der Schätzwert für für die i-te Rechenphase dieses Prozesses Im einfachsten Fall verwenden wir: S[n + 1] = (1/n) n i=1 T[i] Um zu vermeiden, dass jeweils die gesamte Summe berechnet werde muss, schreiben wir die Formel um: S[n + 1] = (1/n)T[n] + ((n 1)/n)S[n] Diese konvexe Kombination gibt allen Summanden gleiches Gewicht Schätzen der Länge der Rechenphasen Jüngste Werte reflektieren das zukünftige Verhalten in der Regel besser und sollten stärkeres Gewicht erhalten. Eine übliche Technik ist das Exponentielle Glätten (exponential averaging, exponential smoothing). S[n + 1] = at[n] + (1 a)s[n];0 < a < 1 Falls a > 1/n, erhalten jüngere Werte höheres Gewicht. Durch Ausrollen der Rekursion erkennt man, dass die Gewichte vergangener Messwerte exponentiell abnehmen. Einsatz exponentiellen Glättens (wachsende Funktion) Fallende Funktion: Nachteile für Mittelwert (s. Stallings Ch. 9) S[n+1] = at[n]+(1 a)at[n 1]+...(1 a) i at[n i]...+(1 a) n S[1] Großes a führt zu besserer Reaktionsgeschwindigkeit (Reaktion auf Änderungen), kleines a zu besserer Stabilität (Herausfiltern von Ausreißern ). Der erste Schätzwert S[1] wird üblicherweise auf 0 gesetzt, um neuen Prozessen hohe Priorität zu geben. 6-35

10 Exponentielle Glättungskoeffizienten Konkrete Betriebssysteme Scheduling in Unix: mehrstufiges Feedback mit RR in den Prioritätswarteschlangen Quelle: Stallings, Chap 9. Je größer α, desto stärker werden neuere Beobachtungen gewichtet Scheduling in Unix (System V) Bsp. in Unix Die Zeitscheibenlänge liegt in der Größenordnung von 100 ms Benutzerprozesse besitzen eine statische Basispriorität von 0, die durch nice -Kommando erhöht, d. h. verschlechtert werden kann Die Prozessornutzung jedes Prozesses wird in Uhr-Ticks (Zeitscheiben) gemessen und nach jeder Zeitscheibe von Prozess j wird cpu j [i] erhöht Dynamische Priorität für Prozess j wird jede Sekunde angepasst nach der Formel: dyn_prio j [i] := base_prio j + cpu j [i] / 2 Jede Sekunde wird für alle Prozesse cpu j [i] := cpu j [i 1] / 2 angepasst, d. h. schrittweise vergessen, wie groß die Prozessornutzung war 6-39

11 Scheduling in Unix (System V): Zwischenfazit Starke Prozessorbenutzung führt zu einer schlechten Priorität! Warum? Rechenintensive Prozesse werden benachteiligt. I/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) Fair-Share-Scheduling Fair-Share-Scheduling wird in einigen Unix-Systemen eingesetzt Ziel: einer Gruppe von Prozessen (z.b.: einer Anwendung, einer Gruppe von Benutzern) einen festen Anteil an der Rechenkapazität z garantieren und dies zu überwachen Sei k die Anzahl der Gruppen, W k der Anteil der Gruppe k: Sei cpu j [i] die Prozessornutzung von Prozess j in Gruppe k und gcpu k [i] die Prozessornutzung der gesamten Gruppe in Intervall i. Dann wird die Priorität folgendermaßen berechnet: cpu j [i] := cpu j [i 1]/2 gcpu j [i] := gcpu j [i 1]/2 dynprio j [i] := baseprio j + cpu j [i 1]/2 + gcpu j [i 1]/(4W k ) Die Priorität von j verschlechtert sich nicht nur durch eine individuelle starke CPU-Nutzung, sondern auch, wenn andere Prozesse der Gruppe den Prozessor intensiv benutzen. Siehe Beispieldiagramm in Stallings Chap. 9, Abb. 9.16, mit drei Prozessen in zwei Gruppen. Multiprozessoraspekte beim Scheduling Multiprozessoraspekte: Prozessoraffinität Bei Multiprozessorsystemen ist es trotz der Symmetrie der Prozessoren oft nicht unerheblich, auf welchem Prozessor ein Prozess läuft: War ein Prozess vorher (letzte Zeitscheibe) auf Prozessor p, so besteht die Chance, dass noch wesentliche Teile seines Adressraums im Cache von p vorhanden sind. Daher gibt es häufig das Konzept der Prozessor-Affinität: Der Scheduler merkt sich (im Prozesskontrollblock) jeweils den von diesem Prozess bevorzugt benutzten oder zuletzt benutzten Prozessor. Dadurch wird jedoch das Prioritätskonzept etwas aufgeweicht: Es kann vorkommen, dass ein Prozess höherer Priorität wartet, obwohl ein Prozess geringerer Priorität rechnet. Wird ein Prozess erneut einem Prozessor zugeordnet, so sollte es möglichst derselbe sein, auf dem der Prozess während der letzten Zeitscheibe war. Die Wahrscheinlichkeit ist dann groß, dass der Prozess noch Teile seines Cache-Inhalts im Prozessor wieder findet. Daher die Prozessor-Affinität benutzt: Der Scheduler merkt sich (im PCB) jeweils den von diesem Prozess bevorzugt oder zuletzt benutzten Prozessor. 6-43

12 6.3 Echtzeit: Scheduling mit Sollzeitpunkten In Echtzeitsystemen (z. B. Steuerrechner für Fertigungsstraßen, Kraftwerke, Motorsteuerung,... ) ist die Zielsetzung eine andere: Innerhalb knapper Zeitschranken müssen Messgrößen ausgewertet und darauf reagiert werden Den Prozessen werden daher Sollzeitpunkte (deadlines) zugeordnet, zu denen sie vollständig bearbeitet sein müssen. Da die Einhaltung der Sollzeitpunkte z. T. kritisch ist für die Funktion des Gesamtsystems, gehen sie in die Strategien ein. Bzgl. der Implikationen bei Verletzung der Sollzeitpunkte unterscheidet man: hard real-time systems: Verletzung bedeutet Ausfall des Systems und kann nicht toleriert werden (Beispiel: Airbag, Antiblockiersystem). soft real-time systems: Verletzung bedeutet Qualitätseinbußen, kann in Grenzen toleriert werden (Internet-Telefonie, Übertragung und Verarbeitung von Bewegtbildern, Online-Spiele). Gerade bei harten RT-Anforderungen setzt man Off-line-Algorithmen ein, um die Einhaltung der Sollzeitpunkte sicherstellen zu können. Echtzeit: Begriffe Für Echtzeit-Prozesse ist von außen vorgeschrieben, wann sie frühestens beginnen dürfen und wann sie spätestens beendet sein müssen. Eine Überschreitung der Sollzeit (e i > d i ) heißt Verspätung (lateness) L := e i d i 6-45 Echtzeit: Ziele Die Zielfunktionen hängen stark davon ab, ob Verspätungen toleriert werden können oder nicht. In Soft-RT-Systemen kann die maximale Verspätung Lmax minimiert werden: Dadurch werden aber evtl. alle Sollzeitpunkte überschritten. Beim nachfolgenden Plan erhalten wir eine sehr viel größere maximale Verspätung, können aber bis auf einen alle Sollzeitpunkte einhalten: Minimierung der maximalen Verspätung Bei Einprozessorsystemen ohne Verdrängung und ohne Abhängigkeiten zwischen Prozessen läuft das Schedulingproblem auf eine Permutation der Prozesse hinaus. In diesem Fall gilt das folgende Theorem (EDD = Earliest Due Date Satz ( Jacksons Regel ): Jeder Ablaufplan, in dem die Prozesse nach frühesten Sollzeitpunkten geordnet ausgeführt werden, ist optimal bezüglich L max Die Prozesse müssen also sortiert werden, was in O(n log n) gelingt. EDD setzt voraus, dass alle Prozesse zu jedem Zeitpunkt beginnen können. In vielen Anwendungen gibt es frühestmögliche Startzeitpunkte (a i ). Durch die Einführung von unterschiedlichen Startzeitpunkten ( i, j : a i a j ) wird das Problem NP-hart, d. h. nicht in polynomialer Zeit optimal lösbar. 6-47

13 Minimierung der maximalen Verspätung (mit Startzeitpunkten und Verdrängung) Wenn jedoch Verdrängung möglich ist, gilt der folgende Satz, der wiederum auf Jacksons Regel beruht: Satz (EDF: Earliest Deadline First) Jeder Ablaufplan, in dem zu jedem Zeitpunkt der Prozess mit dem frühesten Sollzeitpunkt unter allen ablaufbereiten Prozessen zugeordnet wird, ist optimal bezüglich der maximalen Verspätung. Periodische Prozesse Viele Echtzeit-Anwendungen sind periodische Aufgaben, die fristgerecht durchzuführen sind. Jeder Prozess ist zusätzlich gekennzeichnet durch seine Periode bzw. die dazu reziproke Rate. Dabei muss zunächst geprüft werden, ob die Aufgabe überhaupt durchgeführt werden kann (schedulability- bzw. feasibility test). Ti(1) Periodenlänge pi di bi Ti(k) Spielraum (slack time) Ti(1) ai Startzeitpunkt di(k): deadline in Periode k Für jeden einzelnen periodischen Prozess muss gelten: 0 < b i d i p i Bei mehreren periodischen Prozessen gilt als notwendige Bedingung für die Existenz eines zulässigen Plans: i b i p i Periodische Prozesse: RMS Als Scheduling-Verfahren bei periodischen Prozessen wird i. d. R. das ratenmonotone Verfahren (rate monotonic scheduling, RMS) eingesetzt: Prozesse erhalten statische Prioritäten, die umgekehrt proportional sind zu ihrer Periode, d. h. der Prozess mit der kleinsten Periode erhält die höchste Priorität. Bei unabhängigen Prozessen und wenn die Sollzeitpunkte mit den Perioden zusammenfallen, gilt der folgende Satz: Eine Menge von n periodischen Prozessen kann durch RMS eingeplant werden, wenn gilt: n b ) l n (2 1 n 1 p l l=1 Weiterführende Literatur Stallings, W.: Operating Systems 4th ed., Prentice Hall, Chapter 9,1 Salomon, D.: Inside Windows NT, MS Press, Chapter 4 Der linke Teil der Ungleichung drückt die benötigte Prozessorleistung aus, die rechte Seite eine obere Schranke, die eingehalten werden muss, damit ein zulässiger Schedule entsteht Für große n bedeutet die Schranke, dass die kumulative Prozessorauslastung (Ausführungszeit/Periode) nicht höher als ln2 69,3% sein soll (konservativ). Vergleich RMS vs. EDF: einfacher, die Fristen wichtiger Tasks einzuhalten.6-51

Kapitel 6 Scheduling

Kapitel 6 Scheduling Kapitel 6 Scheduling 6.1 Einführung 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

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

Systeme 1. Kapitel 5. Scheduling

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

Mehr

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

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

Mehr

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

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

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

Mehr

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

Ü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

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

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

Mehr

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

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

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

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

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

5. Foliensatz Betriebssysteme und Rechnernetze

5. Foliensatz Betriebssysteme und Rechnernetze Prof. Dr. Christian Baun 5. Foliensatz Betriebssysteme und Rechnernetze FRA-UAS SS2017 1/29 5. Foliensatz Betriebssysteme und Rechnernetze Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

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

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

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

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

Literatur. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 2

Literatur. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 2 Literatur [13-1] Quade, Jürgen; Mächtel, Michael: Moderne Realzeitsysteme kompakt. dpunkt, 2012 [13-2] Quade, Jürgen: Embedded Linux lernen mit dem Raspberry Pi. dpunkt, 2014 [13-3] Eißenlöffel, Thomas:

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

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

5) Realzeitscheduling

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

Mehr

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

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

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

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

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

(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

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

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

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

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

Ausgewählte Kapitel eingebetteter Systeme

Ausgewählte Kapitel eingebetteter Systeme Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg 08.06.2005 Übersicht Problemdefinition Scheduling-Strategien

Mehr

Betriebssysteme Sommersemester Betriebssysteme. 4. Kapitel. Scheduling. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme

Betriebssysteme Sommersemester Betriebssysteme. 4. Kapitel. Scheduling. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme Betriebssysteme Sommersemester 2017 Betriebssysteme 4. Kapitel Scheduling Dr. Peter Tröger / Prof. M. Werner Professur Betriebssysteme 4.1 Einführung Strategie und Mechanismus Betriebssysteme Scheduling

Mehr

Real-Time Operating Systems Ein Überblick

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

Mehr

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

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

Mehr

Betriebssysteme 1. Einführung. Scheduling worum geht es? Scheduler: Gliederung

Betriebssysteme 1. Einführung. Scheduling worum geht es? Scheduler: Gliederung BS1-D Betriebssysteme 1 SS 2017 Prof. Dr.-Ing. Hans-Georg Eßer Fachhochschule Südwestfalen Einführung Foliensatz D: Scheduler v1.0, 2016/05/20 18.05.2017 Betriebssysteme 1, SS 2017, Hans-Georg Eßer Folie

Mehr

Übersicht. Monoprozessor-Scheduling. Einführung Anforderungen und Thread-Typen Zustandsmodelle

Übersicht. Monoprozessor-Scheduling. Einführung Anforderungen und Thread-Typen Zustandsmodelle Übersicht Einführung Anforderungen und Thread-Typen Zustandsmodelle Monoprozessor-Scheduling Einfache Scheduling-Verfahren: FCFS, SJF, RR usw. Echtzeit-Scheduling Multiprozessor-Scheduling Implementierungsaspekte

Mehr

Scheduling 6.1EinfŸhrung

Scheduling 6.1EinfŸhrung Scheduling 6.EinfŸhrung Scheduling (zu deutsch etwa ãablaufplanungò) bedeutet die Zuordnung von AktivitŠten zu Instanzen, welche diese AktivitŠten durchfÿhren kšnnen, in Raum und Zeit. In der Systemprogrammierung

Mehr

Quantitative Methoden

Quantitative Methoden Quantitative Methoden Betriebssysteme Claude-J. Hamann TU Dresden Problem und Gegenstand Problem Erfüllen von QoS-Anforderungen mit zeit- bzw. größenbeschränkten Ressourcen Gegenstand Scheduling basierend

Mehr

Technische Informatik II. SoSe Jörg Kaiser IVS EOS

Technische Informatik II. SoSe Jörg Kaiser IVS EOS Scheduling SoSe 2013 Jörg Kaiser IVS EOS Otto-von-Guericke-Universität Magdeburg 1 Scheduling - Beispiele Tagesplan Ressource: Zeit Stundenpläne Car Sharing Ressource: Räume, Dozenten Resourcen: Autos

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

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

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

Ü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

> Übung Betriebssysteme Globalübung 3 Michel Steuwer Wintersemester 2012/13

> Übung Betriebssysteme Globalübung 3 Michel Steuwer Wintersemester 2012/13 > Übung Betriebssysteme Globalübung 3 Michel Steuwer Wintersemester 2012/13 Gruppe Parallele und Verteilte Systeme (PVS) Institut für Informatik Westfälische Wilhelms-Universität Münster Hinweise 2 Aufgaben

Mehr

Proseminar KVBK : Scheduler unter Linux

Proseminar KVBK : Scheduler unter Linux Proseminar KVBK : Scheduler unter Linux Valderine Kom Kenmegne Valderine Kom Kenmegne 1 Gliederung 1. Einführung 2. Einplanungsstrategien im Betriebsystem 2.1 Ziel der Einplanungsstrategien 2.2 Beispiele

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

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

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

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

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

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

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

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

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

Mehr

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

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

5.1) Realzeitscheduling (Mehrprozessorsysteme)

5.1) Realzeitscheduling (Mehrprozessorsysteme) Inhalte Scheduling Strategie Diskussion von Anomalien: Dauer steigt, wenn mehr Prozessoren eingesetzt werden die Ausführungszeit pro Prozess sinkt weniger Freizeit pro Prozessor vorhanden ist weniger Vorgänger-Nachfolgerrelationen

Mehr

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Aufgabe 1: Sie haben in der Vorlesung einen hypothetischen Prozessor kennen

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

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

(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

Multicore in Echtzeitsystemen (1)

Multicore in Echtzeitsystemen (1) Multicore in Echtzeitsystemen (1) Liyuan Zhang Hauptseminar AKSS im SS 2009 Ausgewählte Kapitel der Systemsoftware: Multicore- und Manycore-Systeme Überblick Einleitung Uniprozessor in Echtzeitsystemen

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

Ü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

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 11 Scheduling

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 11 Scheduling Betriebssysteme I 11 Scheduling WS 2016/17 Prof. Dr. Dirk Müller WS 2016/17 2/34 Einführung Begriff und Zielgrößen Offline-/Online-Verfahren Überblick zeit- und ereignisgesteuertes Scheduling kooperatives

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

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß? Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte

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

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

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

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

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

9. Schätzen und Testen bei unbekannter Varianz

9. Schätzen und Testen bei unbekannter Varianz 9. Schätzen und Testen bei unbekannter Varianz Dr. Antje Kiesel Institut für Angewandte Mathematik WS 2011/2012 Schätzen und Testen bei unbekannter Varianz Wenn wir die Standardabweichung σ nicht kennen,

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

Echtzeitsysteme: Grundlagen. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Echtzeitsysteme: Grundlagen. Dipl.-Inf. J. Richling Wintersemester 2003/2004 Echtzeitsysteme: Grundlagen Dipl.-Inf. J. Richling Wintersemester 2003/2004 ? Was ist Echtzeit? 03-1 Eigenschaften mobiler und eingebetteter Systeme c J.Richling Was ist Echtzeit? Es gibt eine Reihe verwirrender

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

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Lösungsvorschlag zur 4. Übung

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

Mehr

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

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

Praktische Lernkarten zum Ausschneiden, Zusammenkleben und Sammeln :-) zur Prüfungsvorbereitung Diplomprüfung. Betriebssysteme

Praktische Lernkarten zum Ausschneiden, Zusammenkleben und Sammeln :-) zur Prüfungsvorbereitung Diplomprüfung. Betriebssysteme Eine Zusammenstellung aus Prüfungsprotokollen bei Professor Schlageter Praktische Lernkarten zum Ausschneiden, Zusammenkleben und Sammeln :-) zur Prüfungsvorbereitung Diplomprüfung Betriebssysteme Thomas

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

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

*DE102007042999A120090312*

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

Mehr

Informatik II Greedy-Algorithmen

Informatik II Greedy-Algorithmen 7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:

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

Der Scheduler von Windows 2000 Konzepte und Strategien

Der Scheduler von Windows 2000 Konzepte und Strategien Der Scheduler von Windows 2000 Konzepte und Strategien Daniel Lohmann lohmann@informatik.uni-erlangen.de Gliederung 1. Grundbegriffe 2. Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell

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

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

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

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

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb AN025 Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der Autor: HB AN025.DOC (6 Seiten) 1. Definition Im folgenden wie auch in allen anderen Sorcus Schriften werden folgende Kurzbezeichnungen verwendet:

Mehr

Prozessor (CPU, Central Processing Unit)

Prozessor (CPU, Central Processing Unit) G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher

Mehr