8. Vorlesung Betriebssysteme

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "8. Vorlesung Betriebssysteme"

Transkript

1 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/69 8. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik

2 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 2/69 Heute Unterbrechungen Interrupts Exceptions Der Dispatcher (Prozessumschalter) Präemptives und nicht-präemptives Scheduling Klassische und moderne Scheduling-Verfahren Scheduling-Beispiele

3 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 3/69 Unterbrechungen Unterbrechungen sind nötig, weil häufig unvorhersehbare Ereignisse eintreten, auf die ein Computer-System reagieren muss Unterbrechungen sind Ereignisse, deren Behandlung keinen Aufschub zulässt Häufige Unterbrechungen sind: Fehlersituation (Fehler bei einer Rechenoperation) Division durch Null, Gleitkommafehler, Adressfehler, usw. Software-Interrupt bzw. Exception (Wird durch einen Prozess ausgelöst) Beispiele sind der Exception 0x80, um vom Benutzermodus in den Kernelmodus zu wechseln und der Einzelschrittbetrieb beim Programmtest (Debugging, Trace) Hardware-Interrupt Ein-/Ausgabe-Geräte liefern Rückmeldungen an einen Prozess oder das Auftreten eines Stromausfalls

4 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 4/69 Ein Beispiel für eine Unterbrechung Die Prozesse X und Y kommunizieren über ein Netzwerk Beide Prozesse befinden sich auf unterschiedlichen Rechnern Antwortet ein Prozess nicht innerhalb eines festgelegten Zeitraums (Timeout) auf eine Nachricht, soll diese erneut geschickt werden Grund: Es wird von einem Verlust der Nachricht ausgegangen Es gibt zwei Möglichkeiten eine solche Bedingung zu realisieren: Auf blockierende Art Auf nicht-blockierende Art

5 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 5/69 Blockierende Realisierung Prozess X wird so lange blockiert, bis die Nachricht quittiert oder der Timeout verstrichen ist Kommt die Quittung an, darf Prozess X weiterlaufen Ansonsten muss Prozess X die Nachricht neu senden Nachteil: Es entstehen lange Leerlaufzeiten für Prozess X

6 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 6/69 Nicht-blockierende Realisierung Prozess X läuft nach dem Senden der Nachricht ganz normal weiter Kommt es zum Timeout wegen einer fehlenden Quittung, suspendiert das Betriebssystem den Prozess Die Registerwerte des Prozesses werden gesichert und eine spezielle Prozedur zur Behandlung des Signals gestartet In diesem Beispiel würde die Prozedur die Nachricht erneut senden Ist die Prozedur beendet, wird der Prozess wieder reaktiviert Nicht-blockierende Unterbrechungen können mit Interrupts und Exceptions realisiert werden

7 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 7/69 Unterbrechungsarten Interrupts (1/3) Interrupts sind externe Unterbrechungen Sie werden durch Ereignisse außerhalb des zu unterbrechenden Prozesses ausgelöst (z.b. ein Ein-/Ausgabe-Gerät meldet das Ende eines E/A-Prozesses) Das Konzept der Interrupts wird von der Hardware angeboten Es gibt auch Softwareinterrupts (Exceptions) Diese werden wie Hardwareinterrupts behandelt, aber von Software ausgelöst Ein Interrupt signalisiert ein Ereignis und das Betriebssystem bietet eine Behandlung des Ereignisses an

8 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 8/69 Unterbrechungsarten Interrupts (2/3) Der normale Ablauf der CPU wird unterbrochen und es wird eine Unterbrechungsbehandlung (Unterbrechungsroutine), die Interrupt Service Routine, im Kernel aktiviert Der Befehlszähler wird auf die Adresse der Unterbrechungsroutine gesetzt und es wird dort weitergearbeitet Das Betriebssystem sichert den Prozess-Kontext und stellt diesen nach Abschluss der Unterbrechungsroutine wieder her

9 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 9/69 Unterbrechungsarten Interrupts (2/3) Das Betriebssystem verwaltet eine Liste mit den Adressen aller Unterbrechungsroutinen Diese Liste heißt Unterbrechungsvektor (Interrupt Vector) Interrupts sind notwendig, um... schnell auf Signale von Ein-/Ausgabe-Geräten (z.b. Maus, Tastatur, Festplatte, Netzwerk, usw.) reagieren zu können auf zeitkritische Ereignisse reagieren zu können Ohne Interrupts ist präemptives Multitasking nicht möglich Präemptives Multitasking = verdrängendes Multitasking Bei diesem kann einem Prozess die CPU vor seiner Fertigstellung entzogen werden

10 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Unterbrechungsarten Exceptions Exceptions sind interne Unterbrechungen oder Ausnahmen/Alarme Werden vom Prozess selbst ausgelöst Können an jeder Stelle im Programmcode ausgelöst werden Auch bei Exceptions kommt es zu einer Unterbrechung der CPU und es wird eine Unterbrechungsbehandlung (Unterbrechungsroutine) im Kernel aktiviert Exceptions werden in der Softwareentwicklung hauptsächlich eingesetzt, um die Programme robuster zu machen gegen: Fehlerhafte Eingaben Programmierfehler (Division durch 0, Addition verursacht Überlauf) Gerätefehler (Gerät nicht erreichbar, Festplatte voll) Weitere Vorteile von Exceptions Trennung zwischen Algorithmus und Fehlerbehandlung Die Fehlerbehandlung ist durch den Compiler überprüfbar

