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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Betriebssysteme Sommersemester 0. Einführung Betriebssysteme. Kapitel Scheduling Prof. Matthias Werner Professur Betriebssysteme Scheduling (etwa: Ablaufplanung): Zeitliche Zuordnung von Aktivitäten zu Ressourcen m Bereich Betriebssysteme ist meist gemeint, welcher Prozess wann auf welchen Prozessor(kern) ausgeführt wird Scheduling tritt jedoch auf verschiedenen Granularitätsebenen auf, z.b. Wann sollen Programme gestartet werden? Abwicklung Wann soll ein Prozess eine CPU erhalten? Scheduler Wann soll ein bestimmter Befehl einer Befehlsfolge ausgeführt werden Prozessor in Pipelining- bzw. Superskalararchitekturen Scheduling-Theorie ist wesentlich älter als der Computer und wurde z.b. in der Bauplanung benutzt SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Einführung Klassisches Scheduling-Problem 6 Prozesse Prozessoren T T T T T T6 P P Ablaufplanlänge (makespan) T T T T Zuordnung? P P P. Einführung Strategie und Mechanismus Beim Scheduling muss unterschieden werden: Strategie (policy): Die prinzipielle Entscheidung, welcher Prozess wann geplant wird Mechanismus: Die Art und Weise, mit der die Strategie durchgesetzt wird n Mikrokernelsystemen ist der Mechanismus stets im Kern, während die Strategie auch im Nutzerbereich angesiedelt werden kann Auf dieses Weise kann die Strategie leicht angepasst werden Den Mechanismus haben wir schon im Kapitel n diesem Kapitel betrachten wir die Scheduling-Strategie P T T6 Gantt-Diagramm SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de

2 . Einführung. Einführung Ziele Schema des Schedulings 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 Mögliche Ziele hohe Effizienz Prozessor gut ausgelastet geringe Antwortzeit bei interaktiven Prozessen hoher Durchsatz bei Stapelbetrieb (batch-processing) Fairness gerechte Verteilung der Prozessorleistung und Wartezeit unter die Prozesse... Neuankömmling bzw. verdrängter Prozess... Einordnen gemäß Strategie nächster Prozess Prozessoren... SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 6 / 9 osg.informatik.tu-chemnitz.de. Einführung Bedienzeit vs. Antwortzeit. Einführung Problemparameter Taskankunft warten rechnen Ende Wartezeit (waiting time) Antwortzeit (response time) Bedienzeit (execution time) Ein- oder Mehrprozessorsystem? Statische oder dynamische Prozessmenge? On-line oder off-line Scheduling? Verdrängung möglich? Ausführungszeiten bekannt? Welche Abhängigkeiten zwischen Prozessen? Welche(s) Ziel(e)? Anmerkung Mitunter wird in der Schedulingtheorie zwischen Task und Job unterschieden. Dieser Unterschied wird in dieser Vorlesung nicht gemacht. SoSe 0 M. Werner 7 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 8 / 9 osg.informatik.tu-chemnitz.de

