Betriebssysteme (BTS)



Ähnliche Dokumente
8. Vorlesung Betriebssysteme

5. Foliensatz Betriebssysteme und Rechnernetze

Systeme 1. Kapitel 5. Scheduling

8. Foliensatz Betriebssysteme

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

7.Vorlesung Betriebssysteme Hochschule Mannheim

Round-Robin Scheduling (RR)

Lösung von Übungsblatt 8

Übungen zum Fach Betriebssysteme Kapitel 3

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

Dämon-Prozesse ( deamon )

Dokumentation Schedulingverfahren

CPU-Scheduling - Grundkonzepte

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

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

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Echtzeitscheduling (1)

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Domänenanalyse Threadverwaltung/Scheduling

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

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Es kann maximal ein Prozess die Umladestelle benutzen.

Betriebssysteme und Systemsoftware

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

Hausübung 2(Musterlösung)

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

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

3. Scheduler und Schedulingstrategien

Professionelle Seminare im Bereich MS-Office

EasyWk DAS Schwimmwettkampfprogramm

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

1. Allgemeines zum tevitel.wq-monitor Seite WQ-Monitor konfigurieren Seite 4

Windows Server 2008 (R2): Anwendungsplattform

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Anleitung über den Umgang mit Schildern

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

3.14 Die Programmieroberfläche Programmierung

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

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

1 topologisches Sortieren

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

TIMI: Technische Informatik für Medieninformatiker

Die Gesellschaftsformen

Was meinen die Leute eigentlich mit: Grexit?

FÜR 2 BIS 4 SPIELER AB 8 JAHREN

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Veranstaltungsbelegung in QIS/LSF -- Leitfaden für BW-Studierende --

Step by Step Webserver unter Windows Server von Christian Bartl

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Studieren- Erklärungen und Tipps

5) Realzeitscheduling

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

(b) Worin besteht der Unterschied zwischen online und offline Scheduling?

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Urlaubsregel in David

How to do? Projekte - Zeiterfassung

PowerPoint 2010 Mit Folienmastern arbeiten

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Wichtiges Thema: Ihre private Rente und der viel zu wenig beachtete - Rentenfaktor

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Lehrer: Einschreibemethoden

Lösungshinweise zur Einsendearbeit 2 SS 2011

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Microsoft Update Windows Update

Local Control Network

Netzwerkeinstellungen unter Mac OS X

A Lösungen zu Einführungsaufgaben zu QueueTraffic

Technische Informatik II

Dow Jones am im 1-min Chat

Zeichen bei Zahlen entschlüsseln

VON ANFANG AN! TAG 9: TRADING

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Ein neues System für die Allokation von Spenderlungen. LAS Information für Patienten in Deutschland

Modul 13: DHCP (Dynamic Host Configuration Protocol)

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Nutzung von GiS BasePac 8 im Netzwerk

Tipps und Tricks zu Netop Vision und Vision Pro

Anleitung zur Nutzung des SharePort Utility

Um Ihre Ziele durchzusetzen! Um Beziehungen zu knüpfen und zu pflegen! Um in Begegnungen mit anderen Ihre Selbstachtung zu wahren!

Grundlagen verteilter Systeme

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Monitoring-Service Anleitung

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

virtuos Leitfaden für die virtuelle Lehre

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

WO IST MEIN HUND? SICHER, SCHNELL UND ZUVERLÄSSIG

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Anleitung zum Computercheck Windows Firewall aktivieren oder eine kostenlose Firewall installieren

Transkript:

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 stattfinden. Der Eigenanteil zu den Exkursionskosten entfällt! Die Anmeldeliste befindet sich im Sekretariat. Wichtig: Abfahrt aus Mannheim: 6.15 Uhr, vor Bau 1 (Eingang Speyerer Straße) Abfahrt aus Paderborn: 18.00 Uhr Die Exkursion ist eine Pflichtveranstaltung der BTS-Vorlesung! 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 2

