Betriebssysteme. Teil 13: Scheduling

Größe: px
Ab Seite anzeigen:

Download "Betriebssysteme. Teil 13: Scheduling"

Transkript

1 Betriebssysteme Teil 13: Scheduling Betriebssysteme - WS 2015/16 - Teil 13/Scheduling

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

3 Übersicht Zustände für Tasks Scheduling-Strategien Prioritätsinversion Scheduling mit mehreren CPUs Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 3

4 Scheduler Scheduling = Verfahren der Zuordnung von Betriebsmittel an Task (Zusammenfassung von Threads und Prozessen) Betriebsmittel können sein: CPU Platten/SSD Kritische Abschnitte Scheduler = Komponente im Kernel zur Realisierung eines Scheduling-Verfahrens Zentral für den Scheduler ist ein Plan: Kurzfristige Pläne Mittel/Langfristige Pläne Die Pläne beruhen u.a. auf Task-Zuständen Verbrauchte CPU-Zeit (späteste) Zeitpunkte der Ausführung Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 4

5 Zustände von Tasks (Konzept) I Zustand Bedeutung running Die Task besitzt gerade die CPU bzw. wird so behandelt, als ob sie läuft. Ort RAM ready Die Task wartet auf die Benutzung der CPU. RAM waiting Die Task wartet auf die Beendigung eines I/O- Vorgangs. RAM sleeping Die Task wartet längere Zeit auf einen Zeitpunkt, an dem sie die CPU haben will. swapped Teile oder die gesamte Task liegen nicht im RAM. RAM Platte SSD Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 5

6 Zustände von Tasks (Konzept) II running Braun: Kurzfristig create ready waiting sleeping swapped Blau: Mittel/Langfristig Das Terminieren kann aus jedem Zustand heraus erfolgen. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 6

7 Linux etwas realistischer Quelle: Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 7

8 Ziele des Schedulings Permanente Ausnutzung der CPU Maximale Anzahl von bearbeiteten Tasks pro Zeiteinheit (Systemdurchsatz) Systemsicht Niedrige durchschnittliche Wartezeit Minimale Antwort-/Reaktionszeit Benutzungssicht Jeder Taskwechsel kostet Zeit, d.h. häufiges Umschalten ist nicht gut. Fairness/Gerechtigkeit Einhaltung von Prioritäten Minimaler Aufwand für das Scheduling selbst Allgemein Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 8

9 Preemptive und Non-Preemptive Preemptive oder unterbrechendes Scheduling = Es besteht die Möglichkeit, dass ein rechnender Task die CPU abgibt, wenn der Scheduler dies entscheidet. Dies wird manchmal als Entzug der CPU bezeichnet. Non-Preemptive oder nicht unterbrechendes Scheduling = kooperatives Scheduling = Eine rechnende Task gibt die CPU nur explizit geplant ab, wenn sie terminiert, oder sie auf ein Ereignis wartet (I/O, z.b.). Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 9

10 Zeitpunkte für Scheduling-Entscheidungen Ereignisse einer Task Terminieren Erzeugen Warten auf ein Ereignis, z.b. Beendigung von I/O Erfolgte IPC Warten in einer Semaphore I/O-Interrupt Freiwillige Abgabe der CPU Timer-Interrupt Im folgenden wird nur noch das CPU-Scheduling betrachtet, alle anderen Arten, z.b. Plattenzugriff-Scheduling oder Scheduling des Plattenarms, arbeiten analog. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 10

11 Eine Beobachtung Tasks arbeiten fast immer in kurzen Schüben: Burst = Zeitabschnitt, in dem eine Task in einem Stück die CPU benutzt bzw. benutzen will, Deutsch: Stoß In den Pausen dazwischen wird auf ein Ereignis gewartet, meistens auf die Beendigung von I/O. Typisch ist (Beispiel): CPU benutzt Keine CPU I/O I/O Burst Burst Burst Burst Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 11

12 Überblick Verfahren Batch/Hintergrund-Tasks First-Come-First-Served (FCFS) Shortest Job First (SJF) Shortest Remainung Time Next (SRTN) Interaktive Tasks High Priority First (HPF) Round Robin (RR) Echtzeit-Tasks High Priority First (HPF) Earliest Deadline First (EDF) Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 12

