Betriebssysteme Sommersemester Betriebssysteme. 4. Kapitel. Scheduling. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme

Größe: px
Ab Seite anzeigen:

Download "Betriebssysteme Sommersemester Betriebssysteme. 4. Kapitel. Scheduling. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme"

Transkript

1 Betriebssysteme Sommersemester 2017 Betriebssysteme 4. Kapitel Scheduling Dr. Peter Tröger / Prof. M. Werner Professur Betriebssysteme

2 4.1 Einführung Strategie und Mechanismus Betriebssysteme Scheduling 4.1 Einführung Wiederholung: Prozess ist ein Konzept zur Virtualisierung eines Hardware-Betriebsmittels Strategie: Die prinzipielle Entscheidung, welcher Prozess wann die CPU nutzen darf Mechanismus: Die Art und Weise, wie die Strategie durchgesetzt wird Prozessumschaltung als Mechanismus bereits besprochen Nun Betrachtung der möglichen Strategien SoSe 2017 P. Tröger / M. Werner 2 / 45 osg.informatik.tu-chemnitz.de

3 4.1 Einführung Begriff Scheduling (Ablaufplanung): Zeitliche Zuordnung von Aktivitäten zu Ressourcen Scheduling tritt auf verschiedenen Granularitätsebenen auf: Wann sollen Programme gestartet werden? Wann soll ein Prozess eine CPU verwenden dürfen? Wann soll ein bestimmter Befehl einer Befehlsfolge ausgeführt werden? (Hardware in Pipelining- bzw. Superskalararchitekturen) Wann darf ein Prozess ein Gerät verwenden? Wann darf ein Programm in einem Cluster ausgeführt werden? Im Bereich Betriebssysteme ist meist die Zuteilung von CPU-Ressourcen gemeint Scheduling-Theorie ist wesentlich älter als die Informatik SoSe 2017 P. Tröger / M. Werner 3 / 45 osg.informatik.tu-chemnitz.de

4 4.1 Einführung Ziele Die Scheduling-Strategie kann beträchtlichen Einfluss auf die Leistung eines Rechnersystems besitzen Die Auswahl einer Strategie hängt von den Zielen ab, die im System verfolgt werden sollen hohe Effizienz: Prozessor soll gut ausgelastet sein geringe Antwortzeit: Schnelle Reaktion bei interaktiven Prozessen hoher Durchsatz: Viele Prozesse fertigstellen Fairness: gerechte Aufteilung der Prozessorleistung Pünktlichkeit: Einhalten von Fristen oder möglichst geringe Verspätung... SoSe 2017 P. Tröger / M. Werner 4 / 45 osg.informatik.tu-chemnitz.de

5 4.1 Einführung Schema des Schedulings Neuankömmling bzw. verdrängter Prozess Einordnen gemäß Strategie Prozessoren... nächster Prozess... SoSe 2017 P. Tröger / M. Werner 5 / 45 osg.informatik.tu-chemnitz.de

6 4.1 Einführung Bedienzeit vs. Antwortzeit Ankunft warten rechnen Ende Wartezeit (waiting time) Antwortzeit (response time) Bedienzeit (execution time) Anmerkung In der Schedulingtheorie spricht man i.d.r. von einem Task oder Job als Einheit der Planung. Beide Begriffe haben in Echtzeitsystemen unterschiedliche Bedeutung. SoSe 2017 P. Tröger / M. Werner 6 / 45 osg.informatik.tu-chemnitz.de

7 4.2 Standardstrategien 4.2 Standardstrategien Durchgängiges Beispiel für die folgenden Folien System mit einem Prozessorkern Bereitliste: Warteschlange der Prozesse im Zustand bereit Gegeben seien folgende fünf Prozesse (Tasks) Nr. Ankunft a Bedienzeit t e Priorität P SoSe 2017 P. Tröger / M. Werner 7 / 45 osg.informatik.tu-chemnitz.de

8 4.2 Standardstrategien First Come First Serve FCFS auch FIFO (First In First Out) Arbeitsweise: Bearbeitung der Prozesse in der Reihenfolge ihrer Ankunft in der Bereitliste Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe Anmerkung: Entspricht der Alltagserfahrung a 1 a 2 a 3 a 4 a SoSe 2017 P. Tröger / M. Werner 8 / 45 osg.informatik.tu-chemnitz.de