3 . Standardstrategien. Standardstrategien First Come First Serve Nutzen durchgängiges Beispiel Gegeben seien folgende fünf Prozesse Nr. Ankunft a Bedienzeit t e Priorität P FCFS auch FFO (First n 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 a a a a SoSe 0 M. Werner 9 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 0 / 9 osg.informatik.tu-chemnitz.de. Standardstrategien Last Come First Served LCFS, Arbeitsweise: Bearbeitung der Prozesse in der umgekehrten Reihenfolge ihrer Ankunft in der Bereitliste Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe Anmerkung: n dieser reinen Form selten benutzt. a a a a a SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. 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 a a a a SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de

4 . Standardstrategien Last Come First Served Preemptive Resume (Forts.) Stärken von FCFS-PR kommen im Beispiel-Taskset nicht voll zum tragen Betrachten daher folgende Prozesse: 6 Nr. Ankunft a Bedienzeit t e Nr. Ankunft a Bedienzeit t e a a a a a a Task und Task werden vor einer möglichen Verdrängung fertig SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de Round Robin. Standardstrategien RR, Arbeitsweise: Bearbeitung der Prozesse in Ankunftsreihenfolge Nach Ablauf einer vorher festgesetzten Frist τ (Zeitscheibe, time slice, CPU-quantum) findet eine Verdrängung statt und es wird auf den nächsten Prozess umgeschaltet 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 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Standardstrategien Round Robin (Forts.) τ = a a a a a a a a a a Standardstrategien Priorities Nonpreemptive PRO-NP, Arbeitsweise: Neuankömmlinge werden nach ihrer Priorität in die Bereitliste eingeordnet Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe Prio. a a a a a τ = SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 6 / 9 osg.informatik.tu-chemnitz.de

5 . Standardstrategien. Standardstrategien Priorities Preemptive Effekt von Priorita ten PRO-P, Arbeitsweise: Wie PRO-NP, jedoch mit Verdra ngungspru fung: der rechnende Prozess wird verdra ngt, wenn er geringere Priorita t hat als der Neuanko mmling a a 0 a a a Modellierung mit Warteschlangentheorie λ Ankunftsrate (# Anku nfte pro Zeiteinheit) á Poisson-Prozess te Bedienzeit (reine Rechenzeit) á Exponentialverteilung tw Mittlere Wartezeit tq Mittlere Antwortzeit, tq = tw + te t trn Normalisierte Antwortzeit, trn = teq = + ttew ρ Auslastung, ρ = λ te Prio. SoSe 0 M. Werner 7 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner. Standardstrategien osg.informatik.tu-chemnitz.de. Standardstrategien Effekt von Priorita ten (Forts.) 8 / 9 Effekt von Priorita ten (Forts.) Klassen, te = te, λ = λ Normalisierte Antwortzeit fu r lange Bedienzeiten (= niedrige Priorita t): Klassen, te = te, λ = λ Normalisierte Antwortzeit fu r kurze Bedienzeiten (= hohe Priorita t): FCFS trn trn PRO-NP PRO-P ρ ρ SoSe 0 M. Werner 9 / 9 osg.informatik.tu-chemnitz.de Mehr in Betriebssysteme SoSe 0 M. Werner 0 / 9 osg.informatik.tu-chemnitz.de

6 . 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 PRO-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 a a a a 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 a a a a SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Standardstrategien Highest Response Ratio Next. Standardstrategien Highest Response Ratio Next (Forts.) HRN, Arbeitsweise Das Anwortverhältnis (response ratio) r ist definiert als a a a a a r r = tw + te t e mit t w: Wartezeit, t e: Bedienzeit rr wird dynamisch berechnet und als Priorität verwendet Prozess mit größtem rr-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 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de

7 Feedback. Standardstrategien FB, auch multilevel feedback Arbeitsweise: Kennt man die Bedienzeit a priori nicht, möchte aber lang laufende Prozesse benachteiligen, so kann man den Prozess nach jeder CPU-Benutzung in seiner Priorität schrittweise herabsetzen Mehrere Warteschlangen, bei denen die niederprioren (größeres i) nur abgearbeitet werden, wenn höherpriore (kleineres i) leer sind Die einzelnen Warteschlangen werden z.b. nach FCFS oder Round-Robin verwaltet Unterschiedliche Zeitscheibenlängen τ sind möglich, z.b. τ = i niedrigere Prioritäten bekommen längere Abschnitte. Standardstrategien Feedback (Forts.) τ = a a a a a Zugang Warteschlange Abgang a a a a a Warteschlange Warteschlange n Abgang Abgang τ = i SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 6 / 9 osg.informatik.tu-chemnitz.de. Standardstrategien Standardstrategien (Übersicht). Fallbeispiele Fallbeispiele realer Scheduler bedienzeitunabhängig bedienzeitabhängig ohne Prioritäten ohne Verdrängung mit Prioritäten ohne Prioritäten FCFS, LCFS PRO-NP LCFS-PR, RR, FB SJN, HRN SRTN mit Verdrängung mit Prioritäten PRO-P Wir betrachten: Klassisches Unix-Scheduling Linux-Scheduler Windows-NT-Scheduler SoSe 0 M. Werner 7 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 8 / 9 osg.informatik.tu-chemnitz.de

8 . Fallbeispiele Klassisches Unix-Scheduling Ähnlicher Ansatz in. BSD und System V Release Unterschied vorwiegend in Parametern Hier:. BSD auf VAX Prinzipieller Ansatz: Feedback mehrere Queues nnerhalb einer Queue: Round Robin Ziel: Allgemeine Fairness bei Bevorzugung interaktiver Jobs Queues werden Prioritäten zugeordnet (0... 7) Kleine Werte hohe Priorität Große Werte niedrige Priorität Festlegung der Priorität (Queue) in Abhängigkeit von... CPU-Nutzung durch den Prozess Gesamtbelastung der CPU Nutzervorgabe. Fallbeispiele Feedback Queues in UNX höchste Priorität (0...) niedrigste Priorität (...7) Zusammenfassung von vier Prioritäten in einer Queue Round-Robin innerhalb der Prioritätsklassen (Queues) n manchen UNX-Varianten sind höhe Prioritätsklassen nicht unterbrechbar SoSe 0 M. Werner 9 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 0 / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele Alterung Typische Zeitverhältnisse (VAX): Timertick: 00 Hz Berechnung der Priorität: Hz Zeitscheibe für Round Robin: 00 ms Wechsel mit 0 Hz Glättung der Alterung Hz Pro Timertick wird der Wert L CPU im PCB des running Prozesses um erhöht Bei jedem vierten Timertick wird die Priorität des laufenden Prozesses wie folgt berechnet: P J = min(p base + LCPU + p nice, 7) Dabei ist Pbase die Basispriorität, 0 für ein Nutzerprogramm in. BSD Während besonderer Situationen (/O, Swapping,...) haben Prozesse andere Basisprioritäten pnice ein nutzerwählbare Wichtigkeit, SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele 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 /O-intensive Prozesse werden bevorzugt: Sie belegen den Prozessor nur kurz, um einen E/A-Auftrag abzusetzen Man erreicht dadurch eine hohe Parallelität zwischen den aktiven Rechnerkomponenten (CPU und Peripherie) n einigen UNXen wird /O zusätzlich belohnt SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de

9 Glättung. Fallbeispiele Mit der Zeit wächst LCPU und damit die Priorität alle (hinreichend lange laufende) Prozesse hätten nach einiger Zeit hohe (schlechte) Prioritätswerte Kompensation: Glättung des Wertes der Prozessornutzung L CPU einmal pro Sekunde Reduzierung des Einflusses der letzten Rechenzeiten (Dämpfungsfilter) L CPU = l RQ l RQ + 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 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele Glättung (Forts.) Auswirkung der Systemlastanpassung Beispiel: Einzelner Prozess, sammelt c i Timerticks in der i. Sekunde an, p nice = 0 L () CPU = c0 L () CPU = (c + ) c0 = c + 9 c0 L () CPU = c + 9 c c0 L () CPU = c + 9 c c c0 L () CPU = c + + c0 0, Nach fünf Sekunden gehen nur noch etwa % der Altlast ein SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele Glättung (Forts.) Diskussion. Fallbeispiele Sonderfall: blockierte (schlafende) Prozesse erhalten keine Timerticks Bei Schlaf länger als eine Sekunde nach dem Aufwecken: L CPU = ( ) tsleep lrq L CPU l RQ + t sleep wird einmal pro Sekunde inkrementiert Schnelle Ermittlung des nächsten Prozesses bei vielen Prozesse mit unterschiedlicher Priorität aufwendige Neuberechnung der Priorität u. U. Entnahme und Neueinreihen in Queue anderer Priorität Neuberechnung der Priorität nur für den aktuellen Prozess Berücksichtigung der aktuellen Last keine Echtzeit-Priorisierung SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 6 / 9 osg.informatik.tu-chemnitz.de

10 . Fallbeispiele Linux-Scheduling Epochen. Fallbeispiele Betrachten zunächst Linux. Prozessverwaltung über doppelt verkettete Listen: Liste zur Verwaltung aller Prozesse Liste zur Verwaltung aller bereiten Prozesse (ready to run) Drei Prozessklassen Konventionelle Prozesse: nteraktive Prozesse und Batch Prozesse (Batch Jobs) FFO-Echtzeit-Prozesse RR-Echtzeitprozesse Grundlage: (eine Art) priorisiertes Round-Robin für alle konventionellen Prozesse First-n-First-Out für FFO-Echtzeit-Prozesse, Round-Robin für RR-Echtzeitprozesse Prozessen zugewiesene 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() 0 Ticks 0 ms das Zeitquantum eines Prozesses nimmt periodisch (Tick) 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 000: konventioneller Prozess mit Restquantum in dieser Epoche Güte 000: Echtzeit-Prozess SoSe 0 M. Werner 7 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 8 / 9 osg.informatik.tu-chemnitz.de Gütefunktion. Fallbeispiele Diskussion. Fallbeispiele static inline intgoodness (p, this_cpu, this_mm ) { int weight = -; verbleibende Zeit in der Epoche if (p-> policy == SCHED_OTHER ) { weight = p-> counter ; if (! weight ) goto out; if (p->mm == this_mm!p->mm) weight += ; } weight += 0 -p-> nice ; goto out; } weight = p-> rt_priority ; out: return weight ; Schnelle Ermittlung des nächsten Prozesses bei wenigen Prozessen Bearbeitung aller Prozesse bei Ermittlung des nächsten Prozesses Bearbeitung aller Prozesse bei nitialisierung der Prioritäten bei Ende einer Epoche Ansatz einer Echtzeit-Priorisierung Problem: Laut Benchmarking verbringt der Kern 7-% in der goodness-funktion schlechte Skalierbarkeit kernel/sched.c (Linux..0) SoSe 0 M. Werner 9 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 0 / 9 osg.informatik.tu-chemnitz.de

11 . Fallbeispiele Linux-O()-Scheduler. Fallbeispiele Linux-O()-Scheduler (Forts.) Probleme führten zur Entwicklung des O()-Schedulers ab Linux.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 Wieder hat jeder Prozess ein Zeitquantum Quantum hängt von Priorität ab # define BASE_TMESLCE (p) ( MN_TMESLCE + \ (( MAX_TMESLCE - MN_TMESLCE ) * \ ( MAX_PRO - - (p)->static_prio ) / ( MAX_USER_PRO -))) Priorität wird bei Start zugeordnet (nice) und ändert sich um maximal ± CPU-bound Prozesse werden bestraft /O-bound Prozesse (mit /O) werden belohnt Zusätzlich: nteraktive Prozesse erhalten jede Millisekunde ihr Quantum aufgefüllt SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele. Fallbeispiele Prioritätsarray Auch Windows (NT und folgende) verwendet eine verdrängende, auf Prioritäten und Zeitscheiben beruhende Umschaltstrategie Es werden Prioritätsklassen unterschieden: 6- für Echtzeitprozesse - für normale Prozesse 0 für den Leerlaufprozess 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 nnerhalb einer Priorität wird Round Robin genutzt SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de Die Standard-Zeitscheibenlänge ist bei Workstation-Systemen 6 Einheiten, bei Server-Systemen 6 Einheiten lang Bei jeder Unterbrechung von der Hardware-Uhr (clock tick) wird die aktuelle Zeitscheibenlänge um Einheiten dekrementiert Die Uhrauflösung ist bei ntel-prozessoren ca. 0- msec, d.h. eine Zeitscheibe ist 0-0 msec bei einer Workstation und 0-80 msec bei einem Server SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de

12 Preemption. Fallbeispiele. Fallbeispiele Windows-Scheduling Wird ein Prozess laufbereit, der eine höhere Priorität hat als der derzeitig laufende, wird der laufende verdrängt Verdrängte Prozesse werden an den Anfang der Warteschlange des Prioritätslevels gestellt Normale Prozesse behalten ihr Restquantum Echtzeitprozesse erhalten ihr Quantum aufgefüllt Dagegen werden Prozesse mit verbrauchten Quantum ans Ende der Warteschlange gestellt Falls ein Prozess eine Priorität über seiner Basispriorität hat, wird die Priorität dekrementiert Auch in Windows werden Prioritäten dynamisch angepasst m Gegensatz zu UNX werden Prioritäten temporär erhöht priority boost Dies geschieht... nach Beendigung eines E/A-Auftrags nach Warten auf Events, wait(), Semaphore etc. bei GU-Prozess nach einer Fenster-Aktivität wenn ein Prozess sehr lange (- Sekunden) nicht aktiv war (Starvation-Verhinderung) Der Boost-Level wird nach jeder Zeitscheibe verringert, bis die Ursprungspriorität erreicht wird Ausnahme: Bei Starvation wird der Boost nach zwei Quanten vollständig zurück genommen SoSe 0 M. Werner / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 6 / 9 osg.informatik.tu-chemnitz.de. Fallbeispiele Windows-Scheduling (Forts.) Diskussion. Fallbeispiele Neben den Prioritäten werden in Windows auch die Zeitscheiben manipuliert Verlängerung der Zeitscheiben für Vordergrundprozesse quantum boost Standard nur in Workstation-Variante (nicht bei Server) Bei Starvation-Gefahr um Faktor auch bei Nicht-Vordergrundprozess Einstellbarer Faktor 6, oder 8 Timerticks (normal: Timerticks) Konfigurierbar über Performance-Optionen oder Registry (HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl\ WinPrioritySeparation) 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 0 M. Werner 7 / 9 osg.informatik.tu-chemnitz.de SoSe 0 M. Werner 8 / 9 osg.informatik.tu-chemnitz.de

13 Literatur [Sta0] W. Stallings. Operating Systems: nternals and Design Principles. Prentice Hall, 00, Chapter 9 & 0 [Tan08] [RS0] A. Tanenbaum. Modern Operating Systems. Prentice Hall, 008, Abschnitte., 0., &. Mark E. Russinovich und David A. Solomon. Microsoft Windows nternals. Microsoft Press, 00, Chapter 6 SoSe 0 M. Werner 9 / 9 osg.informatik.tu-chemnitz.de

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mehr

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

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

Mehr

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

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

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

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

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

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

(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

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

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

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

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

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

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

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

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

Der upb.de Supercomputer: Single Site Scheduling

Der upb.de Supercomputer: Single Site Scheduling Der upb.de Supercomputer: Single Site Scheduling Bastian Cramer Universität Paderborn 1 Einleitung.................................................... 3 2 Jobs..........................................................

Mehr

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

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

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin Scheduling in Echtzeitbetriebssystemen Prof. Dr. Margarita Esponda Freie Universität Berlin Echtzeitsysteme Korrekte Ergebnisse zum richtigen Zeitpunkt Hart Echtzeitsysteme Eine verspätete Antwort ist

Mehr

TIMI: Technische Informatik für Medieninformatiker

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

Mehr

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

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

Prozesse. Prozesse. Nebenläufigkeit. Prozess-Scheduling. Echtzeit-Scheduling. Multiproz.-Scheduling. Inhalt Prozesse

Prozesse. Prozesse. Nebenläufigkeit. Prozess-Scheduling. Echtzeit-Scheduling. Multiproz.-Scheduling. Inhalt Prozesse Modul: B-BS Betriebssysteme WS 2012/13 Prozesse Prof. Dr. Rüdiger Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik (12) Inhalt Prozesse Was ist ein Prozess?

Mehr

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

Mehr

Von Prozessen und Prozessoren (Prozess-Management)

Von Prozessen und Prozessoren (Prozess-Management) Von Prozessen und Prozessoren (Prozess-Management) V1.1 Technische Berufsschule Zürich IT Seite 1 Aus dem Geschichtsbuch: Grossrechner IBM 7094, 1965: Online- und Batchbetrieb IBM-Lochkarte Technische

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

Echtzeit-Linux mit dem RT-Preemption-Patch

Echtzeit-Linux mit dem RT-Preemption-Patch Echtzeit-Linux mit dem RT-Preemption-Patch IT-Klinger Andreas Klinger ak@it-klingerde 22072008 Der RT-Preemption-Patch integriert sich beinahe nahtlos in den Standard-Kernel und bietet Echtzeitfähigkeit

Mehr

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

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 182.711 Prüfung Betriebssysteme 8. November 2013 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation

Mehr

13. Übung mit Musterlösung

13. Übung mit Musterlösung 13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten

Mehr

Echtzeitanforderung und Linux

Echtzeitanforderung und Linux Echtzeitanforderung und Linux Slide 1 - http://www.pengutronix.de - 21.01.2007 Definition Harte Echtzeit I Was zeichnet ein Echtzeitsystem aus? Zeitverhalten ist Teil der System-Spezifikation! Bei Embedded-Systemen

Mehr

Realtimescheduling im Linux Kernel

Realtimescheduling im Linux Kernel Realtimescheduling im Linux Kernel Der Scheduler von Linux wird in seiner Funktionsweise erklärt. Die Beschreibung basiert auf dem Beitreag Der O(1)-Scheduler im Kernel 2.6 von Timo Hönig im Linux-Magazin.

Mehr

Redwood Cronacle und REALTECH theguard! Integration

Redwood Cronacle und REALTECH theguard! Integration Redwood Cronacle und REALTECH theguard! Integration Einleitung Redwood Software und REALTECH haben gemeinsam eine Lösung entwickelt, die die Systemverfügbarkeit von SAP und mysap Systemen signifikant erhöht.

Mehr

OSEKtime - Time-Triggered OSEK/OS

OSEKtime - Time-Triggered OSEK/OS OSEKtime - Time-Triggered OSEK/OS Gregor Kaleta gregor.kaleta@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung OSEKtime Task-Zustandsmodell, Scheduling-Verfahren Interrupt-Verarbeitung

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

FOM Hochschule für Oekonomie & Management. Studienzentrum München. Bachelor-Thesis. Implementation eines Schedulers für das Lehrbetriebssystem Ulix

FOM Hochschule für Oekonomie & Management. Studienzentrum München. Bachelor-Thesis. Implementation eines Schedulers für das Lehrbetriebssystem Ulix FOM Hochschule für Oekonomie & Management Studienzentrum München Bachelor-Thesis zur Erlangung des Grades eines Bachelor of Science (B.Sc.) über das Thema Implementation eines Schedulers für das Lehrbetriebssystem

Mehr

Der Linux-O(1)-Scheduler

Der Linux-O(1)-Scheduler Der Linux-O(1)-Scheduler Hynek Schlawack Universität Potsdam hs@ox.cx 19. Juni 2003 Inhaltsverzeichnis 1 Vorwort 2 1.1 Die O-Notation und Fachbegriffe......................... 2 1.1.1 Die O-Notation..............................

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

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

POSIX Echtzeit: Kernel 2.6 und Preempt-RT POSIX Echtzeit: Kernel 2.6 und Preempt-RT Slide 1 - http://www.pengutronix.de - 21.01.2007 Echtzeit-Systemplanung Wenn das zeitliche Verhalten spezifiziert ist, kann auch spezifiziert werden, welche Applikationsteile

Mehr

Prüfungsschwerpunkte Betriebssysteme

Prüfungsschwerpunkte Betriebssysteme Prüfungsschwerpunkte Betriebssysteme Welche Architekturansätze für Betriebssysteme kennen Sie? Verstreute Kerne: Kern (unstrukturiert) in den Programmen verteilt.trennung zwischen Kern und Applikation

Mehr

6.Vorlesung Betriebssysteme Hochschule Mannheim

6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun 6.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/40 6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing

Mehr

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP).

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP). Produktbeschreibung Februar 2014 RTX RTOS-Plattform Mit der RTX-Echtzeitsoftware von IntervalZero wird aus Microsoft Windows ein Echtzeitbetriebssystem (RTOS). RTX64 von IntervalZero unterstützt 64-Bit-Betriebssysteme

Mehr

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

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

Mehr

Approximation in Batch and Multiprocessor Scheduling

Approximation in Batch and Multiprocessor Scheduling Approximation in Batch and Multiprocessor Scheduling Tim Nonner IBM Research Albert-Ludwigs-Universität Freiburg 3. Dezember 2010 Scheduling Zeit als Ressource und Beschränkung Formaler Gegeben sind Jobs

Mehr

Linux - Ein Einblick in den Kernel

Linux - Ein Einblick in den Kernel Linux - Ein Einblick in den Kernel Markus Quaritsch, Bakk. techn. Thomas Winkler, Bakk. techn. quam@qwws.net tom@qwws.net Betreuer: Univ.-Ass. Dipl.-Ing. Dr. techn. Harald Krottmaier hkrott@iicm.edu 18.

Mehr

Grundlagen der Informatik. Teil VI Betriebssysteme

Grundlagen der Informatik. Teil VI Betriebssysteme Grundlagen der Informatik Teil VI Betriebssysteme Seite 1 Definition nach DIN: Unter Betriebssystem versteht man alle Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage

Mehr

Dipl.-Inf. J. Richling Wintersemester 2003/2004. Weiche Echtzeit

Dipl.-Inf. J. Richling Wintersemester 2003/2004. Weiche Echtzeit Dipl.-Inf. J. Richling Wintersemester 2003/2004 Weiche Echtzeit Wiederholung - Resultat/Wert-Funktion "harte" Echtzeit Wert Zeit Wert Zeit Wert Deadline Zeit "weiche" Echtzeit Wert Deadline Zeit Deadline

Mehr

Kapitel 2: Betriebssysteme

Kapitel 2: Betriebssysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Vorlesung: Dr. Peer Kröger Übungen:

Mehr

Warteschlangentheorie und Callcenter

Warteschlangentheorie und Callcenter Warteschlangentheorie und Callcenter Vortrag im Rahmen der Lehrerfortbildung,,Stochastik und Matrizen: von Markov-Ketten bis zu Callcentern 23. September 2009 Dr. Alexander Herzog, Institut für Mathematik,

Mehr

Jens Peter Lindemann Lehrstuhl Neurobiologie. 13. Januar 2009

Jens Peter Lindemann Lehrstuhl Neurobiologie. 13. Januar 2009 Real-Time Linux Jens Peter Lindemann Lehrstuhl Neurobiologie 13. Januar 2009 Was ist ein RTOS? Linux-basierte RT-Lösungen RT-Erweiterungen des Mainline-Kernels What's good for RT is good for the Kernel

Mehr

bzw. 7. Nebenläufigkeit

bzw. 7. Nebenläufigkeit 7. Nebenläufigkeit 7.1 Terminologie Thread: - In einer bestimmten Reihenfolge (sequentiell) auszuführende Folge von Instruktionen, - Typischerweise ein Ausführungskeller für Prozeduraufrufe und Rekursion,

Mehr

Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme. Eine Einführung. Klaus Kusche, Okt. 2011

Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme. Eine Einführung. Klaus Kusche, Okt. 2011 Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme Eine Einführung Klaus Kusche, Okt. 2011 Ziele des Vortrags Überblick über das Thema Praktisches Verständnis von Anforderungen Problembereichen

Mehr

Prozesse, CPU Umschalten, Dispatching und Scheduling

Prozesse, CPU Umschalten, Dispatching und Scheduling Prozesse, CPU Umschalten, Dispatching und Scheduling Aktive Elemente SS2001 Prof. H. D. Clausen - unisal 1 Prozesse Prozess - Programm in Ausführung sequentielle Programmausführung quasi-simultane Abwicklung

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

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

Mehr

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Prof. Dr. Th. Letschert CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Vorlesung 7 Th Letschert FH Gießen-Friedberg Ressourcen Verwaltung passive Ressourcen aktive Ressourcen

Mehr

20 Eingebettete Software

20 Eingebettete Software 20 Eingebettete Software 20.0 Einführung Lernziele Echtzeitsysteme Eingebettete Systeme 20.1 Entwurf eingebetteter Systeme Modellierung von Echtzeitsystemen Programmierung von Echtzeitsystemen 20.2 Architekturmuster

Mehr

Prozeß. 2. Prozesse. 2.1 Einführung

Prozeß. 2. Prozesse. 2.1 Einführung 2. Prozesse 2.1 Einführung Eine wichtige Eigenschaft moderner Computer ist es, dass sie mehrere Aufgaben quasi-gleichzeitig erledigen können. Wie wir in der Vorlesung über Rechnersysteme gelernt haben,

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 3 Betriebssystem Überwacher

Mehr

Embedded OS für ARM Cortex Microcontroller

Embedded OS für ARM Cortex Microcontroller Embedded OS für ARM Cortex Microcontroller RTOS Design, Timinganalyse und Test mit Core Simulation und Hardware Debugger Entscheidende Fragen für oder gegen RTOS Lohnt sich der Einsatz eines RTOS auch

Mehr

1. Prozesse & Threads (10 Punkte)

1. Prozesse & Threads (10 Punkte) Fachbereich Informatik/Mathematik Seite 1/9 1. Prozesse & Threads (10 Punkte) a) Erklären Sie den Unterschied zwischen Prozessen und Threads. [4 P.] Der wesentliche Unterschied ist, dass Prozesse über

