Proseminar KVBK : Scheduler unter Linux

Ähnliche Dokumente
Systeme 1. Kapitel 5. Scheduling

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

CPU-Scheduling - Grundkonzepte

Übung zu Grundlagen der Betriebssysteme. 7. Übung

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

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

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

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Wolfram Burgard

Betriebssysteme (BTS)

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Dämon-Prozesse ( deamon )

Round-Robin Scheduling (RR)

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

Betriebssysteme. CPU-Scheduling - Fallbeispiele. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.

3. Scheduler und Schedulingstrategien

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.

Technische Informatik II

Vorl. 6: Single- und Multitasking

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

B.5 Prozessverwaltung B.5. Prozessverwaltung Prof. Dr. Rainer Manthey Informatik II 1

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Hausübung 2(Musterlösung)

Dokumentation Schedulingverfahren

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

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

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

Prozesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände

Betriebssysteme. Teil 13: Scheduling

8. Vorlesung Betriebssysteme

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen CPU Burst / I/O Burst

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

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

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

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

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

Übung zu Grundlagen der Betriebssysteme. 8. Übung

Embedded-Linux-Seminare. Linux als Betriebssystem

, SS2012 Übungsgruppen: Do., Mi.,

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

Anfragen werden als Ganzes erfüllt und erst nach Ablauf der Zeit der

Betriebssysteme Kapitel E : Prozesse

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

Realtimescheduling im Linux Kernel

Threads and Scheduling

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

A Kompilieren des Kernels B Lineare Listen in Linux C Glossar Interessante WWW-Adressen Literaturverzeichnis...

Parallele Prozesse. Prozeß wartet

Grundlagen Rechnerarchitektur und Betriebssysteme

Übung zu Einführung in die Informatik # 10

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

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

7.Vorlesung Betriebssysteme Hochschule Mannheim

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Betriebssysteme (BS)

(Prüfungs-)Aufgaben zum Thema Scheduling

Einführung in die Echtzeitbetriebssysteme

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

Der Scheduler von Windows Konzepte und Strategien

Tutorium Rechnerorganisation

Embedded Software Engeneering mit dem Raspberry Pi

Betriebssystembau (BSB)

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

5) Realzeitscheduling

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

Vorlesung Betriebssysteme

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

Operating System Kernels

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

,,Echtzeit ist ein Buzzword und sagt gerade bei Nichtrealtime-Betriebssystemen garnichts aus. (Thomas Ogrisegg in at.linux) Linux PREEMPT RT

2 Funktionen für die Verwaltung von Kontexten

Prozesse erzeugen, überwachen, killen und Prozessprioritäten ändern

Es kann maximal ein Prozess die Umladestelle benutzen.

2Binden 3. und Bibliotheken

Technische Informatik 1

TIMI: Technische Informatik für Medieninformatiker

Prozesse: Prozesskontrollblock, -zustände, -umschaltung

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

3 Schnittstelle zum Betriebssystem 3.5 Multitasking. Schichten und Sichten eines Rechnersystems

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Echtzeit-Programmierung bei Automatisierungssystemen

Kapitel III. Prozessverwaltung. VO Betriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Prozesse. Prozesskonzept. Prozess- ein Programm in Ausführung

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

Prozesse. Prozesse sind Programme. Prozesse können aus Unterprozessen bestehen. Prozesshierarchie Unterprozesse Threads

Betriebssysteme 1. Thomas Kolarz. Folie 1

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

Prozesse und Scheduling

Domänenanalyse Threadverwaltung/Scheduling

Transkript:

Proseminar KVBK : Scheduler unter Linux Valderine Kom Kenmegne Valderine Kom Kenmegne 1

Gliederung 1. Einführung 2. Einplanungsstrategien im Betriebsystem 2.1 Ziel der Einplanungsstrategien 2.2 Beispiele von Einplanungsstrategien 3. Linux Scheduler 3.1 Prozessarten in Linux 3.2 Prozesszustände 3.3 Prozessumschaltung 3.4 Praktisches Bespiel: Linux 2.4 Einplanungsstrategie 3.4.1 Echtzeitprozesse 3.4.2 Normalprozesse 3.4.3 Prozessauswahl 3.4.4 Nachteile 4. Zusammenfassung Valderine Kom Kenmegne 2

1. Einführung Um alltägliche Aufgaben zu erledigen braucht man einen genauen Zeitplan. Ebenso benötigt das Betriebsystem eine exakte Steuerung. Deshalb beschäftigen wir uns heute mit dem Thema Scheduler. Valderine Kom Kenmegne 3

2. Einplanungsstrategie im Betriebsystem 2.1 Ziel der Einplanungsstrategien Es gibt verschiedene Ziele die sich manchmal widersprechen: Maximale Prozessorausnutzung Rasche Bedienung von dringenden Prozessen Minimierung der Antwortzeit Gerechtigkeit Valderine Kom Kenmegne 4