9 4.2 Standardstrategien Last Come First Served Preemptive Resume LCFS-PR, Arbeitsweise: Neuankömmling in Bereitliste verdrängt den rechnenden Prozess Verdrängter Prozess wird hinter dem verdrängendem Prozess in die Warteschlange eingereiht Falls keine Ankünfte Abarbeitung der Liste ohne Verdrängung Anmerkung: Ziel ist die Bevorzugung kurzer Prozesse Kurzer Prozess hat Chance, noch vor nächster Ankunft fertig zu werden Lange Prozesse werden u.u. mehrfach verdrängt a 1 a 2 a 3 a 4 a SoSe 2017 P. Tröger / M. Werner 9 / 45 osg.informatik.tu-chemnitz.de

10 4.2 Standardstrategien Last Come First Served Preemptive Resume (Forts.) Alternatives Szenario 4 und 5 vor Verdrängung fertig Nr. Ankunft a Bedienzeit t e Nr. Ankunft a Bedienzeit t e a 1 a 2 a 3 a 4 a 5 a SoSe 2017 P. Tröger / M. Werner 10 / 45 osg.informatik.tu-chemnitz.de

11 4.2 Standardstrategien Round Robin RR, Arbeitsweise: Bearbeitung der Prozesse in Ankunftsreihenfolge Nach Ablauf einer vorher festgesetzten Frist τ (Zeitscheibe, time slice, Quantum) findet eine Verdrängung statt Variante in dieser Veranstaltung: Neu ankommende und verdrängte Prozesse gehen an das Ende der Warteschlange, neue Prozesse haben Vorrang Anmerkung: Ziel des Verfahrens ist die gleichmäßige Verteilung der Prozessorkapazität und der Wartezeit auf die Prozesse Wahl der Zeitscheibenlänge τ ist Optimierungsproblem Für großes τ nähert sich RR der Reihenfolgestrategie FCFS Für kleines τ schlägt der Aufwand für das häufige Umschalten negativ zu Buche Üblich sind Zeiten im msec-bereich SoSe 2017 P. Tröger / M. Werner 11 / 45 osg.informatik.tu-chemnitz.de

12 4.2 Standardstrategien Round Robin (Forts.) a 1 a 2 a 3 a 4 a τ = a 1 a 2 a 3 a 4 a τ = SoSe 2017 P. Tröger / M. Werner 12 / 45 osg.informatik.tu-chemnitz.de

13 4.2 Standardstrategien Priorities Nonpreemptive PRIO-NP, Arbeitsweise: Neuankömmlinge werden nach ihrer Priorität in die Bereitliste eingeordnet Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe a 1 a 2 a 3 a 4 a 5 Prio SoSe 2017 P. Tröger / M. Werner 13 / 45 osg.informatik.tu-chemnitz.de

14 4.2 Standardstrategien Priorities Preemptive PRIO-P, Arbeitsweise: Wie PRIO-NP, jedoch mit Verdrängungsprüfung: der rechnende Prozess wird verdrängt, wenn er geringere Priorität hat als der Neuankömmling a 1 a 2 a 3 a 4 a 5 Prio SoSe 2017 P. Tröger / M. Werner 14 / 45 osg.informatik.tu-chemnitz.de

15 4.2 Standardstrategien Shortest Job Next SJN, auch SPN (shortest Prozess next) Arbeitsweise: Prozess mit der kürzesten Bedienzeit wird als nächster bis zum Ende oder zur freiwilligen Aufgabe bearbeitet Wie PRIO-NP, wenn man die Bedienzeit als Prioritätskriterium verwendet Anmerkung: SJN und SRTN haben den Nachteil, dass sie Kenntnis der Bedienzeit benötigen, die nur vom Benutzer in Form einer Schätzung stammen kann Längere Prozesse können verhungern, wenn stets kürzere vorhanden sind a 1 a 2 a 3 a 4 a SoSe 2017 P. Tröger / M. Werner 15 / 45 osg.informatik.tu-chemnitz.de

16 4.2 Standardstrategien Shortest Remaining Time Next SRTN, Arbeitsweise: Prozess mit der kürzesten Restbedienzeit wird als nächster bearbeitet Rechnender Prozess kann verdrängt werden Anmerkung: Bevorzugt kurze Prozesse und führt daher zu kürzeren mittleren Antwortzeiten als FCFS a 1 a 2 a 3 a 4 a SoSe 2017 P. Tröger / M. Werner 16 / 45 osg.informatik.tu-chemnitz.de