13 First-Come-First-Served (FCFS) Non-Preemptives Scheduling Burst-Dauer ist bekannt Beispiel Task Burst Zeit T 1 24 Bevorzugung von Langläufern Zum Zeitpunkt der Entscheidung müssen alle Kandidaten bekannt sein T 2 6 T 3 3 T 1 T 2 T 3 T 2 T 3 T 1 Situation 1: Reihenfolge T 1, T 2, T 3 Mittlere Wartezeit: ( )/3=18 Situation 2: Reihenfolge T 2, T 3, T 1 Mittlere Wartezeit: (0+6+9)/3=5 Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 13

14 Shortest Job First (SJF) Non-Preemptives Scheduling Burst-Dauer ist bekannt Beispiel Task Burst Zeit T 1 24 Zum Zeitpunkt der Entscheidung müssen alle Kandidaten bekannt sein Bevorzugung von Task mit kurzen Burst-Zeiten T 2 6 T 3 3 T 3 T 2 T 1 Situation 1: Reihenfolge T 1, T 2, T 3 Mittlere Wartezeit: (0+3+9)/3=4 Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 14

15 Shortest Remaining Time Next (SRTN) I Preemptives Scheduling Burst-Dauer ist bekannt Es bekommt die Task die CPU, die vom ihrem Burst die kürzeste Restzeit noch hat. Variante: Maximale Burst-Dauer wird begrenzt. Jede Task bekommt eine Zeitscheibe als max. Burst-Dauer zugewiesen Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 15

16 Shortest Remaining Time Next (SRTN) II - Beispiel Task Burst Zeit Ankunft T T T T 1 T 3 T 2 T 1 T 2 T 3 T 2 T 1 SJF ohne Preemptive: Reihenfolge T 1, T 2, T 3 Mittlere Wartezeit: ( )/3=17 SJF/SRTF mit Preemptive: Reihenfolge T 1, T 2, T 3 Mittlere Wartezeit: (0+2+3)/3=1.7 Die mittlere Wartezeit ist bei SRTF minimal. Beim Preemtive-Scheduling sind die Task-Umschaltungen häufiger, auch verlängert sich die Bearbeitungszeit, dafür sinkt in der Regel die Wartezeit. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 16

17 Abschätzung der zukünftigen Burst-Dauer Aus der Vergangenheit lernen, z.b. gewichtete Mittelwertbildung: s n+1 = f*t n +(1-f)*s n s n : Schätzung zum Zeitpunkt n t n : Tatsächliche Burst-Dauer zum Zeitpunkt n f: Faktor zwischen 0 und 1 Ist der Faktor f 0, dann findet kein Lernen statt, denn die Schätzung ist immer gleich. Zu kleine Werte: zu langsame Anpassungen an Trends Ist der Faktor f 1, dann findet kein Lernen statt, denn der letzte tatsächliche Wert ist die zukünftige Schätzung, was zu hektischen Verhalten führt. Zu große Werte: hohe Schwankungen, kaum Glättungen Je größer der Wert für f ist, desto schneller wird die Vergangenheit vergessen. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 17

18 High Priority First I Non-Preemptive Der Task mit der höchsten Priorität erhält die CPU und behält sie unabhängig davon, ob inzwischen Tasks mit höherer Priorität die CPU haben wollen, solange bis der Burst beendet ist. Gefahr des Verhungerns niedrig priorisierter Tasks Preemptive Der Task mit der höchsten Priorität erhält die CPU und behält sie solange bis eine Tasks mit höherer Priorität die CPU haben will oder bis der Burst beendet ist. Gefahr des Verhungerns niedrig priorisierter Tasks Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 18

19 High Priority First II - Praxis Priorität 0 Priorität 1 CPU... Priorität N Die Tasks werden entsprechend ihrer Priorität in Warteschlangen eingereiht. Innerhalb einer Schlange haben alle Tasks dieselbe Priorität: FCFS Eine niedrige Nummer der Schlange bedeutet höhere Priorität. Eine Warteschlange wird abgearbeitet, wenn alle Warteschlangen höherer Priorität leer sind. Dies erfolgt mit/ohne CPU-Entzug (Preemptive). Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 19