11 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Konflikte bei Unterbrechungen (Interrupts) Zwei mögliche Konflikte bei der Unterbrechungsbehandlung: Während einer Unterbrechungsbehandlung treten weitere Interrupts auf Es kommt zu mehreren Unterbrechungen gleichzeitig Zwei mögliche Lösungen: Sequentielle Interrupt-Verarbeitung Verschachtelte Interrupt-Verarbeitung

12 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Sequentielle Interrupt-Verarbeitung Sequentielle Interrupt-Verarbeitung Die Interrupts werden strikt nacheinander bearbeitet und nicht selbst unterbrochen Prioritäten und zeitkritische Reaktionen werden ignoriert

13 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Verschachtelte Interrupt-Verarbeitung Verschachtelte Interrupt-Verarbeitung Für die Interrupts werden Prioritäten festgelegt Unterbrechungsbehandlungen können unterbrochen werden, wenn eine Unterbrechung mit höherer Priorität auftritt Unterbrechungen mit niederer Priorität werden zurückgestellt, bis alle Unterbrechungen mit höherer Priorität abgearbeitet sind

14 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Prozesswechsel Der Dispatcher (1/2) Beim Mehrprogrammbetrieb (Multitasking) fallen dem Betriebssystem u.a. zwei Aufgaben zu: Dispatching: Umschalten des Prozessors bei einem Prozesswechsel Scheduling: Festlegen des Zeitpunkts des Prozesswechsels und der Ausführungsreihenfolge der Prozesse Der Dispatcher (Prozessumschalter) führt die Zustandsübergänge der Prozesse durch Beim Prozesswechsel entzieht der Dispatcher dem rechnenden Prozess die CPU und teilt sie dem Prozess zu, der in der Warteschlange an erster Stelle steht Bei Übergängen zwischen den Zuständen bereit und blockiert werden vom Dispatcher die entsprechenden Prozesskontrollblöcke aus den Zustandslisten entfernt und entsprechend neu eingefügt Es handelt sich hierbei um reine Listenoperationen Übergänge aus oder in den Zustand rechnend bedeuten immer einen Wechsel des aktuell rechnenden Prozesses auf der CPU

15 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Prozesswechsel Der Dispatcher (2/2) Beim Prozesswechsel in oder aus dem Zustand rechnend, muss immer durch den Dispatcher... der Kontext, also die Registerinhalte des aktuell ausgeführten Proesses im Prozesskontrollblock gespeichert (gerettet) werden der Prozessor einem anderen Prozess zugeteilt werden der Kontext (Registerinhalte) des jetzt auszuführenden Prozesses aus seinem Prozesskontrollblock wieder hergestellt werden Der Leerlaufprozes (Idle Task) Bei modernen Betriebssystemen erhält die CPU zu jedem Zeitpunkt einen Prozess Ist kein Prozess im Zustand bereit, kommt der Leerlaufprozes zum Zug Der Leerlaufprozess ist immer aktiv und hat die niedrigste Priorität Durch den Leerlaufprozesses muss der Scheduler nie den Fall berücksichtigen, dass kein aktiver Prozess existiert Auf modernen Prozessor-Architekturen versetzt der Leerlaufprozess die CPU in einen stromsparenden Modus

16 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Festlegen der Ausführungsreihenfolge Scheduling Beim Scheduling weist das Betriebssystem die Prozessen den Prozessoren (Cores), in einer bestimmten Reihenfolge zu, um eine möglichst optimale Leistung zu erzielen Beim Scheduling legt des Betriebssystem die Ausführungsreihenfolge der Prozesse im Zustand bereit fest Die Entscheidung, welcher Prozess wann an der Reihe ist, ist vom Scheduling-Algorithmus abhängig Man unterscheidet vier Typen (Arten) des Schedulings: Langfristiges Scheduling Mittelfristiges Scheduling Kurzfristiges Scheduling E/A-Scheduling Der kurzfristige Scheduler heißt Dispatcher

17 Langfristiges Scheduling Entscheidung ob ein Prozess in den Pool der auszuführenden Prozesse aufgenommen wird Regelt den Grad des Mehrprogrammbetriebs Es macht Sinn, die Anzahl der laufenden Prozesse zu begrenzen Je mehr Prozesse erzeugt werden, desto weniger Rechenzeit bleibt für die Ausführung der einzelnen Prozesse Mittelfristiges Scheduling Entscheidung ob ein Prozess ganz oder teilweise im Hauptspeicher gehalten oder ausgelagert wird Kurzfristiges Scheduling Entscheidung welchem Prozess als nächstes die CPU zugewiesen wird Dieser Scheduler wird aktiviert, wenn ein Ereignis eintritt, das zur Aussetzung oder Verdrängung des aktuellen Prozesses führen kann Denkbare Ereignisse sind Signale, Interrupts, Systemaufrufe, usw. E/A-Scheduling Entscheidung welche E/A-Anforderung eines Prozesses von einem E/A-Gerät bearbeitet werden soll Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Vier Typen (Arten) des Scheduling

18 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Scheduling-Grundsätze Beim Scheduling wird versucht folgende Grundsätze einzuhalten: Antwortzeit: Latenz. Wichtig besonders bei interaktiven Systemen Durchlaufzeit bzw. Turnaround: Zeit zwischen Eingang und Abschluss eines Prozesses soll möglichst nahe an der reinen Ausführungszeit sein Durchsatz: Abarbeitung möglichst vieler Prozesse pro Zeitintervall Effizienz: Möglichst vollständige Auslastung der CPU Termineinhaltung: Prozesse, die zu einem bestimmten Termin fertig werden müssen, werden so eingeplant, dass der Termin eingehalten wird Fairness: Kein Prozess soll dauerhaft vernachlässigt werden Overhead: Der zeitliche Aufwand für das Scheduling soll minimal sein Vorhersagbarkeit: Zeit und Kosten von gleichen Prozessen soll unabhängig sein von der Systemauslastung Durchsetzen von Prioritäten: Wenn Prozessen Prioritäten zugewiesen wurden, sollen diese beim Scheduling berücksichtigt werden Gleichmäßige Ressourcenauslastung: Alle Ressourcen sollen möglichst ständig beschäftigt werden. Prozesse, die freie Ressourcen anfordern, sollen bevorzugt behandelt werden