17 4.2 Standardstrategien Highest Response Ratio Next HRN, Arbeitsweise Das Anwortverhältnis (response ratio) r ist definiert als r r = t w + t e t e mit t w : Wartezeit, t e : Bedienzeit r r wird dynamisch berechnet und als Priorität verwendet Prozess mit größtem r r -Wert wird als nächster ausgewählt Strategie ist nicht verdrängend Anmerkungen Wie bei SJN werden kurze Prozesse bevorzugt, lange Prozesse müssen aber nicht ewig warten, sondern können durch Warten Punkte sammeln Wieder muss Bedienzeit bekannt sein SoSe 2017 P. Tröger / M. Werner 17 / 45 osg.informatik.tu-chemnitz.de

18 4.2 Standardstrategien Highest Response Ratio Next (Forts.) a 1 a 2 a 3 a 4 a SoSe 2017 P. Tröger / M. Werner 18 / 45 osg.informatik.tu-chemnitz.de

19 4.2 Standardstrategien Multilevel Feedback (FB) Scheduling mit Verdrängung pro Warteschlange Prozess nach jeder Zeitscheibe in nächste Warteschlange Warteschlange i wird nur abgearbeitet, wenn Warteschlange i 1 leer ist Unterschiedliche Zeitscheibenlängen τ sind möglich, z.b. τ = 2 i niedrigere Wichtigkeit führt zu längerer Zeitscheibe Zugang Warteschlange 1 Abgang Warteschlange 2 Abgang Warteschlange n Abgang SoSe 2017 P. Tröger / M. Werner 19 / 45 osg.informatik.tu-chemnitz.de

20 4.2 Standardstrategien Multilevel Feedback (FB) (Forts.) a 1 a 2 a 3 a 4 a τ = a 1 a 2 a 3 a 4 a τ = 2 i SoSe 2017 P. Tröger / M. Werner 20 / 45 osg.informatik.tu-chemnitz.de

21 4.2 Standardstrategien Standardstrategien (Übersicht) ohne Prioritäten ohne Verdrängung mit Prioritäten ohne Prioritäten FCFS PRIO-NP LCFS-PR, RR, FB mit Verdrängung mit Prioritäten PRIO-P bedienzeitunabhängig bedienzeitabhängig SJN, HRN SRTN SoSe 2017 P. Tröger / M. Werner 21 / 45 osg.informatik.tu-chemnitz.de

22 Reale Betriebssysteme haben i.d.r. keine reinen Schedulingstrategien, sondern Mischformen Nicht nur für Prozessor, sondern auch E/A-Ressourcen Teilweise werden bei der Zuweisung von Rechenzeit Sonderfälle berücksichtigt oder Spezialmaßnahmen getroffen Scheduling ist immer Mehraufwand Kosten-Nutzen-Betrachtung SoSe 2017 P. Tröger / M. Werner 22 / 45 osg.informatik.tu-chemnitz.de

23 4.3.1 Klassisches Unix-Scheduling Ähnlicher Ansatz in 4.3 BSD und System V Release 3 Unterschied vorwiegend in Parametern Hier: 4.3 BSD auf VAX Prinzipieller Ansatz: Feedback, mehrere Warteschlangen, jeweils Round Robin Ziel: Allgemeine Fairness, Bevorzugung interaktiver Prozesse Jeder Warteschlange (queue) wird Priorität zugeordnet ( ) Kleine Werte hohe Priorität Große Werte niedrige Priorität Festlegung der Prozesspriorität in Abhängigkeit von... CPU-Nutzung durch den Prozess Gesamtbelastung der CPU Nutzervorgabe SoSe 2017 P. Tröger / M. Werner 23 / 45 osg.informatik.tu-chemnitz.de

24 Feedback Queues in UNIX höchste Priorität (0...3) Zusammenfassung von vier Prioritäten in einer Queue Prioritätsklasse Round-Robin innerhalb der Prioritätsklassen In manchen UNIX-Varianten sind höhe Prioritätsklassen nicht unterbrechbar niedrigste Priorität ( ) SoSe 2017 P. Tröger / M. Werner 24 / 45 osg.informatik.tu-chemnitz.de

25 Alterung Betriebssysteme Scheduling Beispiel VAX: Timertick 100 Hz, Berechnung der Priorität 25 Hz, Zeitscheibe für Round Robin 100 ms Wechsel mit 10 Hz Pro Timertick wird der Wert L CPU im PCB des laufenden Prozesses erhöht Bei jedem vierten Timertick wird die Priorität neu berechnet: P J = min(p base + LCPU p nice, 127) P base ist die Basispriorität, 50 für ein Nutzerprogramm in 4.3 BSD Während besonderer Situationen (I/O, Swapping,... ) haben Prozesse andere Basisprioritäten p nice ein nutzerwählbare Wichtigkeit im Bereich SoSe 2017 P. Tröger / M. Werner 25 / 45 osg.informatik.tu-chemnitz.de