Heute Der Dispatcher (Prozessumschalter) Scheduling, Scheduling-Kriterien und Scheduling-Strategien Nicht-präemptives und Präemptives Scheduling Scheduling-Verfahren Round Robin First Come First Served Shortest Job First und Longest Job First Prioritätengesteuertes Scheduling Earliest Deadline First Fair-Share Multilevel-Scheduling 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 3

Prozesswechsel im Mehrprogrammbetrieb Beim Mehrprogrammbetrieb (Multitasking), bei dem mehrere Programme gleichzeitig, zeitlich verschachtelt (quasi-parallel) ausgeführt werden, wird der Prozessor im raschen Wechsel zwischen den Prozessen umgeschaltet. Dem Betriebssystem fallen hierbei zwei Aufgaben zu: 1. Dispatching: Umschalten des Prozessors bei einem Prozesswechsel. 2. Scheduling: Festlegen des Zeitpunkts des Prozesswechsels und der Ausführungsreihenfolge der Prozesse. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 4

Prozesswechsel Der Dispatcher (1) Beim Dispatching wird der Prozesswechsel durchgeführt. Aufgabe des Dispatchers (Prozessumschalters) ist es, die Zustandsübergänge der Prozesse durchzuführen. Bei einem Prozesswechsel entzieht der Dispatcher dem derzeit aktiven, 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 Zustandlisten 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. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 5

Prozesswechsel Der Dispatcher (2) Beim Prozesswechsel in oder aus dem Zustand rechnend, muss immer der Kontext, also die Registerinhalte des aktuell ausgeführten Proesses im Prozesskontrollblock gespeichert (gerettet) werden, der Prozessor einem anderen Prozess zugeteilt und dessen Kontext (Registerinhalte) aus seinem Prozesskontrollblock wieder hergestellt werden. Bei modernen Betriebssystemen erhält die CPU zu jedem Zeitpunkt einen Prozess. Auch, wenn akuell kein Prozess im Zustand bereit und damit ausführungsbereit ist. Für diesen Zweck gibt es den sogenannten Leerlaufprozes (Idle Task), dem in diesem Fall die CPU zugeteilt wird. 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 und auf modernen Prozessor-Architekturen versetzt der Leerlaufprozess die CPU in einen stromsparenden Modus. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 6

Festlegen der Ausführungsreihenfolge Scheduling 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. Beim Scheduling wird versucht folgende Grundsätze einzuhalten: 1. Durchsatz: Abarbeitung möglichst vieler Prozesse pro Zeitintervall. 2. Effizienz: Möglichst vollständige Auslastung der CPU. 3. Termineinhaltung: Prozesse, die zu einem bestimmten Termin abgearbeitet werden müssen, werden so eingeplant, dass der Termin eingehalten wird. 4. Fairness: Die CPU den Prozessen möglichst gerecht zuteilen. Es soll kein Prozess dauerhaft vernachlässigt werden. 5. Overhead: Der zeitliche Aufwand für das Scheduling soll minimal sein. 6. Turnaround: Die Wartezeit der Benutzer soll minimal sein. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 7

Scheduling-Kriterien und Scheduling-Strategien Keine Scheduling-Strategie ist für jedes System optimal geeignet und kann alle Scheduling-Kriterien wie CPU-Auslastung, Durchsatz, Wartezeit, Verweilzeit, Echtzeitverhalten, Fairness und andere optimal berücksichtigen. Bei der Auswahl einer Scheduling-Strategie muss immer ein geeigneter Kompromiss zwischen den Scheduling-Kriterien gefunden werden. Die existierenden Schedulingverfahren können in zwei grundsätzliche Klassen unterteilt werden, nämlich in Nicht-präemptives Scheduling (nicht-verdrängendes Scheduling) und Präemptives Scheduling (verdrängendes Scheduling). 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 8

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. Eine vorzeitige Entziehung der CPU durch den Scheduler ist nicht vorgesehen. Problematisch ist dabei, dass ein Prozess die CPU so lange belegen kann, wie er möchte und 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 wieder entzogen werden, um diese anderen Prozessen zuzuteilen. Der Prozess pausiert so lange in seinem aktuellen Zustand, bis ihm wieder die CPU vom Scheduler zugeteilt wird. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 9