19 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Scheduling-Kriterien und Scheduling-Strategien Keine Scheduling-Strategie... ist für jedes System optimal geeignet kann alle Scheduling-Kriterien wie z.b. CPU-Auslastung, Durchsatz, Wartezeit, Verweilzeit, Echtzeitverhalten, Fairness optimal berücksichtigen Bei der Auswahl einer Scheduling-Strategie muss immer ein geeigneter Kompromiss zwischen den Scheduling-Kriterien gefunden werden Die Schedulingverfahren können in zwei Klassen unterteilt werden: Nicht-präemptives Scheduling (nicht-verdrängendes Scheduling) Präemptives Scheduling (verdrängendes Scheduling)

20 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Nicht-präemptives und präemptives Scheduling Nicht-präemptives Scheduling (nicht-verdrängendes Scheduling) Ein Prozess, der vom Scheduler die CPU zugewiesen bekommen hat, behält die Kontrolle über diese bis zu seiner vollständigen Fertigstellung Kein vorzeitiger Entzug der CPU durch den Scheduler vorgesehen Problematisch: Ein Prozess kann die CPU so lange belegen wie er will Belegt ein Prozess die CPU, ist es häufig so, dass andere, vielleicht dringendere Prozesse für lange Zeit nicht zum Zuge kommen Präemptives Scheduling (verdrängendes Scheduling) Einem Prozess kann die CPU vor seiner Fertigstellung entzogen werden Wird einem Prozess die CPU entzogen, pausiert er so lange in seinem aktuellen Zustand, bis der Scheduler ihm erneut die CPU zuteilt Schwieriger zu implementieren als nicht-präemptives Scheduling Verursacht mehr Overhead als nicht-präemptives Scheduling Die Vorteile von präemptivem Scheduling, besonders die Beachtung von Prozessprioritäten, überwiegen die Nachteile bei weitem

21 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Scheduling-Verfahren Zahlreiche Scheduling-Verfahren (Algorithmen) existieren Jedes Scheduling-Verfahren versucht unterschiedlich stark, die bekannten Scheduling-Kriterien und Grundsätze einzuhalten Bekannte Scheduling-Verfahren sind: Prioritätengesteuertes Scheduling First Come First Served (FCFS) bzw. First In First Out (FIFO) Last Come First Served (LCFS) Round Robin (RR) mit Zeitquantum Shortest Job First (SJF) und Longest Job First (LJF) Shortest Remaining Time First (SRTF) Longest Remaining Time First (LRTF) Highest Response Ratio Next (HRRN) Earliest Deadline First (EDF) Fair-Share Statisches Multilevel-Scheduling Multilevel-Feedback-Scheduling

22 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Prioritätengesteuertes Scheduling Prozesse werden nach ihrer Priorität, also ihrer Wichtigkeit bzw. Dringlichkeit abgearbeitet Es wird immer dem Prozess im Zustand bereit die CPU zugewiesen, der die höchste Priorität hat Die Priorität kann von verschiedenen Kriterien abhängen, z.b. benötigte Ressourcen, Rang des Benutzers, geforderte Echtzeitkriterien, usw. Kann präemptiv (verdrängend) und nicht-präemptiv (nicht-verdrängend) sein Die Prioritätenvergabe kann statisch oder dynamisch sein Statische Prioritäten ändern sich während der gesamten Lebensdauer eines Prozesses nicht und werden häufig in Echtzeitsystemen verwendet Dynamische Prioritäten werden von Zeit zu Zeit angepasst = Multilevel-Feedback Scheduling Gefahr beim (statischen) prioritätengesteuertem Scheduling: Prozesse mit niedriger Priorität können verhungern

23 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Prioritätengesteuertes Scheduling

24 Beispiel zum Prioritätengesteuerten Scheduling Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Alle Prozesse kommen gleichzeitig an Prozess CPU-Laufzeit Priorität A 8 ms 3 B 4 ms 15 C 7 ms 8 D 13 ms 4 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 17, 75 ms = 9, 75 ms Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69

25 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 First Come First Served (FCFS) Funktioniert nach dem Prinzip First In First Out (FIFO) Die Prozesse werden entsprechend ihrer Ankunftsreihenfolge bedient Dieses Scheduling-Verfahren ist vergleichbar mit einer Warteschlange von Kunden in einem Geschäft Laufende Prozesse werden nicht unterbrochen Es handelt sich um nicht-präemptives (nicht-verdrängendes) Scheduling FCFS ist fair Alle Prozesse werden berücksichtigt Die mittlere Wartezeit kann unter Umständen sehr hoch sein Prozesse mit kurzer Abarbeitungszeit müssen eventuell lange warten, wenn vor ihren Prozesse mit langer Abarbeitungszeit eingetroffen sind Wird häufig mit einem Prioritätsverfahren zu einer effektiven Scheduling-Strategie kombiniert

26 Beispiel zu First Come First Served Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Prozess CPU-Laufzeit Ankunftszeit A 8 ms 0 B 4 ms 1 C 7 ms 3 D 13 ms 5 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 15, 5 ms = 7, 5 ms Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69