Mehr

Vorlesung Betriebssysteme

Vorlesung Betriebssysteme Vorlesung Betriebssysteme Dipl.-Inform. Reinhard Griesinger Reinhard.Griesinger@gmx.de http://griesinger.gmxhome.de/reinhard/vorlesungen/betriebssysteme Ausgabe Frühjahr 2014 ii Inhaltsverzeichnis 1 Was

Mehr

Einführung in die Echtzeitbetriebssysteme

Einführung in die Echtzeitbetriebssysteme Einführung in die Echtzeitbetriebssysteme Hauptseminararbeit in dem Studiengang B.Sc. Informatik von Maximilian von Piechowski Technische Hochschule Mittelhessen Inhaltsverzeichnis 1 Was versteht man unter

Mehr

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe.

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe. Aufgabe 1.1: Systeminformationen Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe. a) Wie lautet der Name des von Ihnen verwendeten Rechners? Der Systemname

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

Zeit- und ereignisgesteuerte Echtzeitsysteme

Zeit- und ereignisgesteuerte Echtzeitsysteme Zeit- und ereignisgesteuerte Echtzeitsysteme Stephan Braun Stephan.Braun.Hagen@t-online.de PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Echtzeitsystemmodell Einführung Ereignis- und zeitgesteuerte

Mehr