20 High Priority First III - Verhungern Ein niedriger Prioritätswert (Integer) bedeutet höhere Priorität. Um das Verhungern zu verhindern, wird die Wartezeit in eine Erhöhung der Priorität also zu einer Erniedrigung des Integer- Wertes umgewandelt. Dies führt erst zum Nach-Vorne-Schieben in der Warteschlange und dann zum Verschieben in die nächst höhere. Im Extremfall befinden sich alle Tasks in der obersten Warteschlange. Diese Form des High Priority First also das Arbeiten mit Queues gleichberechtigter Tasks wird auch einfach Priority Scheduling genannt. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 20

21 Round Robin I Preemptives Scheduling Burst-Dauer ist auf eine Zeitscheibe begrenzt. Alle Tasks sind gleichwertig. Die Reihenfolge bestimmt FCFS. Gerechtes/faires Verfahren Beispiel Task Burst Zeit Ankunft T T T Länge der Zeitscheibe Nötige Taskwechsel Übliche Größen für Zeitscheiben liegen zwischen 20 und 50 ms. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 21

22 Round Robin II Sind die Zeitscheiben sehr kurz, kommt es zu Verlusten durch (zu) viele Task-Wechsel. Sind die Zeitscheiben zu lang, kommt nähert sich Round Robin zur FCFS-Strategie mit Benachteiligung langer Burst-Zeiten. Round Robin kann auch mit der Idee des Shortest Remaining Time Next kombiniert werden, so dass angefangene Zeitscheiben mit höherer Priorität beendet werden: Beendet eine Task aufgrund von Warten vorzeitig seine Zeitscheibe, so kommt sie nach dem Warten vorne in die Queue mit der reduzierten Zeitscheibe (wie bei SRTN). Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 22

23 Kurzzeitiges Höher-Priorisieren Es gibt gute Gründe für eine kurzzeitige Erhöhung der Priorität: Nach jedem Warten auf I/O, nicht nach einem Warten aufgrund Synchronisation oder nach Warten auf IPC Wenn Interaktivität verbessert werden soll: Nach jedem Warten wird die Priorität kurzzeitig erhöht. Jede Task innerhalb eines kritischen Abschnitts bei Preemptiven Strategien Zur Vermeidung von Priority Inversionen (Echtzeitsysteme) Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 23

24 Round Robin mit HPF kombiniert Priorität 0 Echtzeit-Tasks Priorität 1 CPU Interaktive Tasks... Priorität N Hintergrund-Tasks Wie bei High Priority First haben die Queues eine Priorität. Innerhalb einer Queue wird mit Round Robin gearbeitet, also mit festen Zeitscheiben. Nach jedem Durchlauf der Queue N wird ein Element aus der Queue N+1 ausgewählt. Eine lange Wartezeit kann durch Wechsel der Queues kompensiert werden. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 24

25 Variante mit unterschiedlichen Zeitscheiben I Queue 0 Zeitscheibe 8 ms (Beispiel) Queue 1 Zeitscheibe 16 ms (Beispiel) Queue 2 Round Robin, Zeitscheibe 32 ms (Beispiel) Nach jedem Warten oder nach der Erzeugung kommt die Task in die Queue 0 und erhält 1x nach FCFS eine Zeitscheibe von 8 ms. Reicht dies nicht, kommt die Task in Queue 1 und erhält 1x nach FCFS eine Zeitscheibe von 16 ms. Queue 1 wird nur bei leerer Queue 0 abgearbeitet. Reicht das immer noch nicht, kommt die Task in Queue 2 und erhält nach Round-Robin die CPU, wobei diese Queue nur bei leeren Queues 0 und 1 abgearbeitet wird. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 25