26 Alterung (Forts.) Wenn ein Prozess eine Priorität in einer anderen Prioritätsklasse bekommt, wird er in die andere Queue umsortiert Diesen Vorgang nennt man Alterung: starke Prozessorbenutzung führt zu einer schlechten Priorität! Rechenintensive Prozesse werden benachteiligt E/A-intensive Prozesse werden bevorzugt: Sie belegen den Prozessor nur kurz, um einen Auftrag abzusetzen Man erreicht dadurch eine hohe Parallelität zwischen den aktiven Rechnerkomponenten (CPU und Peripherie) Teilweise wird das Ende der E/A-Anfrage zusätzlich belohnt SoSe 2017 P. Tröger / M. Werner 26 / 45 osg.informatik.tu-chemnitz.de

27 Glättung Betriebssysteme Scheduling Mit der Zeit wächst L CP U und damit die Priorität alle (hinreichend lange laufende) Prozesse hätten nach einiger Zeit hohe (schlechte) Prioritätswerte Glättung des Wertes der Prozessornutzung L CPU einmal pro Sekunde Reduzierung des Einflusses der letzten Rechenzeiten (Dämpfungsfilter) L CPU = 2 l RQ 2 l RQ + 1 L CPU + p nice l RQ : Durchschnitt der Länge der Ready-Queue während der letzten Minute Dämpfung ist abhängig von der Last des Systems SoSe 2017 P. Tröger / M. Werner 27 / 45 osg.informatik.tu-chemnitz.de

28 Glättung (Forts.) Sonderfall: blockierte (schlafende) Prozesse erhalten keine Timerticks Bei Schlaf länger als eine Sekunde nach dem Aufwecken: ( ) tsleep 2 L CPU = lrq L CPU 2 l RQ + 1 t sleep wird einmal pro Sekunde inkrementiert SoSe 2017 P. Tröger / M. Werner 28 / 45 osg.informatik.tu-chemnitz.de

29 4.3.2 Linux-Scheduling Betrachten zunächst veraltertes Linux 2.4 Prozessverwaltung über doppelt verkettete Listen: Liste zur Verwaltung aller Prozesse Liste zur Verwaltung aller bereiten Prozesse (ready to run) Drei Prozessklassen Konventionelle Prozesse: Interaktiv oder Stapelverarbeitung FIFO-Echtzeit-Prozesse RR-Echtzeitprozesse Priorisiertes Round-Robin für konventionelle Prozesse First-In-First-Out für FIFO-Echtzeit-Prozesse Round-Robin für RR-Echtzeitprozesse SoSe 2017 P. Tröger / M. Werner 29 / 45 osg.informatik.tu-chemnitz.de

30 Epochen Prozessorzeit ist in Epochen unterteilt Epochenbeginn: alle lauffähige Prozess haben ihr Zeitquantum erhalten Epochenende: alle lauffähigen Prozesse haben ihr Zeitquantum verbraucht Zeitquanten (Zeitscheiben) variieren mit den Prozessen und Epochen Jeder Prozess besitzt eine einstellbare Zeitquantumbasis nice(2) 20 Ticks 210 ms das Zeitquantum eines Prozesses nimmt periodisch ab Der Linux-Scheduler berechnet die Güte (goodness) jedes laufbereiten Prozesses und wählt aus Güte = 0: Prozess hat sein Quantum verbraucht 0 < Güte < 1000: konventioneller Prozess mit Restquantum in dieser Epoche Güte > 1000: Echtzeit-Prozess SoSe 2017 P. Tröger / M. Werner 30 / 45 osg.informatik.tu-chemnitz.de

31 Gütefunktion (kernel/sched.c, Linux 2.4.0) static inline intgoodness (p, this_cpu, this_mm ) { int weight = -1; if (p-> policy == SCHED_OTHER ) { weight = p-> counter ; if (! weight ) goto out; if (p->mm == this_mm!p->mm) weight += 1; weight += 20 -p-> nice ; goto out; } weight = p-> rt_priority ; out : return weight ; } SoSe 2017 P. Tröger / M. Werner 31 / 45 osg.informatik.tu-chemnitz.de