27 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Last Come First Served (LCFS) Die Prozesse werden in der umgekehrten Ankunftsreihenfolge bedient Laufende Prozesse werden nicht unterbrochen Die Prozesse behalten den Zugriff auf die CPU bis zu Beendigung oder freiwilligen Abgabe LCFS ist nicht fair Beim kontinuierlichen Eintreffen neuer Prozesse werden die alten Prozesse nicht berücksichtigt und können dadurch verhungern Wird in der reinen Form selten berücksichtigt

28 Beispiel zu Last Come First Served Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Prozess CPU-Laufzeit Ankunftszeit A 8 ms 0 B 4 ms 1 C 7 ms 3 D 13 ms 5 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 20 ms = 12 ms Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69

29 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Last Come First Served Präemptive Variante (LCFS-PR) Ein neuer Prozess in der Bereitliste verdrängt den aktuell laufenden Prozesse von der CPU Verdrängte Prozesse werden an das Ende der Warteschlange eingereiht Werden keine neuen Prozesse gestartet, findet auch keine Verdrängung statt Kurze Prozesse werden bevorzugt Ein kurzer Prozess hat die Chance, noch vor dem Eintreffen eines neuen Prozesse fertig zu sein Lange Prozesse werden u.u. mehrfach verdrängt und dadurch stark verzögert Es besteht die Gefahr, dass lange Prozesse nie Zugriff auf die CPU erhalten und verhungern Wird in der reinen Form selten berücksichtigt

30 Beispiel zu Last Come First Served Präemptive Variante Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Prozess CPU-Laufzeit Ankunftszeit A 8 ms 0 B 4 ms 1 C 7 ms 3 D 13 ms 5 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 22, 25 ms = 14, 25 ms Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69

31 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Round Robin (RR) Zeitscheibenverfahren (1/3) Es werden Zeitschlitze (englisch: Time Slices), auch Zeitscheiben oder Zeitquanten genannt, mit einer festen Dauer festgelegt Die Prozesse werden in einer zyklischen Warteschlange nach dem FIFO-Prinzip eingereiht Der erste Prozess der Warteschlange erhält für die Dauer einer Zeitscheibe Zugriff auf die CPU Nach dem Ablauf der Zeitscheibe, Beendigung oder Unterbrechung des Prozesses, wird diesem der Zugriff auf die CPU wieder entzogen und er wird am Ende der Warteschlange eingereiht Wird ein Prozess erfolgreich beendet, wird er auf der Warteschlange entfernt Neue Prozesse werden am Ende der Warteschlange eingereiht Die Zugriffszeit auf die CPU wird nahezu gleichmäßig und fair auf die vorhandenen Prozesse aufgeteilt RR mit Zeitscheibengröße verhält sich wie FCFS

32 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Round Robin (RR) Zeitscheibenverfahren (2/3) Je länger die Bearbeitungsdauer eines Prozesses ist, desto mehr Runden werden zu seiner vollständigen Ausführung benötigt Eine wichtige Rolle für die Geschwindigkeit spielt die Größe der Zeitschlitze Sind sie zu kurz, müssen viele Prozesswechsel stattfinden und der Scheduler muss oft aufgerufen werden = Hoher Overhead wegen des Verwaltungsaufwands Sind sie zu lang, geht die Gleichzeitigkeit verloren = Das System hängt Die Größe der Zeitschlitze liegt üblicherweise im ein- oder zweistelligen Millisekundenbereich Bevorzugt Prozesse, die eine kurze Abarbeitungszeit haben und muss die Bearbeitungsdauer der Prozesse nicht im Voraus kennen Präemptives (verdrängendes) Scheduling-Verfahren

33 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Round Robin (RR) Zeitscheibenverfahren (3/3) Weitergabe des Zugriffs auf die CPU, bei: Ablauf der Zeitscheibe Beendigung (Terminierung) des Prozesses Unterbrechung (Blockierung) des Prozesses Prozess F Prozess E Prozess A Prozess B Prozess C Prozess D

34 Beispiel zu Round Robin Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Zeitquantum q = 1 ms Prozess A B C D CPU-Laufzeit 8 ms 4 ms 7 ms 13 ms Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 24 ms = 16 ms Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69

35 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Shortest Job First (SJF) Heißt auch Shortest Process Next (SPN) Der Prozess mit der kürzesten Abarbeitungszeit erhält als erster Zugriff auf die CPU Nicht-präemptives (nicht-verdrängendes) Scheduling Hauptproblem: Für jeden Prozess muss bekannt sein, wie lange er bis zu seiner Terminierung braucht, also wie lange seine Abarbeitungszeit ist Ist in der Realität praktisch nie der Fall Lösung: Abschätzung der Abarbeitungszeit durch Approximation Bei der Approximation von SJF wird die Abarbeitungszeit eines Prozesses abgeschätzt, indem das Verhalten des Prozesses in der Vergangenheit (Statistische Erfassung = Erfahrungswerte) betrachtet wird Es wird angenommen, das sich ein Prozess in Zukunft gleich oder ähnlich verhält SJF ist nicht fair Prozesse mit kurzer Abarbeitungszeit werden bevorzugt Prozesse mit langer Abarbeitungszeit erhalten eventuell erst nach sehr langer Wartezeit oder nie Zugriff auf die CPU

36 Beispiel zu Shortest Job First Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Alle Prozesse kommen gleichzeitig an Prozess A B C D CPU-Laufzeit 8 ms 4 ms 7 ms 13 ms Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 16, 5 ms = 8, 5 ms Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69