26 Variante mit unterschiedlichen Zeitscheiben II Dieses Verfahren ist ein Beispiel für eine Multi-Level-Feedback- Queue. Es bevorzugt Tasks mit kurzen Burst-Zeiten und I/O-intensive Tasks, benachteiligt aber Langläufer. Es gibt noch andere Varianten, z.b. 1) Jede Queue arbeitet nach Round Robin. 2)Beendet eine Task ihre Zeitscheibe mit einem Warten, so verbleibt sie in der Queue (wenn sie im Zustand ready wieder ist). 3)Verbraucht sie die Zeitscheibe und möchte weiterhin die CPU, so wandert sie in die nächst niedrigere Queue. 4)Verbraucht sie dann kurze Zeitscheiben, wird sie wieder höher gestuft. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 26

27 Earliest Deadline First (EDF) Wenn Tasks bis spätestens zu einem bestimmten Zeitpunkt gearbeitet haben müssen, wird die Zeit bis zu dieser Deadline zur Grundlage der Bestimmung der Priorität benutzt. Je kürzer diese Zeit, desto höher die Priorität. Dies ist typisch für Tasks, die zyklisch immer wiederkehrende Dinge tun müssen und einen ungefähr immer gleichen Aufwand benötigen. So etwas erfolgt in Realzeitsystemen mit festen Aufgaben. Es wird der späteste Startzeitpunkt berechnet (Deadline Laufzeit) sowie die Zeitdifferenz zu diesem Zeitpunkt. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 27

28 Phänomen der Prioritätsinversion I Bei priorisierten Verfahren gibt es noch eine kleine Schwierigkeit: Wenn eine Task mit hoher Priorität auf eine Task mit niedrigerer Priorität warten muss, widerspricht dies der höheren Priorität. Das kann z.b. bei einem p() vor einem kritischen Abschnitt passieren: Task L (mit niedriger Priorität) betritt den kritischen Abschnitt. Dann kommt Task H (mit hoher Priorität), führt das p() zu diesem belegten Abschnitt aus und muss auf Task L warten. Prioritätsinversion = Situation, in der (für eine unzumutbar lange Zeit) eine Task auf eine andere warten muss, die eine niedrigere Priorität besitzt Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 28

29 Phänomen der Prioritätsinversion II Verschärfung der Situation durch Tasks mit drei Prioritätsstufen: 1) Task L (mit niedriger Priorität) betritt den kritischen Abschnitt. 2)Dann kommt Task H (mit hoher Priorität), führt das p() zu diesem belegten Abschnitt aus und muss auf Task L warten. 3)Task M mit mittlerer Priorität (L<M<H) verdrängt nun Task L, so dass Task H noch länger warten muss. Gegenmaßnahme: Prioritätsvererbung In der obigen Situation erhält eine Task mindestens die Priorität der an der Spitze der Warteliste wartenden Task: 1) Task L (mit niedriger Priorität) betritt den kritischen Abschnitt. 2)Dann kommt Task H (mit hoher Priorität), führt das p() zu diesem belegten Abschnitt aus und muss auf Task L warten. 3)Task L erbt die Priorität H. Nun kann Task M mit mittlerer Priorität die Task L nicht mehr verdrängen. 4)Task L führt das v() aus und erhält wieder seine ursprüngliche niedrige Priorität. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 29

30 Phänomen der Prioritätsinversion III Die zeitlich begrenzte Vererbung von Priorität gilt für jegliches Warten auf Ressourcen, z.b.: Warten in p() Warten im receive() auf eine Nachricht Warten auf Freigabe von Speicher... jedoch nicht beim Warten auf I/O. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 30

31 Scheduling mit mehreren CPUs I Symmetrisches Multiprocessing = Alle CPUs haben dieselben Fähigkeiten und Geschwindigkeiten Asymmetrisches Multiprocessing = Einige der CPUs sind entweder langsamer als andere oder ihnen fehlen Fähigkeiten, z.b. Floating Point-Operationen Hier wird nur das symmetrische Multiprocessing behandelt. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 31

32 Scheduling mit mehreren CPUs II Variante 1 CPU 1 CPU CPU n Jede CPU hat ihre eigenen Warteschlangen mit entsprechenden Prioritäten bzw. Zeitscheiben. Es wird ein eigenes Scheduling realisiert in einem "virtuellen" Scheduler, der nur für die eine betreffende CPU zuständig ist. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 32