32 Gütefunktion (kernel/sched.c, Linux 2.4.0) static inline intgoodness (p, this_cpu, this_mm ) { int weight = -1; if (p-> policy == SCHED_OTHER ) { weight = p-> counter ; if (! weight ) goto out; if (p->mm == this_mm!p->mm) weight += 1; weight += 20 -p-> nice ; goto out; } weight = p-> rt_priority ; out : return weight ; } verbleibende Zeit in der Epoche SoSe 2017 P. Tröger / M. Werner 31 / 45 osg.informatik.tu-chemnitz.de

33 Diskussion Betriebssysteme Scheduling Schnelle Ermittlung des nächsten Prozesses bei wenigen Prozessen Bearbeitung aller Prozesse bei Ermittlung des nächsten Prozesses Bearbeitung aller Prozesse bei Ende einer Epoche Ansatz einer Echtzeit-Priorisierung Problem: Laut Benchmarking verbringt der Kern 37-55% in der goodness-funktion schlechte Skalierbarkeit SoSe 2017 P. Tröger / M. Werner 32 / 45 osg.informatik.tu-chemnitz.de

34 Linux-O(1)-Scheduler Probleme führten zur Entwicklung des O(1)-Schedulers ab Linux 2.6 Ziele: Bessere Skalierbarkeit SMP Eine Run-Queue pro Prozessor mit zwei Prioritäts-Arrays: Array für alle Prozesse mit positivem Quantum Array für alle Prozesse mit verbrauchtem Quantum Jedes Array besteht aus einer Bitmap und eine Queue von lauffähigen Prozessen für jeden Prioritätslevel ein Bit für jeden Prioritätslevel Vertauschen des Pointers zwischen den beiden Arrays, wenn keine Prozesse mit Quantum mehr vorhanden SoSe 2017 P. Tröger / M. Werner 33 / 45 osg.informatik.tu-chemnitz.de

35 Linux-O(1)-Scheduler (Forts.) Wieder hat jeder Prozess ein Zeitquantum Quantum hängt von Priorität ab #define BASE_TIMESLICE (p) ( MIN_TIMESLICE + \ (( MAX_TIMESLICE - MIN_TIMESLICE ) * \ ( MAX_PRIO -1 - (p)-> static_prio ) / ( MAX_USER_PRIO -1))) Priorität wird bei Start zugeordnet (nice) und ändert sich um maximal ±5 CPU-bound Prozesse werden bestraft I/O-bound Prozesse (mit I/O) werden belohnt Zusätzlich: Interaktive Prozesse erhalten jede Millisekunde ihr Quantum aufgefüllt SoSe 2017 P. Tröger / M. Werner 34 / 45 osg.informatik.tu-chemnitz.de

36 Prioritätsarray Betriebssysteme Scheduling Finden des höchstpriorisierten Prozesses reduziert sich auf Finden des ersten gesetzten Bites unabhängig von Anzahl der Prozesse find_first_set() kann effizient implementiert werden Innerhalb einer Priorität wird Round Robin genutzt SoSe 2017 P. Tröger / M. Werner 35 / 45 osg.informatik.tu-chemnitz.de

37 4.3.3 Scheduling in Windows Scheduling und Prozessumschaltung basieren auf Threads Keine zentrale Funktion für Scheduling Verschiedene Teile des Kerns reagieren auf Ereignisse Umschaltung in folgenden Fällen: Thread wird bereit zur Ausführung Thread wechselt in bereit oder wartend Priorität eines Threads ändert sich Affinität eines Threads ändert sich SoSe 2017 P. Tröger / M. Werner 36 / 45 osg.informatik.tu-chemnitz.de

38 Prioritäten Betriebssysteme Scheduling Auch Windows (NT und folgende) verwendet eine verdrängende, auf Prioritäten und Zeitscheiben beruhende Umschaltstrategie Es werden 32 Kernel-Prioritäten unterschieden: Subsystem für Windows hat eigene Prioritätsklassen (Real-time, High, Above Normal,... ) Werden den Kernel-Prioritäten zugeordnet Windows-Programme können bestimmte Prioritäten nie erreichen SoSe 2017 P. Tröger / M. Werner 37 / 45 osg.informatik.tu-chemnitz.de

39 Prioritäten (Forts.) Wird ein Thread laufbereit, der eine höhere Priorität hat als der derzeitig laufende, wird der laufende verdrängt Verdrängte Threads werden an den Anfang der Warteschlange für die jeweilige Priorität gestellt Normale Threads behalten ihr Restquantum Echtzeitthreads erhalten ihr Quantum aufgefüllt Threads mit verbrauchten Quantum werden ans Ende der Warteschlange gestellt Falls ein Thread eine Priorität über seiner Basispriorität hat, wird die Priorität dekrementiert SoSe 2017 P. Tröger / M. Werner 38 / 45 osg.informatik.tu-chemnitz.de