37 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Shortest Remaining Time First (SRTF) Präemptives SJF heißt Shortest Remaining Time First (SRTF) Trifft ein neuer Prozess ein, wird die Restlaufzeit des aktuell rechnenden Prozesses mit jedem Prozess in der Liste der wartenden Prozesse verglichen Hat der aktuell rechnende Prozesses die kürzeste Restlaufzeit, darf er weiterrechnen Haben ein oder mehr Prozesse in der Liste der wartenden Prozesse eine kürzere Abarbeitungszeit bzw. Restlaufzeit, erhält der Prozess mit der kürzesten Restlaufzeit Zugriff auf die CPU Solange kein neuer Prozess eintrifft, kann auch kein rechnender Prozess unterbrochen werden Die Prozesse in der Liste der wartenden Prozesse werden nur dann mit dem aktuell rechnenden Prozess verglichen, wenn ein neuer Prozess eintrifft! Prozesse mit einer langen Laufzeit können verhungern

38 Beispiel zu Shortest Remaining Time First Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Prozess CPU-Laufzeit Ankunftszeit A 8 ms 0 B 4 ms 3 C 7 ms 16 D 13 ms 11 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 11 ms = 3 ms Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69

39 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Longest Job First (LJF) Der Prozess mit der längsten Abarbeitungszeit erhält als erster Zugriff auf die CPU Nicht-präemptives (nicht-verdrängendes) Scheduling Hauptproblem: Genau wie bei Shortest Job First muss bei jedem Prozess bekannt sein, wie lange seine Abarbeitungszeit ist Das ist in der Realität nur selten der Fall Die Abarbeitungszeit eines Prozesses abgeschätzt, indem das Verhalten des Prozesses in der Vergangenheit betrachtet wird Auch LJF ist nicht fair Prozesse mit langer Abarbeitungszeit werden bevorzugt Prozesse mit kurzer Abarbeitungszeit erhalten eventuell erst nach sehr langer Wartezeit Zugriff auf die CPU oder verhungern

40 Beispiel zu Longest Job First Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Alle Prozesse kommen gleichzeitig an Prozess CPU-Laufzeit (ms) A 8 B 4 C 7 D 13 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 23, 5 ms = 15, 5 ms Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69

41 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Longest Remaining Time First (LRTF) Präemptives LJF heißt Longest Remaining Time First (LRTF) Trifft ein neuer Prozess ein, wird die Restlaufzeit des aktuell rechnenden Prozesses mit jedem Prozess in der Liste der wartenden Prozesse verglichen Hat der aktuell rechnende Prozesses die längste Restlaufzeit, darf er weiterrechnen Haben ein oder mehr Prozesse in der Liste der wartenden Prozesse eine längere Abarbeitungszeit bzw. Restlaufzeit, erhält der Prozess mit der längsten Restlaufzeit Zugriff auf die CPU Solange kein neuer Prozess eintrifft, kann auch kein rechnender Prozess unterbrochen werden Die Prozesse in der Liste der wartenden Prozesse werden nur dann mit dem aktuell rechnenden Prozess verglichen, wenn ein neuer Prozess eintrifft! Prozesse mit kurzer Laufzeit können verhungern

42 Beispiel zu Longest Remaining Time First Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Prozess CPU-Laufzeit Ankunftszeit A 8 ms 0 B 4 ms 6 C 7 ms 21 D 13 ms 11 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 15, 75 ms = 7, 75 ms Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69

43 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Highest Response Ratio Next (HRRN) Um dem Problem des Verhungerns zu begegnen, wird das Alter der Prozesse berücksichtigt Antwortquotient (Response Ratio) wird für jeden Prozess berechnet Antwortquotient = geschätzte Rechenzeit + Wartezeit geschätzte Rechenzeit Der Antwortquotient hat bei der Erzeugung eines Prozesses den Wert 1.0 und steigt bei kurzen Prozessen schnell an Ziel: Der Antwortquotient soll für alle Prozesse möglichst gering sein Nach Beendigung oder bei Blockade eines Prozesses, dem Prozess mit dem höchsten Antwortquotient die CPU zuzuweisen Wie bei Shortest/Longest (Remaining) Job First müssen die Laufzeiten der Prozesse durch statistische Erfassung aus der Vergangenheit abgeschätzt werden HRRN ist fair Es ist unmöglich, dass bei HRRN Prozesse verhungern

44 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Earliest Deadline First (EDF) Es wird darauf geachtet, dass die Prozesse nach Möglichkeit ihre Termine zur Fertigstellung, die Deadlines, einhalten können Die zum betrachteten Zeitpunkt bereitstehenden Prozesse werden aufsteigend nach ihrer Deadline geordnet Es erhält immer der Prozess die CPU zugewiesen, dessen Deadline am nächsten ist Eine Überprüfung und gegebenenfalls Neuorganisation der Prozess-Warteschlange findet immer dann statt, wenn ein neuer Prozess in den Zustand bereit wechselt oder ein aktiver Prozess beendet (terminiert) Kann als nicht-präemptives Scheduling und präemptives Scheduling realisiert werden Präemptives EDF wird bevorzugt in Echtzeitsystemen eingesetzt

45 Beispiel zu Earliest Deadline First Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Alle Prozesse kommen gleichzeitig an Prozess CPU-Laufzeit Deadline A 8 ms 25 B 4 ms 18 C 7 ms 9 D 13 ms 34 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 17, 25 ms = 9, 25 ms Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69