Betriebssysteme (BTS)

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

Mehr

5.6 Realzeitarchitektur auf Multicore-Basis

5.6 Realzeitarchitektur auf Multicore-Basis 5.6 Realzeitarchitektur auf Multicore-Basis 63 VxWorks Vertreter eines klassischen Realzeitbetriebssystems mit einer starken Marktdurchdringung ist VxWorks der Firma Wind River. Ursprünglich als Realzeitbetriebssystem

Mehr

Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 6 Scheduling

Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 6 Scheduling Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 6 Scheduling copyright W. G. Spruth, 10-2005 Hardware Extern E/A Programm System- Fehler Aufruf Unterbrechungssteuerung

Mehr

Technische Informatik II

Technische Informatik II Universität Stuttgart INSTITUT FÜR KOMMUNIKATIONSNETZE UND RECHNERSYSTEME Prof. Dr.-Ing. Andreas Kirstädter Diplomprüfung Prüfer: Termin: Dauer: Verlangte Aufgaben: Zugelassene Hilfsmittel: Technische

Mehr

Zeitgesteuerte Scheduling-Strategien in Echtzeitsystemen

Zeitgesteuerte Scheduling-Strategien in Echtzeitsystemen Wanja Hofer Hauptseminar Ausgewählte Kapitel eingebetteter Systeme 01.06.2005 Lehrstuhl 4 Betriebsysteme und Verteilte Systeme Zeitgesteuerte Scheduling-Strategien in Echtzeitsystemen Inhaltsverzeichnis