33 Scheduling mit mehreren CPUs III Variante 1 Vorteile 1) Cache nach Task-Wechsel hat meistens richtigen Inhalt. 2)Jede CPU hat einen Scheduler, der nur auf seine Queues zugreift, also wenige Kollisionen beim Zugriff auf Scheduling-Tabellen. Nachteile 1)Schlechte Verteilung der Belastung: einige CPUs sind überlastet, andere wenig belastet 2)Interrupts müssen von den CPUs bearbeitet werden, deren Task den I/O-Vorgang gestartet haben. 3) Zuordnung der Timer-Interrupts zu einer CPU muss erfolgen. Die Punkte 2) haben den Sinn, dass möglichst selten mehrere CPUs auf dieselben Datenstrukturen zugreifen. Denken Sie an Syscalls und Interrupts, die Auswirkungen auf die Scheduler-Tabellen haben. Das Ziel: Trennung in separate Bereiche. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 33

34 Scheduling mit mehreren CPUs IV Variante 2 CPU 1 CPU 2... CPU n Es gibt nur eine einzige Warteschlange bzw. Schlangensystem für alle CPUs. Ein globaler Scheduler regelt die CPU-Zuteilung. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 34

35 Scheduling mit mehreren CPUs V Variante 2 Vorteile 1) Guter Ausgleich der Belastung: alle CPUs sind gleich belastet. 2) Leicht zu implementieren 3) I/O-Interrupts können von beliebiger CPU bearbeitet werden. 4) Timer-Interrupts können von beliebiger CPU bearbeitet werden. Nachteile 1) Cache nach Task-Wechsel hat meistens einen falschen Inhalt. 2)Zu einem Zeitpunkt darf nur ein Scheduler auf einer beliebigen CPU laufen, d.h. die CPUs müssen sich dazu abstimmen. 3)Hohe Wahrscheinlichkeit für Kollisionen beim Zugriff auf Scheduling-Tabellen Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 35

36 Scheduling mit mehreren CPUs VI Variante 2 Um diese Variante 2 zu verbessern, wird häufig ein Parameter für die "Affinität" eines Tasks zu einer CPU eingeführt. Oder: Bei der Task-Erzeugung wird die ID der CPU, auf der die Task ausschließlich laufen soll, angegeben. Mit diesen beiden Mechanismen wird ein Kompromiss zwischen den beiden Varianten realisiert. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 36

37 Nach dieser Anstrengung etwas Entspannung... Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 37

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

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

Mehr

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

Scheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung

Scheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung Scheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung Nicht-präemptives Scheduling: CPU kann einem Prozess nur entzogen werden, wenn er beendet oder blockiert ist Präemptives Scheduling: Aktueller

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

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

Einführung. Klassisches Scheduling-Problem. Schedulingziel. 6. Kapitel Ressource Prozessor: Scheduling Wintersemester 08/09 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

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

5. Foliensatz Betriebssysteme und Rechnernetze

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

Mehr

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

Lösung von Übungsblatt 8

Lösung von Übungsblatt 8 Betriebssysteme (SS201) Lösung von Übungsblatt 8 Aufgabe 1 (Unterbrechungen) 1. Was sind Interrupts? Interrupts sind externe Unterbrechungen. Sie werden durch Ereignisse außerhalb des zu unterbrechenden

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

3.3 Strategien zur Ablaufsteuerung