46 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Fair-Share (1/2) Bei Fair-Share werden Ressourcen zwischen Gruppen von Prozessen in einer fairen Art und Weise aufgeteilt Besonderheit: Die Rechenzeit wird den Benutzern und nicht den Prozessen zugeteilt Die Rechenzeit, die ein Benutzer erhält, ist unabhängig von der Anzahl seiner Prozesse Die Ressourcenanteile, die die Benutzer erhalten, nennt man Shares Populär beim Cluster- und Grid-Computing Fair-Share wird in aktuellen Job-Schedulern und Meta-Schedulern zur Verteilung der Aufträge auf Ressourcen in Grid-Standorten und zwischen den Standorten in Grids eingesetzt

47 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Fair-Share (2/2) Benutzer 1 Ressource Job-Queue A X B X C X A X B X C X A X B X C X... Benutzer 2 Prozesse: A B C Schedule: 50% Prozesse: X Schedule: 50% Benutzer 1 Ressource Job-Queue A B C X A B C X A B C X A B C X A B... Benutzer 2 Prozesse: A B C Schedule: 75% Prozesse: X Schedule: 25%

48 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Multilevel-Scheduling Bei jeder Scheduling-Strategie müssen Kompromisse bzgl. der unterschiedlichen Scheduling-Kriterien gemacht werden Vorgehen in der Praxis: Mehrere Scheduling-Strategien kombinieren = Multilevel-Scheduling, auch Mehrebenen-Scheduling genannt Einfachste Form der Realisierung: Statisches Multilevel-Scheduling Dabei wird die bereit-liste in mehrere Teillisten unterteilt und in jeder Teilliste wird eine andere Scheduling-Strategie eingesetzt Die Teillisten haben meist unterschiedliche Prioritäten oder verschiedene Zeitmultiplexe (z.b. 80%:20% oder 60%:30%:10%) Gut geeignet, um zeitkrische von zeitunkritischen Threads zu trennen

49 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Statisches Multilevel-Scheduling (1/2) Kopf der Warteschlange Prozessklasse 1 (Priorität 3) Prozess Y Prozess Z... Prozessklasse 2 (Priorität 2) Prozess A Prozess B Prozess C Prozess D... Prozessklasse 3 (Priorität 1) Prozess S Prozess T Prozess U Die bereit-liste ist in mehrere Teillisten unterteilt Jede Teilliste verwendet ein anderes Scheduling-Verfahren Die höchste Prozessklasse hat üblicherweise die höchste Priorität Die niedrigste Prozessklasse hat die Priorität 1

50 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Statisches Multilevel-Scheduling (2/2) Ein Beispiel für eine Unterteilung der Prozesse in verschiedene Prozessklassen (Teillisten) und die verwendeten Scheduling-Strategien, könnte wie folgt aussehen: Priorität Prozessklasse Scheduling-Strategie 3 Echtzeitprozesse (zeitkritisch) Prioritätengesteuert 3 Interaktive Prozesse Round Robin 2 E/A-Intensive Prozesse Round Robin 1 Rechenintensive Stapelprozesse First Come First Served

51 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Multilevel-Feedback-Scheduling (1/2) Bei Mehrprogrammbetrieb und Mehrbenutzerbetrieb ist es unmöglich, die Rechenzeit im voraus verlässlich zu kalkulieren Lösung: Aufträge, die schon länger aktiv sind, werden bestraft Multilevel-Feedback-Scheduling arbeitet wie Multilevel-Scheduling mit mehreren Warteschlangen Jede Warteschlange hat eine unterschiedliche Priorität Ein neuer Prozess kommt in die oberste Warteschlange Damit hat er die höchste Priorität Innerhalb jeder Warteschlange wird Round Robin eingesetzt Gibt ein Prozess die CPU freiwillig wieder ab, wird er wieder in die selbe Warteschlange eingereiht, sobald er wieder bereit Hat ein Prozess seine volle Zeitscheibe genutzt, kommt er in die nächst tiefere Warteschlange mit einer niedrigeren Priorität Die Prioritäten werden bei diesem Verfahren also dynamisch vergeben Multilevel-Feedback-Scheduling ist unterbrechendes Scheduling

52 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Warteschlangen beim Multilevel-Feedback-Scheduling

53 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Multilevel-Feedback-Scheduling (2/2) Vorteil von Multilevel-Feedback-Scheduling ist: Es sind keine komplizierten Abschätzungen nötig! Neue Prozesse werden schnell in eine Prioritätsklasse eingeordnet Neue Prozesse, werden beim Multilevel-Feedback-Scheduling älteren, längeren Prozessen bevorzugt Prozesse mit vielen Ein-/Ausgabeoperationen werden bevorzugt, da sie nach einer freiwilligen Abgabe der CPU wieder in die ursprüngliche Warteliste eingeordnet werden Dadurch behalten Sie ihre Priorität Ältere, längere Prozesse werden verzögert und können, wenn immer neue Prozesse nachkommen, verhungern

54 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Aktuelle Herausforderungen des Scheduling Scheduling mit mehreren Prozessoren/Kernen Hier ist nicht nur die Auswahl des Prozesses/Thread, sondern auch des Prozessors/Kerns wichtig Alle Prozesse einer Gruppe bzw. alle Threads eines Prozesses sollen auf einem Prozessor/Kern abgearbeitet werden, um die Daten in den Registern und im Cache zu nutzen und somit unnötiges Verdrängen/Wiederherstellen von Daten zu vermeiden Scheduling von parallelen und verteilten Anwendungen Beim sog. Gang-Scheduling sollen Prozesse bzw. Threads, die zum gleichen Programm gehören und miteinander kommunizieren (sich synchronisieren) sollen, gleichzeitig gestartet werden = So sollen Wartezeiten verringert werden