Scheduling-Verfahren Im Laufe der Jahrzehnte wurden viele Scheduling-Verfahren (Algorithmen) entwickelt. Jedes Scheduling-Verfahren versucht unterschiedlich starkt, die bekannten Scheduling-Kriterien und Grundsätze einzuhalten. Zu den bekanntesten Scheduling-Verfahren gehören: Round Robin (RR) mit Zeitquantum First Come First Served (FCFS) bzw. First In First Out (FIFO) Shortest Job First (SJF) und Longest Job First (LJF) Shortest Remaining Time First (SRTF) Longest Remaining Time First (LRTF) Prioritätengesteuertes Scheduling Earliest Deadline First (EDF) Fair-Share Multilevel-Scheduling 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 10

Round Robin Zeitscheibenverfahren (1) Bei Round Robin, das gelegentlich auch als Zeitscheibenverfahren bezeichnet wird, werden Zeitschlitze (englisch: time slices), auch Zeitscheiben oder Zeitquanten genannt, mit einer festen Dauer festgelegt. Die Prozesse werden in einer zyklischen Warteschlange nach dem First-In- First-Out-Prinzip (FIFO) 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 Wartschlange eingereiht. Wird ein Job erfolgreich beendet, wird er auf der Wartschlange entfernt. Neue Jobs werden am Ende der Wartschlange eingereiht. Die Zugriffszeit auf die CPU wird bei Round-Robin nahezu gleichmäßig und fair auf die vorhandenen Prozesse aufgeteilt. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 11

Round Robin Zeitscheibenverfahren (2) 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 des Scheduling bei Round- Robin spielt die Größe der Zeitschlitze. Sind sie zu kurz, müssen viele Prozesswechsel stattfinden und der Scheduler muss oft aufgerufen werden. Das erzeugt einen hohen System-Overload wegen des Verwaltungsaufwands. Sind sie zu lang, geht die Gleichzeitigkeit verloren. Das System hängt. Die Größe der Zeitschlitze bei Round Robin liegt üblicherweise im einoder zweistelligen Millisekundenbereich. Round Robin bevorzugt Prozesse, die eine kurze Abarbeitungszeit haben und muss die Bearbeitungsdauern der Prozesse nicht im Voraus kennen. Round Robin ist ein präemptives (verdrängendes) Scheduling-Verfahren. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 12

Round Robin Zeitscheibenverfahren (3) Prozess F Prozess E Prozess A Prozess B Prozess C Weitergabe des Zugriffs auf die CPU, bei: Ablauf der Zeitscheibe Beendigung (Terminierung) des Prozesses Unterbrechung (Blockierung) des Prozesses Prozess D 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 13

Beispiel zu Round Robin Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden: Prozess CPU-Laufzeit (ms) 1 8 2 4 3 7 4 13 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) mit dem Zeitquantum q = 1 ms. 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 3 4 1 3 4 1 3 4 1 4 4 4 4 4 4 0 5 10 15 20 25 30 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 14

Laufzeit und Wartezeit bei Round Robin Laufzeit (Turnaround Time) der Prozesse Prozess P1 P2 P3 P4 Laufzeit 26 14 19 32 26+14+19+32 4 = 22,75 ms Wartezeit der Prozesse Zeit in der bereit-liste Prozess P1 P2 P3 P4 Wartezeit 18 10 17 19 18+10+17+19 4 = 16 ms 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 15

First Come First Served (FCFS) Bei First Come First Served, auch First In First Out (FIFO) genannt, werden die Prozesse entsprechend ihrer Ankunftsreihenfolge bedient. Dieses Scheduling-Verfahren ist vergleichbar mit einer Warteschlange von Kunden in einem Geschäft. Laufende Prozesse werden bei diesem Scheduling-Verfahren nicht unterbrochen. Es handelt sich um nicht-präemptives (nicht-verdrängendes) Scheduling. First In First Out bzw. First Come First Served können als fair bezeichnet werden, weil alle Jobs berücksichtigt werden. Nachteil: 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. Round Robin mit Zeitscheibengröße verhält sich wie FCFS. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 16