3.3 Strategien zur Ablaufsteuerung 3.3 Strategien zur Ablaufsteuerung Prinzip der Trennung von Strategie (Richtlinie, policy) und Mechanismus (mechanism) bedeutet bei der Prozessverwaltung class Process {... static Set readylist

Mehr

Betriebssysteme. Wintersemester Kapitel 2 Prozess und Threads. Patrick Kendzo

Betriebssysteme. Wintersemester Kapitel 2 Prozess und Threads. Patrick Kendzo Betriebssysteme Wintersemester 2015 Kapitel 2 Prozess und Threads Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Ein- / Ausgabe und Dateisysteme Zusammenfassung

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

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

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

Literatur. VA SS Teil 5/Messages

Literatur. VA SS Teil 5/Messages Literatur [5-1] https://en.wikipedia.org/wiki/message-oriented_middleware [5-2] https://en.wikipedia.org/wiki/advanced_message_queuing_protocol http://www.amqp.org/specification/0-10/amqp-org-download

Mehr

Betriebssysteme BS-F WS 2015/16. Hans-Georg Eßer. Foliensatz F: Scheduling Prioritäten. v1.3, 2015/08/20

Betriebssysteme BS-F WS 2015/16. Hans-Georg Eßer. Foliensatz F: Scheduling Prioritäten. v1.3, 2015/08/20 BS-F Betriebssysteme WS 2015/16 Hans-Georg Eßer Foliensatz F: Scheduling Prioritäten v1.3, 2015/08/20 20.08.2015 Betriebssysteme, WS 2015/16, Hans-Georg Eßer Folie F-1 Übersicht Einführung System Calls

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

(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

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

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

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

Mehr

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

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

Mehr

Betriebssysteme Theorie

Betriebssysteme Theorie Betriebssysteme Theorie SS 2012 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz C (08.04.2012) Scheduler 08.04.2012 Betriebssysteme-Theorie, SS 2012, Hans-Georg Eßer Folie C-1 Gliederung Was ist

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

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

Proseminar KVBK : Scheduler unter Linux

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

Mehr

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

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

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

Mehr

SS 2005 KV Betriebssysteme Multi-Processing & Scheduling A. Putzinger, FIM 05

SS 2005 KV Betriebssysteme Multi-Processing & Scheduling A. Putzinger, FIM 05 SS 2005 KV Betriebssysteme Multi-Processing & Scheduling A. Putzinger, FIM 05 1 Übersicht Wiederholung der wichtigsten Konzepte und Begriffe aus der VL Fallbeispiele Win NT 4 Scheduler Linux O(1) Scheduler

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

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

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

Mehr

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

Übungen zur Vorlesung Realzeitsysteme

Übungen zur Vorlesung Realzeitsysteme Übungen zur Vorlesung Realzeitsysteme Alle Übungen, die in der Vorlesung behandelt werden und zur Bearbeitung ein Formular benötigen, sind im folgenden aufgelistet: Inhalte - Übung Synchrone Programmierung

Mehr

5) Realzeitscheduling

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

Mehr

Betriebssysteme 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

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

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

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

Ü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

Musterlösung Prüfung WS 01/02

Musterlösung Prüfung WS 01/02 Musterlösung Prüfung WS 01/02 Fach: I3 Software-Technik (SEE, GRS, BTS) Teilprüfung: Betriebssysteme Tag: 29.01.2002 10:45 14.45 Raum: 1006 Bearbeitungszeit: 4 Stunden Name:... Matr.Nr.:... Punkte:...

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 9.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 10.5.2007 Exkursion Die Exkursion wird am Freitag, den 18.5.2007

Mehr

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

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

Mehr

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

Systemsoftware (SYS) Fakultät für Informatik WS 2007/2008 Christian Baun. Übungsklausur Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2007/2008 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Echtzeitsysteme: Grundlagen

Echtzeitsysteme: Grundlagen EMES: Eigenschaften mobiler und eingebetteter Systeme 00101111010010011101001010101 Echtzeitsysteme: Grundlagen Dr. Felix Salfner, Dr. Siegmar Sommer Wintersemester 2010/2011 00101111010010011101001010101Was

Mehr

Entwurf und Implementierung einer Prozessinterkommunikation für Multi-Core CPUs Workshop Echtzeit 2013

Entwurf und Implementierung einer Prozessinterkommunikation für Multi-Core CPUs Workshop Echtzeit 2013 Entwurf und Implementierung einer Prozessinterkommunikation für Multi-Core CPUs Workshop Echtzeit 2013 Manuel Strobel 1 Hochschule Furtwangen University Fakultät CEE 2 Embedded Office GmbH & Co. KG 21.

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

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

(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

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen) Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen) 1 Prozesse Bei Betriebssystemen stoßen wir des öfteren auf den Begriff Prozess als wahrscheinlich am häufigsten verwendeter und am unklarsten

