Kapitel 6 Scheduling

Größe: px
Ab Seite anzeigen:

Download "Kapitel 6 Scheduling"

Transkript

1 Kapitel 6 Scheduling

2 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. In der Systemprogrammierung ist mit Scheduling meist die Zuordnung 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 (Pipeliningbzw. superskalare Architekturen) ausgeführt werden. 6-2

3 Anwendungs-Beispiele von Scheduling 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

4 Klassisches Scheduling-Problem 6-4

5 Scheduling: Problemvarianten 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 6-5

6 Scheduling: Problemvarianten (Forts.) 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 der 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-6

7 Beispiele für Ziele 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)

8 6.2 Scheduling im Mehrprogrammbetrieb Allgemeines 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-8

9 Scheduling im Mehrprogrammbetrieb 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. 6-9

10 Standardstrategien Durchgängiges Beispiel Gegeben seien die folgenden fünf Prozesse: Nr. Ankunft Bedienzeit Priorität

11 FCFS-Strategie First Come First Served Wird auch FIFO (First In First Out) genannt Arbeitsweise: Bearbeitung der Prozesse in der Reihenfolge ihrer Ankunft Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe. Anmerkung: Entspricht der Alltagserfahrung. 6-11

12 LCFS-Strategie Last Come First Served Arbeitsweise: 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-12

13 LCFS-PR-Strategie Last Come First Served Preemptive Resume Arbeitsweise: 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. 6-13

14 RR-Strategie Round Robin = Zeitscheibenverfahren Arbeitsweise: 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. 6-14

15 RR (Round Robin): Beispiele t= t=4 6-15

16 PRIO-NP-Strategie Priorities Nonpreemptive Arbeitsweise: Neuankömmlinge werden nach ihrer Priorität in die Bereitliste eingeordnet Prozessorbesitz bis zum Ende oder bis zur freiwilligen Aufgabe. 6-16

17 PRIO-P Priorities Preemptive Arbeitsweise: Wie PRIO-NP, jedoch mit Verdrängungsprüfung: der rechnende Prozess wird verdrängt, wenn er geringere Priorität hat als der Neuankömmling 6-17

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

19 Antwortzeiten für kurze 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 6-19

20 Antwortzeiten für lange Prozesse (modelliert) Quelle: Stallings, Kapitel 9 Antwortzeiten für FCFS ( No priority ), PRIO-NP ( Priority ) und PRIO-P ( Priority with preemtion ), für lange Prozesse 6-20

21 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; für die BM-Freigabe benötigt A die CPU! 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

22 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 tasks, 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 6-22

23 SPN-Strategie Shortest Process Next Arbeitsweise: 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. 6-23

24 SRTN-Strategie Shortest Remaining Time Next, Preemptive Arbeitsweise: 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-24

25 HRN-Strategie Highest Response Ratio Next Arbeitsweise: 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

26 HRN-Strategie: Illustration 6-26

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

28 Feedback-Strategie: Beispielläufe τ = 1 Jeder Prozess wird zunächst kurz ausgeführt. Dadurch werden kurze Prozesse sofort beendet τ = 2 i Anzahl der Prozessumschaltungen wird verringert 6-28

29 Standard-Umschaltstrategien: Übersicht 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

30 Vergleichende Bewertung Verhalten (Simulation von Prozessen) Der Mittelwert der kürzesten 500 Prozesse ist in der ersten Perzentile (NTT = Antwortzeit / Bedienzeit) Quelle: Stallings, Chap

31 Vergleichende Bewertung Wartezeit Quelle: Stallings, Chap

32 Schätzung der Dauer der Rechenphasen 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 Verteilung 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 auf die kurzfristige Zukunft schließen. 6-32

33 Histogramm der Rechenphasen (CPU Bursts) 6-33

34 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 werden 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. 6-34

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

36 Einsatz exponentiellen Glättens (wachsende Funktion) Fallende Funktion: Nachteile für Mittelwert (s. Stallings Ch. 9) 6-36

37 Exponentielle Glättungskoeffizienten Quelle: Stallings, Chap 9. Je größer α, desto stärker werden neuere Beobachtungen gewichtet. 6-37

38 Konkrete Betriebssysteme Scheduling in Unix: mehrstufiges Feedback mit RR in den Prioritätswarteschlangen 6-38

39 Scheduling in Unix (System V) 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

40 Bsp. in Unix 6-40

41 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). 6-41

42 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 zu 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. 6-42

43 Multiprozessoraspekte beim Scheduling 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. 6-43

44 Multiprozessoraspekte: Prozessoraffinität 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-44

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

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

47 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: 6-47

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

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

50 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). Periodenlänge pi Ti(1) 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

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

52 Weiterführende Literatur Stallings, W.: Operating Systems 4th ed., Prentice Hall, Chapter 9,10 Salomon, D.: Inside Windows NT, MS Press, Chapter

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

Betriebssysteme Wintersemester 2005/06

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