Beispiel zu First Come First Served Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden: Prozess CPU-Laufzeit (ms) Ankunftszeit 1 8 0 2 4 3 3 7 13 4 13 16 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste). 1 2 3 4 0 5 10 15 20 25 30 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 17

Laufzeit und Wartezeit bei First Come First Served Laufzeit (Turnaround Time) der Prozesse Prozess P1 P2 P3 P4 Laufzeit 8 9 7 17 8+9+7+17 4 = 10,25 ms Wartezeit der Prozesse Zeit in der bereit-liste Prozess P1 P2 P3 P4 Wartezeit 0 5 0 4 0+5+0+4 4 = 2,25 ms 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 18

Shortest Job First (SJF) Bei Shortest Job First (auch Shortest Process Next genannt) erhält der Job mit der kürzesten Abarbeitungszeit als erster Zugriff auf die CPU. Shortest Job First ist nicht-präemptives (nicht-verdrängendes) Scheduling. Das Hauptproblem ist, dass bei jedem Prozess bekannt sein muss, wie lange er bis zu seiner Terminierung braucht, also wie lange seine Abarbeitungszeit ist. In der Realität ist es praktisch nie der Fall, dass die Abarbeitungszeit eines Prozesses im Voraus bekannt ist. Es sind näherungsweise Implementierungen durch Approximation möglich. Bei der Approximation von Shortest Job First wird die Abarbeitungszeit eines Jobs abgeschätzt, indem das Verhalten des Jobs in der Vergangenheit betrachtet wird. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 19

Shortest Job First (SJF) Es wird angenommen, dass ein Job sich in Zukunft gleich oder ähnlich verhalten wird. Shortest Job First ist nicht fair, da Jobs mit kurzer Abarbeitungszeit bevorzugt werden und Jobs mit langer Abarbeitungszeit eventuell erst nach sehr langer Wartezeit oder nie Zugriff auf die CPU erhalten. Präemptives Shortest Job First wird auch als Shortest Remaining Time First (SRTF) bezeichnet. Wenn ein neuer Prozess mit einer kürzeren Abarbeitungszeit eintrifft, wird der aktuell rechnende Prozess von der CPU verdrängt. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 20

Beispiel zu Shortest Job First Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden: Prozess CPU-Laufzeit (ms) 1 8 2 4 3 7 4 13 Alle Prozesse kommen gleichzeitig an. Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste). 2 3 1 4 0 5 10 15 20 25 30 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 21

Laufzeit und Wartezeit bei Shortest Job First Laufzeit (Turnaround Time) der Prozesse Prozess P1 P2 P3 P4 Laufzeit 19 4 11 32 19+4+11+32 4 = 16,5 ms Wartezeit der Prozesse Zeit in der bereit-liste Prozess P1 P2 P3 P4 Wartezeit 11 0 4 19 11+0+4+19 4 = 8,5 ms 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 22

Beispiel zu Shortest Remaining Time First Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden: Prozess CPU-Laufzeit (ms) Ankunftszeit 1 8 0 2 4 3 3 7 16 4 13 11 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste). 1 2 1 4 3 4 0 5 10 15 20 25 30 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 23

Laufzeit und Wartezeit bei SRJF Laufzeit (Turnaround Time) der Prozesse Prozess P1 P2 P3 P4 Laufzeit 12 4 7 21 12+4+7+21 4 = 11 ms Wartezeit der Prozesse Zeit in der bereit-liste Prozess P1 P2 P3 P4 Wartezeit 4 0 9 21 4+0+9+21 4 = 8,5 ms 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 24