2.2 Beispiele von Einplanungsstrategien First-Come First-Served (FCFS): Wer zuerst kommt malt zuerst Nicht-unterbrechendes Scheduling. Round Robin: Jeder Prozess bekommt eine Zeitscheibe. Unterbrechendes Scheduling. Shortest-Process-First: Prozess mit der kürzesten Bearbeitungsdauer wird zuerst ausgeführt. Man muss die Dauer der Ausführung vorher wissen. Valderine Kom Kenmegne 5

Gliederung 1. Einführung 2. Einplanungsstrategien im Betriebsystem 2.1 Ziel der Einplanungsstrategien 2.1 Beispiele von Einplanungsstrategien 3. Linux Scheduler 3.1 Prozessarten in Linux 3.2 Prozesszustände 3.3 Prozessumschaltung 3.4 Praktisches Bespiel: Linux 2.4 Einplanungsstrategie 3.4.1 Echtzeitprozesse 3.4.2 Normalprozesse 3.4.3 Berechnung der Prozesspriorität 3.4.4 Nachteile 4. Zusammenfassung Valderine Kom Kenmegne 6

3.1 Prozessarten in Linux Interaktivprozesse: Sie interagieren vielfach mit dem Benutzer z.b Texteditoren, Shellbefehle... Batchprozesse: Sie interagieren nicht mit dem Benutzer und laufen im Normalfall im Hintergrund z.b Suchmaschine, Compiler... Echtzeitprozesse: Sie brauchen eine schnelle Antwortzeit mit geringer Abweichung. Z.b. Robotercontroller, Video und Tonübertragung... Valderine Kom Kenmegne 7

3.2 Prozesszustände Abb. 4.1: Zustandsdiagramm von Prozessen in UNIX / Linux [Vogt 2001] Valderine Kom Kenmegne 8

3.3 Prozessumschaltung Ein Prozesswechsel kann erfolgen, wenn eines der folgenden Ereignisse stattfindet: Ein neuer Prozess wird erzeugt. Prozess beendet. Prozess blockiert. Die Zeitscheibe ist abgelaufen. Valderine Kom Kenmegne 9

Gliederung 1. Einführung 2. Einplanungsstrategien im Betriebsystem 2.1 Ziel der Einplanungsstrategien 2.1 Beispiele von Einplanungsstrategien 3.Linux Scheduler 3.1 Prozessarten in Linux 3.2 Prozesszustände 3.3 Prozessumschaltung 3.4 Praktisches Bespiel: Linux 2.4 Einplanungsstrategie 3.4.1 Echtzeitprozesse 3.4.2 Normalprozesse 3.4.3 Berechnung der Prozesspriorität 3.4.4 Nachteile 4. Zusammenfassung Valderine Kom Kenmegne 10

3.4 Praktisches Bespiel: Linux Einplanungsstrategie Hier wird wie in Linux in General, zwischen Echtzeitprozesse und Normalprozesse unterschiedet und dann eine Einplanungsstrategie gewählt. Valderine Kom Kenmegne 11

3.4.1 Echtzeitprozesse Jeder Prozess hat eine statische Priorität zwischen 1 99: SCHED_FIFO: Wie FCFS. Jedoch wird dieser Prozess verdrängt, wenn es eine höhere Priorität gibt. SCHED_RR: Wie SCHED_FIFO aber mit Zeitscheiben. Valderine Kom Kenmegne 12

3.4.2 Normalprozesse Hier geht es um Nicht-Echtzeitprozesse. Nur eine Einplanungsstrategie: SCHED_OTHER: Dynamische Priorität. Priorität zwischen [-20, 19] kann durch nice () beeinflusst werden. Wird nur ausgeführt, wenn es keine Echtzeitprozesse mehr gibt. Valderine Kom Kenmegne 13

3.4.3 Prozessauswahl Valderine Kom Kenmegne 14

3.4.3 Prozessauswahl Der CPU benutzt den Goodness -Wert (G) um den auszuführenden Prozess auszuwählen. Diese Werte werden dank des Prioritätswerts intern berechnet. Scheduling- Strategie SCHED_FIFO, SCHED_RR verbliebenes Zeitquantum Goodness - 1000 + Priorität SCHED_OTHER > 0 Quantum+Priorität (+1) SCHED-OTHER 0 0 Goodness - tabelle ix 2/2005 Valderine Kom Kenmegne 15

3.4.4 Nachteile von Linux 2.4 Großer Aufwand: Bei neuer Auswahl müssen alle Prozesse in der Run-Queue nach den besten Goodness -Werten ausgesucht werden. Verklemmungsgefahr: Es kann passieren, dass ein CPU wartet bis die Liste freigegeben ist, bevor ein neuer Prozess ausgeführt wird. Valderine Kom Kenmegne 16

4. Zusammenfassung Scheduling dient dazu die Reihenfolge, in der die Prozesse ausgeführt werden sollen, festzulegen. In Linux wird zuerst zwischen Echtzeitprozessen und Normalprozessen unterschieden; dann wird eine Einplanungsstrategie gewählt: SCHED_FIFO, SCHED_RR, SCHED_ OTHER. Der Scheduler berechnet zum Auswahlverfahren den sogenannten Goodness -Wert. Valderine Kom Kenmegne 17

Noch Fragen?? Valderine Kom Kenmegne 18