55 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Klassische und moderne Scheduling-Verfahren Scheduling Fair Rechenzeit Berücksichtigt NP P muss bekannt sein Prioritäten Prioritätengesteuertes Scheduling X X nein nein ja First Come First Served X ja nein nein Last Come First Served X X nein nein nein Round Robin X ja nein nein Shortest Job First X nein ja nein Longest Job First X nein ja nein Shortest Remaining Time First X nein ja nein Longest Remaining Time First X nein ja nein Highest Response Ratio Next X ja ja nein Earliest Deadline First X X nein ja nein Fair-Share X ja nein nein Statisches Multilevel-Scheduling X Multilevel-Feedback-Scheduling X NP = Nicht-präemptives Scheduling P = Präemptives Scheduling

56 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Ein einfaches Beispiel zum Scheduling Auf einem Einprozessorrechner sollen fünf Prozesse verarbeitet werden: Prozess CPU-Laufzeit Priorität A 5 ms 15 B 10 ms 5 C 3 ms 4 D 6 ms 12 E 8 ms 7 Alle Prozesse kommen gleichzeitig zum Zeitpunkt 0 an Hohe Prioritäten sind durch hohe Zahlen gekennzeichnet Skizzieren Sie die Ausführungsreihenfolge der Prozesse mit einem Gantt-Diagramm (Zeitleiste) für Round Robin (Zeitquantum q = 1 ms), FCFS, SJF, LJF und Prioritätengesteuertes Scheduling Berechnen Sie die mittleren Laufzeiten und Wartezeiten der Prozesse Laufzeit = Zeit von der Ankunft bis zur Terminierung Wartezeit = Laufzeit - Rechenzeit

57 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Ausführungsreihenfolge der Prozesse

58 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Ausführungsreihenfolge der Prozesse (Lösung)

59 Laufzeit (Turnaround Time) und Wartezeit der Prozesse Laufzeit A B C D E Round Robin First Come First Served Shortest Job First Longest Job First Prioritätengesteuertes Scheduling Wartezeit A B C D E Round Robin First Come First Served Shortest Job First Longest Job First Prioritätengesteuertes Scheduling Die Wartezeit ist die Zeit in der bereit-liste Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69

60 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Laufzeit der Prozesse (Lösung) A B C D E Round Robin First Come First Served Shortest Job First Longest Job First Prioritätengesteuertes Scheduling Round Robin = 24 ms First Come First Served = 18, 8 ms Shortest Job First = 15, 8 ms Longest Job First = 22, 6 ms Prior. Scheduling = 19, 2 ms

61 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Wartezeit der Prozesse (Lösung) A B C D E Round Robin First Come First Served Shortest Job First Longest Job First Prioritätengesteuertes Scheduling Round Robin = 17, 6 ms First Come First Served = 12, 4 ms Shortest Job First = 9, 4 ms Longest Job First = 16, 2 ms Prior. Scheduling = 12, 8 ms

62 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Fazit Shortest Job First hat von den untersuchten Scheduling-Verfahren die kürzeste mittlere Laufzeit und die kürzeste mittlere Wartezeit Round Robin und Longest Job First liegen bzgl. mittlere Laufzeit und mittlere Wartezeit auf den hinteren Rängen Begründung: Wird ein kurzer Prozess vor einen langen Prozess gezogen, verringert dies die Laufzeit und Wartezeit des kurzen Prozesses mehr, als die des langen Prozesses verlängert wird Der bei Round Robin durch die häufigen Prozesswechsel entstehende Overhead, der hier gar nicht beachtet wurde, kann sich zusätzlich sehr negativ auf die Performance auswirken Die Anzahl der Prozesswechsel und damit der Overhead, ist abhängig von der Größe der Zeitscheiben Sind diese zu klein, ist der Overhead sehr hoch Sind diese zu groß, werden die Antwortzeiten für interaktive Benutzer sehr lang

63 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Die Reihenfolge ist entscheidend! Prozess Laufzeit (ms) A 24 B 2 C 3 Durchschnittliche Laufzeit bei P A, P B, P C : = 26, 3 ms Durchschnittliche Laufzeit bei P B, P C, P A : = 11, 3 ms Durchschnittliche Wartezeit bei P A, P B, P C : = 16, 6 ms Durchschnittliche Wartezeit bei P B, P C, P A : = 2, 3 ms

64 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Ein weiteres Scheduling-Beispiel Auf einem Einprozessorrechner sollen die folgenden Prozesse mit unterschiedlichen Ankunftszeiten verarbeitet werden: Prozess A B C D E F G H I J K CPU-Laufzeit (ms) Ankunftszeit Skizzieren Sie die Ausführungsreihenfolge der Prozesse mit einem Gantt-Diagramm (Zeitleiste) für First Come First Served (FCFS), Shortest Job First (SJF), Longest Job First (LJF), Shortest Remaining Time First (SRTF) und Longest Remaining Time First (LRTF) Achtung: SRTF und LRTF sind präemptives (verdrängendes) Scheduling Berechnen Sie die mittleren Laufzeiten und Wartezeiten der Prozesse

65 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Ausführungsreihenfolge der Prozesse

66 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Ausführungsreihenfolge der Prozesse (Lösung)

67 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Laufzeit (Turnaround Time) und Wartezeit der Prozesse Laufzeit A B C D E F G H I J K FCFS SJF LJF SRTF LRTF Laufzeit A B C D E F G H I J K FCFS SJF LJF SRTF LRTF

68 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Laufzeit (Turnaround Time) der Prozesse (Lösung) A B C D E F G H I J K FCFS SJF LJF SRTF LRTF FCFS = 10 ms SJF = 6, 45 ms LJF = 11, 09 ms SRTF = 6, 27 ms LRTF = 12, 63 ms