40 Prioritäten (Forts.) Auch in Windows werden Prioritäten dynamisch angepasst Grundidee der Basispriorität und aktuellen Priorität Priority boost für einen gewissen Zeitraum: nach Beendigung eines E/A-Auftrags nach Warten auf Events, wait(), Semaphore etc. nach einer Fensteraktivität wenn ein Thread sehr lange (3-4 Sekunden) nicht aktiv war (Starvation-Verhinderung) Der Boost-Level wird nach jeder Zeitscheibe bis zur Basispriorität verringert Gilt nicht für Thread mit Echtzeitprioritäten Vorhersagbares Systemverhalten Typische Werte: 1 (Festplatte, CD, Video), 2 (Netzwerk), 6 (Tastatur, Maus), 8 (Audio) SoSe 2017 P. Tröger / M. Werner 39 / 45 osg.informatik.tu-chemnitz.de

41 Priority Boost quantum' Priority'decay' at'quantum'end' Priority' Base' Priority' Boost' upon' wait' complete' Run' Wait' Run' Preempt' (before' quantum' end)' Round;robin'at' base'priority' Run' Time' SoSe 2017 P. Tröger / M. Werner 40 / 45 osg.informatik.tu-chemnitz.de

42 Zeitscheiben Betriebssysteme Scheduling Neben den Prioritäten werden in Windows auch die Zeitscheiben manipuliert Verlängerung der Zeitscheiben für Anwendung im Vordergrund quantum boost Standard nur in Workstation-Variante (nicht bei Server) Bei Starvation-Gefahr um Faktor 2 Einstellbarer Faktor 6, 12 oder 18 Timerticks (normal: 2 Timerticks) SoSe 2017 P. Tröger / M. Werner 41 / 45 osg.informatik.tu-chemnitz.de

43 Multiprozessor-Systeme Konzept logischer Prozessor berücksichtigt Hyperthreading, multi-core, NUMA und SMP-Systeme Thread können auf jedem Prozessor laufen Jeder Thread hat einen idealen Prozessor, wird beim Erzeugen rotierend vergeben Scheduling bemüht sich, Threads auf einem Prozessor zu halten (soft affinity) Scheduling-Datenstrukturen jeweils pro Prozessor Threads können fest an Kern gebunden werden (hard affinity) Affinity collision: Beschränkung der möglichen Prozessoren verletzt die Regel, dass immer der Thread mit der höchsten Priorität ausgeführt wird Jeder Prozessor kann anderen Prozessor zur Umschaltung zwingen Berücksichtigung von (NUMA)-Architekturen durch Prozessorgruppen SoSe 2017 P. Tröger / M. Werner 42 / 45 osg.informatik.tu-chemnitz.de

44 Core Parking Betriebssysteme Scheduling Klassisches Scheduling verteilt Arbeitslast über alle logischen Prozessoren Bei geringer Auslastung müssen trotzdem alle Hardware-Ressourcen aktiv sein Core parking nutzt seit Windows 7 so wenig Prozessoren wie möglich Kann durch Setzen der Affinitätsmaske deaktiviert werden Scheduler berücksichtigt Informationen aus dem Energiemanagement Berücksichtigung der socket topology: Wenn alle Kerne eines Prozessors ungenutzt sind, kann der Prozessor deaktiviert werden Mehrere Prozessoren + NUMA: Ein Prozessor bleibt immer aktiv, um schnellen Speicherzugriff zu ermöglichen SoSe 2017 P. Tröger / M. Werner 43 / 45 osg.informatik.tu-chemnitz.de

45 Diskussion Windows Darstellung hier vereinfacht, es gibt noch zwei (nichtobligatorische) Ebenen: Jobs und Sehnen (fiber) Jobs: Zusammenfassung von Prozessen um gemeinsames Ressourcenmanagement zu vereinfachen Fiber: User-Space Thread, (eigentlich) Co-Routine, kann zwischen (Kernel-)Threads wechseln Kein einzelner Scheduler Code ist über den Kernel verteilt Algorithmus ist eher unübersichtlich, aber erfahrungsoptimiert quantitative Analyse schwierig Ansätze für Echtzeitscheduling SoSe 2017 P. Tröger / M. Werner 44 / 45 osg.informatik.tu-chemnitz.de