Longest Job First (LJF) Bei Longest Job First erhält der Job mit der längsten Abarbeitungszeit als erster Zugriff auf die CPU. Auch Longest Job First kann als nicht-präemptives (nicht-verdrängendes) Scheduling und präemptives (verdrängendes) Scheduling realisiert werden. Im Fall von präemptivem Scheduling, wird der aktuell rechnende Prozess verdrängt, wenn ein neuer Prozess mit einer längeren Abarbeitungszeit eintrifft = Longest Remaining Time First (LRTF). Das Hauptproblem von Longest Job First ist, genau wie bei Shortest Job First, dass bei jedem Prozess bekannt sein muss, wie lange er bis zu seiner Terminierung braucht, also wie lange seine Abarbeitungszeit ist. Das ist in der Realität aber nur selten der Fall. Auch Longest Job First ist nicht fair, da Jobs mit langer Abarbeitungszeit bevorzugt werden und Jobs mit kurzer Abarbeitungszeit eventuell erst nach sehr langer Wartezeit oder nie Zugriff auf die CPU erhalten. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 25

Beispiel zu Longest Job First Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden: Prozess CPU-Laufzeit (ms) 1 8 2 4 3 7 4 13 Alle Prozesse kommen gleichzeitig an. Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste). 4 1 3 2 0 5 10 15 20 25 30 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 26

Laufzeit und Wartezeit bei Longest Job First Laufzeit (Turnaround Time) der Prozesse Prozess P1 P2 P3 P4 Laufzeit 21 32 28 13 21+32+28+13 4 = 23,5 ms Wartezeit der Prozesse Zeit in der bereit-liste Prozess P1 P2 P3 P4 Wartezeit 13 28 21 0 13+28+21+0 4 = 15,5 ms 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 27

Beispiel zu Longest Remaining Time First Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden: Prozess CPU-Laufzeit (ms) Ankunftszeit 1 8 0 2 4 6 3 7 21 4 13 11 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste). 1 2 1 4 3 4 1 0 5 10 15 20 25 30 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 28

Laufzeit und Wartezeit bei LRJF Laufzeit (Turnaround Time) der Prozesse Prozess P1 P2 P3 P4 Laufzeit 32 4 7 20 32+4+7+20 4 = 15,75 ms Wartezeit der Prozesse Zeit in der bereit-liste Prozess P1 P2 P3 P4 Wartezeit 18 0 0 7 13+28+21+0 4 = 6,25 ms 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 29

Prioritätengesteuertes Scheduling Beim prioritätengesteuerten Scheduling werden die Prozesse nach ihrer Priorität, also ihrer Wichtigkeit bzw. Dringlichkeit abgearbeitet. Jedem Prozess wird eine ganze Zahl zugewiesen, die die Priorität repräsentiert. Es wird immer dem Prozess im Zustand bereit die CPU zugeweisen, der die höchste Priorität hat. Die Priorität kann von verschiedenen Kriterien abhängen, z.b. der Anzahl der benötigten Ressourcen, Rang des Benutzers, geforderte Echtzeitkriterien, usw. Die Prioritätenvergabe kann statisch oder dynamisch sein. Statische Prioritäten ändern sich während der gesammten Lebensdauer eines Prozesses nicht und werden häufig in Echtzeit-Systemen verwendet. Dynamische Prioritäten werden von Zeit zu Zeit angepasst. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 30

Beispiel zum Prioritätengesteuerten Scheduling Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden: Prozess CPU-Laufzeit (ms) Priorität 1 8 3 2 4 15 3 7 8 4 13 4 Alle Prozesse kommen gleichzeitig an. Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste). 2 3 4 1 0 5 10 15 20 25 30 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 31

Laufzeit und Wartezeit bei prioritätengesteuertem Scheduling Laufzeit (Turnaround Time) der Prozesse Prozess P1 P2 P3 P4 Laufzeit 32 4 11 24 32+4+11+24 4 = 17,75 ms Wartezeit der Prozesse Zeit in der bereit-liste Prozess P1 P2 P3 P4 Wartezeit 24 0 4 11 24+0+4+11 4 = 9,75 ms 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 32