Mehr

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

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

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

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

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

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

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

Mehr

Prozesse 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

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

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

Ü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

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

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

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

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

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

(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

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

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

2 Echtzeitbetriebssysteme

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

Mehr

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

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

OSEK / OSEKtime - ein Vergleich

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

Mehr

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

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

Mehr

*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

Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen.

Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen. Kapitel 4 Prozesse Seite 1 4 Prozesse 4.1 Prozeßkonzept Prozess- ein Programm in Ausführung Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen. Üblicher Start: über eine Kommandozeileneingabe

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

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

Sebastian Witte 06.03.2013

Sebastian Witte 06.03.2013 06.03.2013 Inhalt kleine, leistungsfähige Systeme verfügbar (Smartphones) Resourcenverschwendung übermäßige Resourcenreservierung kleinste Systeme noch zu schnell zu restriktives Scheduling Vermischung

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

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

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

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

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

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

Von Prozessen und Prozessoren (Prozess-Management)

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

Mehr

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

OSEK Deadline-Analyse

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

Mehr

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

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

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

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem) (Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren

Mehr

Echtzeitanforderung und Linux

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

Mehr

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung 1.5 Threaded Server Server als ein Prozess mit mehreren Threads Threads Thread als Aktivitätsträger virtueller Prozessor eigener Programmzähler eigener Stackbereich eingebettet in den Kontext eines Prozesses

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

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

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

Mehr

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems

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

Mehr

Musterlösung 3. Mikroprozessor & Eingebettete Systeme 1

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

Mehr

Zeit- und ereignisgesteuerte Echtzeitsysteme

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

Mehr

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

13. Übung mit Musterlösung

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

Mehr

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

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

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

Warteschlangentheorie und Callcenter

Warteschlangentheorie und Callcenter Warteschlangentheorie und Callcenter Vortrag im Rahmen der Lehrerfortbildung,,Stochastik und Matrizen: von Markov-Ketten bis zu Callcentern 23. September 2009 Dr. Alexander Herzog, Institut für Mathematik,

Mehr

Verteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7.

Verteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7. Verteilte Systeme SS 2015 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i

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

Real Time. Scheduler. Informationstechnik für Luft- und Raumfahrt Aerospace Information Technology

Real Time. Scheduler. Informationstechnik für Luft- und Raumfahrt Aerospace Information Technology Real Time Scheduler Zeitungsmeldung 2. Mai. 2015: In Labortest, alle 248 Tage schaltet der Computer den Stromgenerator in den Fail-Safe-mode um ihm zu schutzen APU: Prozedur zum Start: 30.. 60 Sek, und

Mehr

Projekt für Systemprogrammierung WS 06/07

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

Mehr

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

Einführung in die Echtzeitbetriebssysteme

Einführung in die Echtzeitbetriebssysteme Einführung in die Echtzeitbetriebssysteme Hauptseminararbeit in dem Studiengang B.Sc. Informatik von Maximilian von Piechowski Technische Hochschule Mittelhessen Inhaltsverzeichnis 1 Was versteht man unter

Mehr

Prozeß. 2. Prozesse. 2.1 Einführung

Prozeß. 2. Prozesse. 2.1 Einführung 2. Prozesse 2.1 Einführung Eine wichtige Eigenschaft moderner Computer ist es, dass sie mehrere Aufgaben quasi-gleichzeitig erledigen können. Wie wir in der Vorlesung über Rechnersysteme gelernt haben,

Mehr

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners Inhaltsverzeichnis Systemprogrammierung - Kapitel 1 Einführung 1/19 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners E/A-Operationen, Speicherstrukturen

Mehr

Klassifikation von Client-Server-Architekturen

Klassifikation von Client-Server-Architekturen Klassifikation von --Architekturen 2 Bevor wir auf eine Klassifikation von --Architekturen eingehen, müssen wir zunächst die Bedeutung der Begriffe konkurrent, parallel und verteilt klären. Ein konkurrentes

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 3 Betriebssystem Überwacher

Mehr

6.Vorlesung Betriebssysteme Hochschule Mannheim

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

Mehr

3 Programmiermodelle für parallele und verteilte Systeme

3 Programmiermodelle für parallele und verteilte Systeme 3 Programmiermodelle für parallele und verteilte Systeme Das vorherrschende Programmiermodell für parallele und verteilte Systeme ist das Client Server Modell. Das Client Server Modell ist unabhängig von

Mehr

In diesem Kapitel will ich die Grundlagen legen, die für das Verständnis von Mac OS X hilfreich sind.

In diesem Kapitel will ich die Grundlagen legen, die für das Verständnis von Mac OS X hilfreich sind. 11 In diesem Kapitel will ich die Grundlagen legen, die für das Verständnis von Mac OS X hilfreich sind. Unterschiede zu anderen Systemen Abb. 2 1 Die Grundarchitektur Diese Beschreibung von Mac OS X ist

Mehr