46 Anhang A: Literatur Anhang A: Literatur [Sta04] W. Stallings. Operating Systems: Internals and Design Principles. Prentice Hall, 2004, Chapter 9 & 10 [Tan08] A. Tanenbaum. Modern Operating Systems. Prentice Hall, 2008, Sections 2.4, 10.3, & 11.4 [RS05] Mark E. Russinovich und David A. Solomon. Microsoft Windows Internals. Microsoft Press, 2005, Chapter 6 SoSe 2017 P. Tröger / M. Werner 45 / 45 osg.informatik.tu-chemnitz.de

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

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

Ziele. Begriff. Wiederholung: Prozess ist ein Konzept zur Virtualisierung des Prozessors Aufteilung der Prozessorzeit Scheduling.

Ziele. Begriff. Wiederholung: Prozess ist ein Konzept zur Virtualisierung des Prozessors Aufteilung der Prozessorzeit Scheduling. Betriebssysteme Sommersemester Betriebssysteme. Kapitel Scheduling Prof. Matthias Werner Professur Betriebssysteme. Einführung Strategie und Mechanismus. Einführung Wiederholung: Prozess ist ein Konzept

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

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

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

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

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

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

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

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

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

(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

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

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

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

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

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

Betriebssysteme. CPU-Scheduling - Fallbeispiele. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1. CPU-Scheduling - Fallbeispiele Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung

Mehr

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

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

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

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

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

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

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

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

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

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

Motivation kooperativer Fadenwechsel präemptiver Fadenwechsel Arbeitsteilung Ablaufplanung

Motivation kooperativer Fadenwechsel präemptiver Fadenwechsel Arbeitsteilung Ablaufplanung Betriebssysteme (BS) Überblick: Vorlesungen Anwendung(en) Fadenverwaltung Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Gerätezugriff (Treiber) Kontrollflussabstraktion

Mehr

Scheduling. Scheduling Tanenbaum Kap. 2.4, Stallings Kap , Glatz Kap. 3.4

Scheduling. Scheduling Tanenbaum Kap. 2.4, Stallings Kap , Glatz Kap. 3.4 Scheduling Scheduling Tanenbaum Kap. 2.4, 8.1.4 Stallings Kap. 9.1-9.2, 10.1-10.3 Glatz Kap. 3.4 1 1 Inhalt CPU Scheduling Einführung, Begriffe, Kriterien Verfahren - nonpreemptive FCFS, SPN (SJN), Priority

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

Prozesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände

Prozesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände Prozesseinplanung Kurzfristige Einplanung Systemaufrufe Programmverwaltung Zugriffskontrolle Dateiverwaltung Ein /Auslagerung Vernetzung Ein /Ausgabe Fadenverwaltung Koordination Prozesseinplanung Prozessabfertigung

Mehr

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

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

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

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) Kontrollflussverwaltung Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os

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

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

Ü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

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

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst FH Regensburg BT/SS04 5 CPU Scheduling 5.1 Grundlagen 5.1.1 CPU Burst / I/O Burst Beobachtung: Programme rechnen typischerweise etwas, dann tätigen sie Ein/Ausgabe: CPU-Burst: das Programm rechnet eine

Mehr

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

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

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

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

(Prüfungs-)Aufgaben zum Thema Scheduling

(Prüfungs-)Aufgaben zum Thema Scheduling (Prüfungs-)Aufgaben zum Thema Scheduling 1) Geben Sie die beiden wichtigsten Kriterien bei der Wahl der Größe des Quantums beim Round-Robin-Scheduling an. 2) In welchen Situationen und von welchen (Betriebssystem-)Routinen

Mehr

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

Scheduling-Verfahren für Mehrbenutzer-Systeme. Klaus Kusche, Juni 2012

Scheduling-Verfahren für Mehrbenutzer-Systeme. Klaus Kusche, Juni 2012 Scheduling-Verfahren für Mehrbenutzer-Systeme Klaus Kusche, Juni 2012 Inhalt Einleitung & Begriffe Ziele & Voraussetzungen Das Round-Robin-Verfahren...... und seine Probleme Die Scheduler in Windows und

Mehr

Vorl. 6: Single- und Multitasking

Vorl. 6: Single- und Multitasking Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorl. 6: Single- und Multitasking Peter B. Ladkin Single Tasking Command Interpreter (ComInt) läuft wartet auf Tastatur-Eingabe

Mehr

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

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

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

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

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

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

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 7 Prozesse und Threads Lothar Thiele Computer Engineering and Networks Laboratory Betriebssystem 7 2 7 3 Betriebssystem Anwendung Anwendung Anwendung Systemaufruf (syscall) Betriebssystem

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

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

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

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

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

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

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

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST Modellbasierte Generierung von statischen Schedules für sicherheitskritische, eingebettete Systeme mit Multicore Prozessoren und harten Echtzeitanforderungen J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim

Mehr

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling Game Engine Architecture and Development Platform Unabhängiger Code Multi Threading in Game Engines Profiling Folien Die Folien werden auf acagamics.de hochgeladen Das Passwort ist 60fps (ohne ) Rückblick:

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

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

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

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

Operating System Design - Now and Then. Christian Behnert Proseminar Technische Informatik FU Berlin

Operating System Design - Now and Then. Christian Behnert Proseminar Technische Informatik FU Berlin Operating System Design - Now and Then Christian Behnert Proseminar Technische Informatik FU Berlin 29.01.09 Motivation Wie kann man Betriebssysteme historisch klassifizieren? Welche technischen Entwicklungen

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

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

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

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

Organisation der Vorlesung, Einführung in Betriebssysteme. Betriebssysteme. Christoph Lindemann WS 2004/05

Organisation der Vorlesung, Einführung in Betriebssysteme. Betriebssysteme. Christoph Lindemann WS 2004/05 Betriebssysteme WS 2004/05 Organisation der Vorlesung, Einführung in Betriebssysteme Christoph Lindemann Organisation der Übungen (1) Übungsgruppenorganisation Anmeldung 8 Übungsgruppen (8-20 Personen

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

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

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

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

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Probeklausur Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/ http://ess.cs.tu-dortmund.de/de/teaching/ss2014/bs/

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

Übung zu Einführung in die Informatik # 10

Übung zu Einführung in die Informatik # 10 Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),

Mehr

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

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) Kontrollflussverwaltung http://ess.cs.tu-dortmund.de/de/teaching/ws2014/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware

Mehr

TIMI: Technische Informatik

TIMI: Technische Informatik TIMI: Technische Informatik für Medieninformatiker Bachelor-Studiengang Digitale Medien Medieninformatik SS 2005 Niels Pollem Arbeitsgruppe Rechnernetze (Prof. Dr.-Ing. Ute Bormann) Aufgaben

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

Windows CE. Process Control and Robotics. Fabian Garagnon

Windows CE. Process Control and Robotics. Fabian Garagnon Windows CE Process Control and Robotics Fabian Garagnon 14.01.2009 Agenda 3 Geschichte & Timeline Echtzeit & Multithreading Architektur Memory Management & Context Switch Entwicklung unter CE Interrupts

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

Scheduling. Teil 2. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Teil 2. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Teil 2 Prof Dr Margarita Esponda Freie Universität Berlin WS 2011/2012 Multilevel Feedback Queue Scheduling Vier Prioritätsklassen Beispiel: neue Prozesse Quantum = 4 Höchste Priorität Quantum

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

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

(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

C IX-2 Einplanungsverfahren. Gliederung. 1 Einordnung. 2 Verfahrensweisen Kooperativ Verdrängend Mehrstufig Priorisierend Vergleich.

C IX-2 Einplanungsverfahren. Gliederung. 1 Einordnung. 2 Verfahrensweisen Kooperativ Verdrängend Mehrstufig Priorisierend Vergleich. C IX-2 Einplanungsverfahren Gliederung Systemprogrammierung Prozessverwaltung: Einplanungsverfahren Wolfgang Schröder-Preikschat Lehrstuhl Informatik 4 21. Oktober 2014 Klassifikation 2 Verfahrensweisen

Mehr

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

Prozesse und Threads. Prozess. Trace. Einfachstes Prozessmodell. Traces

Prozesse und Threads. Prozess. Trace. Einfachstes Prozessmodell. Traces Prozesse und s Begriffe und Konzepte Prozesszustände Kontrollstrukturen des BS Prozesse BS s Peter Puschner 1 Vorlesung Betriebssysteme, Prozesse; WS 05/06 2 Prozess Animated Spirit of a program ausführbares

Mehr

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Tutorium 6 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Welche(r) der folgenden Bitstrings kann/können als Zahl in BCD-Kodierung aufgefasst werden? a) 0000

Mehr

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

3 Schnittstelle zum Betriebssystem 3.5 Multitasking. Schichten und Sichten eines Rechnersystems Schichten und Sichten eines Rechnersystems (Lst. ) 1 Das Betriebssystem als ein Ressourcen-Manager (Lst. ) 2 Betriebssystem-Arten Interaktiv Batchbetrieb (Stapelverarbeitung) Einzelprogrammbetrieb (Uni-programming)

Mehr