Mehr

Für die Software-Entwicklung von

Für die Software-Entwicklung von Betriebssysteme Embedded Design Für die Software-Entwicklung von Embedded- und Echtzeit-Systemen stehen unterschiedliche Arten von Task-Schedulern zur Auswahl. Sie reichen von einfacher, periodischer Ausführung

Mehr

Kapitel III. Prozesse. Prozessverwaltung. Was ist ein Prozess?

Kapitel III. Prozesse. Prozessverwaltung. Was ist ein Prozess? Kapitel III Prozessverwaltung 1 Was ist ein Prozess? Prozesse ein exekutierendes Programm (aktive Einheit) ein Prozess benötigt Ressourcen: CPU-Zeiten, Speicher, Files, I/O Systeme Betriebssystem ist verantwortlich

Mehr

Lab 13: Multi Processor Systems II

Lab 13: Multi Processor Systems II Lab 13: Multi Processor Systems II 1. Können Sie sich erklären warum die Summe nicht 200% ergibt? Warum entspricht die Auslastung nicht 100% pro Prozessor? 100% ist die gesamte Auslastung vom System alle

Mehr

Timm M. Steinbeck und Arne Wiebalck Lehrstuhl für Technische Informatik Universität Heidelberg. Prozess-Monitoring auf CPU-Takt Ebene