69 Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS /69 Wartezeit der Prozesse (Lösung) A B C D E F G H I J K FCFS SJF LJF SRTF LRTF FCFS = 7 ms SJF = 3, 45 ms LJF = 8, 09 ms SRTF = 3, 27 ms LRTF = 9, 63 ms

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

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

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

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

CPU-Scheduling - Grundkonzepte

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

Mehr

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads Prozesse und Prozessmanagement des BS 1 Unterschied Prozess, Threads 1.1 Prozess Bei jedem Programm muss gespeichert werden, welche Betriebsmittel (Speicherplatz, CPU- Zeit, CPU-Inhalt,...) es benötigt.

Mehr

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

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

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

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse) 5 CPU-Scheduling Im folgenden wird von Threads gesprochen. Bei Systemen, die keine Threads unterstützen, ist der einzige "Thread" eines Prozesses gemeint. Früher wurde dieser Thread synonym mit dem Begriff

Mehr

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Prozess-Ablaufplanung Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduler Der Scheduler ist ein besonders wichtiges Programmteil jedes Betriebssystems. Prozesse P 1 P

Mehr

Ü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

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

Betriebssysteme (BTS)

Betriebssysteme (BTS) 19.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 22.6.2007 Heute 2.Testklausur mit 22 Fragen aus den Vorlesungen

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

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

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

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

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

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

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

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

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

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

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

(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

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

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

Ü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

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

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

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

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

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

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

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

Mehr

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

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

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

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

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

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

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

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

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

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

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

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

Mehr

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

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

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

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

Übung zu Grundlagen der Betriebssysteme. 8. Übung 04.12.2012

Übung zu Grundlagen der Betriebssysteme. 8. Übung 04.12.2012 Übung zu Grundlagen der Betriebssysteme 8. Übung 04.12.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein

Mehr

Scheduling. Gliederung. Was ist Scheduling? Scheduling. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3. Interrupts. 4.

Scheduling. Gliederung. Was ist Scheduling? Scheduling. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3. Interrupts. 4. Gliederung 1. Einführung und Übersicht 2. Prozesse und Threads 3. Interrupts 4. 5. Synchronisation 6. Interprozesskommunikation 7. Speicherverwaltung Cl. Schnörr / HM 1 Gliederung Cl. Schnörr / HM 2 Was

Mehr

(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

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

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

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

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lösungsskizzen zur Abschlussklausur Betriebssysteme Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,

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

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper 1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,

Mehr

Klausur. Betriebssysteme SS 2007

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

Mehr

Musterlösung der Abschlussklausur Betriebssysteme

Musterlösung der Abschlussklausur Betriebssysteme Musterlösung der Abschlussklausur Betriebssysteme 14. Februar 2014 Name: Vorname: Matrikelnummer: Tragen Sie auf allen Blättern (einschlieÿlich des Deckblatts) Ihren Namen, Vornamen und Ihre Matrikelnummer

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

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

Dokumentation Schedulingverfahren

Dokumentation Schedulingverfahren Dokumentation Schedulingverfahren von Norbert Galuschek Gordian Maugg Alexander Hahn Rebekka Weissinger June 23, 2011 1 Contents 1 Aufgabe 3 2 Vorgehensweise 4 2.1 Warum Android.......................

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

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

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

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

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

Mehr

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

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

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

Systemsoftware (SYS)

Systemsoftware (SYS) 5.Vorlesung Systemsoftware (SYS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Robotik 2.11.2007 Wiederholung vom letzten Mal Redundant Array of independent

Mehr

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7 Echtzeitprogrammierung und Echtzeitverhalten von Frank Erdrich Semester AI 7 Inhalt Einleitung Echtzeit und Echtzeitsysteme Echtzeitprogrammierung Real-Time Operating System Keil RTOS RTX Zusammenfassung

Mehr

Seminar: Mobile Geräte QNX Einführung

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

Mehr

OSEK/OSEKtime OS. Friedrich Alexander Universität Erlangen-Nürnberg. Wilhelm Haas 15. Juli 2006

OSEK/OSEKtime OS. Friedrich Alexander Universität Erlangen-Nürnberg. Wilhelm Haas 15. Juli 2006 OSEK/OSEKtime OS Ausgewählte Kapitel eingebetteter Systeme Friedrich Alexander Universität Erlangen-Nürnberg 1 Einführung Die Abkürzung OSEK steht für ein im Jahre 1993 gegründetes industrielles Standardisierungsgremium,

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

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

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

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

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

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

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

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

Betriebssysteme (BTS)

Betriebssysteme (BTS) 5.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 30.3.2007 Wiederholung vom letzten Mal Redundant Array of

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

KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation

KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation SS 2003 KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation 1 Sequentielle Prozesse Zu jedem Zeitpunkt t wird genau eine einzige Instruktion ausgeführt Hängt ab vom Abstraktionsgrad

Mehr

Musterlösung der Abschlussklausur Betriebssysteme

Musterlösung der Abschlussklausur Betriebssysteme Musterlösung der Abschlussklausur Betriebssysteme 7. Juli 2014 Name: Vorname: Matrikelnummer: Mit meiner Unterschrift bestätige ich, dass ich die Klausur selbständig bearbeite und das ich mich gesund und

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

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

Mehr

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

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

Mehr

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

Zusammenfassung Modul 223

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

Mehr

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

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen Rechnerarchitektur und Betriebssysteme Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,

Mehr

RTEMS- Echtzeitbetriebssystem

RTEMS- Echtzeitbetriebssystem RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-

Mehr

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

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

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