Mehr

Übung Betriebssysteme 11

Übung Betriebssysteme 11 Übung Betriebssysteme 11 Christian Motika Christian-Albrechts-Universität zu Kiel Institut für Informatik AG Echtzeitsysteme / Eingebettete Systeme Kiel, Germany 29-JAN-2013 CAU - WS 2012/13 Übung Betriebssysteme

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

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

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

Mehr

Arbeitsgruppe ESS Jun.-Prof. Dr. Sebastian Zug. Technische Informatik II (TI II) (5) Scheduling. Sebastian Zug Arbeitsgruppe: Embedded Smart Systems

Arbeitsgruppe ESS Jun.-Prof. Dr. Sebastian Zug. Technische Informatik II (TI II) (5) Scheduling. Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 1 Technische Informatik II (TI II) (5) Scheduling Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 2 Fragen an die Veranstaltung Welche Kernaufgabe wird durch das Scheduling umgesetzt? Welche Zielgrößen

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

8. Foliensatz Betriebssysteme

8. Foliensatz Betriebssysteme Prof. Dr. Christian Baun 8. Foliensatz Betriebssysteme Frankfurt University of Applied Sciences SS2016 1/56 8. Foliensatz Betriebssysteme Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

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

Ausgewählte Kapitel eingebetteter Systeme

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

Mehr

8. Vorlesung Betriebssysteme

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

Mehr

5.1) Realzeitscheduling (Mehrprozessorsysteme)

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

Mehr

Immediate Priority Ceiling

Immediate Priority Ceiling Vereinfachtes Protokoll: Immediate priority ceiling: Prozesse, die ein Betriebsmittel s belegen, bekommen sofort die Priorität ceil(s) zugewiesen. Anwendungsgebiet: Immediate Priority Ceiling Verwendung

Mehr

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Klausurort: Vorname Name: Adresse: Matrikelnummer:

Mehr

Wirtschaftsinformatik II Sommersemester Lo sungshinweise zu den Ü bungen P. Mandl, M. Dolag, B. Rottmüller, et al.

Wirtschaftsinformatik II Sommersemester Lo sungshinweise zu den Ü bungen P. Mandl, M. Dolag, B. Rottmüller, et al. Wirtschaftsinformatik II Sommersemester 2016 Lo sungshinweise zu den Ü bungen 2-6 @Prof. P. Mandl, M. Dolag, B. Rottmüller, et al. Seite 1 / 6 Übung 2 Verwendung von Java-Threads Ableitung von Klasse Thread

Mehr

Der Scheduler von Windows 2000 Konzepte und Strategien

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

Mehr

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

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

Modul B-PRG Grundlagen der Programmierung 1

Modul B-PRG Grundlagen der Programmierung 1 Modul B-PRG Grundlagen der Programmierung 1 Teil 3: Betriebssysteme, Dateisysteme,Sicherheit V20: Prozesse Prof. Dr. R. Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik

Mehr

Betriebssysteme Kapitel E : Prozesse

Betriebssysteme Kapitel E : Prozesse Betriebssysteme Kapitel E : Prozesse 1 Inhalt Prozesse Zustand eines Prozesses» Kontext» Kontextswitch Prozessbeschreibungsblock PCB Zustandsübergänge» Zustandsdiagramm 2 Hinweis Ein Programm(code) kann

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

Einführung in die technische Informatik

Einführung in die technische Informatik inführung in die technische Informatik hristopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris etriebssysteme ufgaben Management von Ressourcen Präsentation einer einheitlichen Schnittstelle

Mehr

Single- und Multitasking

Single- und Multitasking Single- und Multitasking Peter B. Ladkin ladkin@rvs.uni-bielefeld.de Peter B. Ladkin Command Interpreter (ComInt) läuft wartet auf Tastatur-Eingabe "liest" (parst) die Eingabe (für Prog-Name) Macht "Lookup"

Mehr

Windows 2000 Scheduler

Windows 2000 Scheduler Windows 2000 Scheduler Konzepte von Betriebssystem Komponenten Friedrich Alexander Universität Erlangen Nürnberg Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Sommersemester 2005 Viktor