Earliest Deadline First (EDF) Beim Scheduling-Verfahren Earliest Deadline First wird darauf geachtet, dass die Prozesse nach Möglichkeit ihre Termine zur Fertigstellung, die Deadlines, einhalten können. Earliest Deadline First kann als nicht-präemptives (nicht-verdrängendes) Scheduling und präemptives (verdrängendes) Scheduling realisiert werden. Präemptives (verdrängendes) Earliest Deadline First wird bevorzugt in Echtzeitsysteme eingesetzt. 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 Neuorganisierung der Prozess- Warteschlange findet immer dann statt, wenn ein neuer Prozess in den Zustand bereit wechselt oder ein aktiver Prozess beendet (terminiert). 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 33

Beispiel zu Earliest Deadline First Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden: Prozess CPU-Laufzeit (ms) Deadline 1 8 25 2 4 18 3 7 9 4 13 34 Alle Prozesse kommen gleichzeitig an. Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste). 3 2 1 4 0 5 10 15 20 25 30 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 34

Laufzeit und Wartezeit bei Earliest Deadline First Laufzeit (Turnaround Time) der Prozesse Prozess P1 P2 P3 P4 Laufzeit 15 11 7 32 15+11+7+32 4 = 16,25 ms Wartezeit der Prozesse Zeit in der bereit-liste Prozess P1 P2 P3 P4 Wartezeit 11 7 0 19 11+7+0+19 4 = 9,25 ms 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 35

Fair-Share (1) Beim Fair-Share-Algorithmus werden Ressourcen zwischen Gruppen von Jobs in einer fairen Art und Weise aufgeteilt. Das besondere bei Fair-Share ist, dass die Rechenzeit den Benutzern und nicht den Prozessen zugeteilt wird. Die Rechenzeit, die ein Benutzer erhält, ist unabhängig von der Anzahl seiner Prozesse. Die Anteile an Rechenressourcen, die die Benutzer beim Fairsharing besitzen, werden als Shares bezeichnet. Der Fair-Share Algorithmus hat sich besonders im Cluster- und Grid- Umfeld durchgesetzt. Fair-Share wird in aktuellen Job-Schedulern und Meta-Schedulern zur Verteilung der Aufträge auf Ressourcen in Grid- Standorten und zwischen den Standorten im Grid eingesetzt. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 36

Fair-Share (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% 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 37

Multilevel-Scheduling Da bei jeder Scheduling-Strategie Kompromisse bzgl. der unterschiedlichen Scheduling-Kriterien gemacht werden müssen, werden in der Praxis häufig mehrere Scheduling-Strategien miteinader kombiniert. = Multilevel-Scheduling, auch Mehrebenen-Scheduling genannt Die einfachste Form der Realisierung von Multilevel-Scheduling ist das sogenannte Statische Multilevel-Scheduling. Hierbei wird die bereit-liste in mehrere Teillisten unterteilt und in jeder Teilliste wird eine andere Scheduling-Strategie eingesetzt. Die Teillisten haben in den meisten Fällen unterschiedliche Prioritäten oder verschiedene Zeitmultiplexe (z.b. 80%:20% oder 60%:30%:10%). Multilevel-Scheduling eignet sich sehr gut, um zeitkrische von zeitunkritischen Threads zu trennen. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 38

Statische Multilevel-Scheduling (1) 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 und jede Teilliste vewendet ein anderes Scheduling-Verfahren. Die höchste Prozessklasse hat üblicherweise die höchste Priorität. Die niedrigste Prozessklasse hat die Priorität 1. 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 39

Statische Multilevel-Scheduling (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 1 Echtzeitprozesse (zeitkritisch) Prioritätengesteuert 1 Interaktive Prozesse Round Robin 2 E/A-Intensive Prozesse Round Robin 3 Rechenintensive Stapelprozesse First Come First Served 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 40

Nächste Vorlesung: 11.5.2007 9.VorlesungBetriebssysteme (BTS) Hochschule Mannheim Folie 41