Timm M. Steinbeck und Arne Wiebalck Lehrstuhl für Technische Informatik Universität Heidelberg. Prozess-Monitoring auf CPU-Takt Ebene Timm M. Steinbeck und Arne Wiebalck Lehrstuhl für Technische Informatik Universität Heidelberg Prozess-Monitoring auf CPU-Takt Ebene Einleitung Unser Arbeitsgebiet: ALICE Teilchenphysik Experiment Cluster

Mehr

Unterschiede in den Konzepten von TinyOS und Embedded Linux

Unterschiede in den Konzepten von TinyOS und Embedded Linux Fakultät Informatik Institut für Angewandte Informatik, Professur Technische Informationssysteme Unterschiede in den Konzepten von TinyOS und Embedded Linux Dresden, 29.11.2010 Inhalt 1. Einführung 1.1

Mehr

Das Lastverteilungsproblem

Das Lastverteilungsproblem Das Lastverteilungsproblem Approximationsalgorithmen Referent Franz Brauße Veranstaltung Proseminar Theoretische Informatik Universität Trier, FB IV Dozent Prof. Dr. Henning Fernau 23.02.2012 Übersicht

Mehr

6. Tutorium zu Softwaretechnik I

6. Tutorium zu Softwaretechnik I 6. Tutorium zu Softwaretechnik I Parallelität und Testen Michael Hoff 01.07.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel Kernel Programmierung unter Linux Programmierung von Kernelmodulen Referent Klaus Ruhwinkel Das Betriebssystem Aufbau des Betriebssystem: Es besteht aus den Betriebssystemkern und den sonstigen Betriebssystemkomponenten

Mehr

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

Mehr