Mehr

Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Übung 5: Semaphoren

Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Übung 5: Semaphoren Universität Stuttgart Prof. Dr.-Ing. Dr. h. c. P. Göhner Aufgabe 5.1: Übung 5: Semaphoren Semaphor-Operationen In Bild 5.1.1 ist die Anordnung von Semaphor-Operationen am Anfang und am e der asks A,B,C

Mehr

Computer-Systeme. Teil 13: Konzept der Threads

Computer-Systeme. Teil 13: Konzept der Threads Computer-Systeme Teil 13: Konzept der Threads Computer-Systeme WS 12/13 - Teil 13/Threads 02.01.2013 1 Übersicht I/O als langsamster Vorgang Threadwechsel mit der Resume-Operation Verfeinerung der Systemaufrufe

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

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 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

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

6. Juni VO Prüfung Betriebssysteme. Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

6. Juni VO Prüfung Betriebssysteme. Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 8. Prüfung Betriebssysteme. Juni KNr. MNr. Zuname, Vorname Ges.)().)().)().)() Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! Synchronisation mit Semaphoren () Eine Parkgarage

Mehr

Lösungen der Übungsaufgaben (Kap 1)

Lösungen der Übungsaufgaben (Kap 1) Lösungen der Übungsaufgaben (Kap 1) Übungsfragen Bei der Echtzeit-Programmierung steht nur der Zeitpunkt eines Ergebnisses im Vordergrund Echtzeit bedeutet so schnell wie möglich Bei weichen Echtzeit-Systemen

Mehr

Konzepte zur Steigerung der Preemptivität des Linux Kernels 2.6

Konzepte zur Steigerung der Preemptivität des Linux Kernels 2.6 Linux Automation Konferenz 2005 am 31.03.05 Konzepte zur Steigerung der Preemptivität des Linux Kernels 2.6 Arnd Heursch, Witold Jaworski, Romesch Düe und Helmut Rzehak Institut für Informationstechnische

Mehr

Grundlagen der Informatik für Ingenieure I. 5. Prozessverwaltung - Einführung

Grundlagen der Informatik für Ingenieure I. 5. Prozessverwaltung - Einführung Background: 5. Prozessverwaltung - Einführung 5.1 Wichtige Komponenten eines Prozessors 5.2 Betriebsstrategien von Rechensystemen 5.2.1 Aktivitätsträger, Prozesse, Threads 5.2.1.1 Prozesszustände 5.2.1.2

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

Was machen wir heute? Betriebssysteme Tutorium 3. Organisatorisches. Prozesskontrollblock (PCB) Programmieraufgaben. Frage 3.1.a

Was machen wir heute? Betriebssysteme Tutorium 3. Organisatorisches. Prozesskontrollblock (PCB) Programmieraufgaben. Frage 3.1.a Was machen wir heute? Betriebssysteme Tutorium 3 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

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

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis Einführung Einführung in in Betriebssysteme Betriebssysteme und und Theorie und Praxis Theorie und Praxis Oktober 2006 Oktober 2006 Prof. Dr. G. Hellberg Prof. Dr. G. Hellberg Email: hellberg@drhellberg.de

Mehr

Multicore in Echtzeitsystemen (1)

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

Mehr

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

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

Mehr

1 Prozesse und Scheduling (12 Punkte)

1 Prozesse und Scheduling (12 Punkte) 1 Prozesse und Scheduling (12 Punkte) a) UNIX Shell-Operatoren (insgesamt 4 Punkte) 1. Operator (1,5 Punkte) Beschreiben Sie die Funktionsweise des Operators. 2. Operator Beispiel (1 Punkt) Geben Sie für

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

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie

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

TechGI3: Systemprogrammierung. Klausur März 2008

TechGI3: Systemprogrammierung. Klausur März 2008 Klausur März 2008 ACHTUNG Die vorliegende wurde im März 2008 geschrieben. Sie ist für eine Bearbeitungszeit von 120 Minuten gedacht. In diesem Semester wurde das Modul TechGI3 nicht als prüfungsäquivalente

Mehr