Kapitel 6 Scheduling
|
|
- Frida Lorentz
- vor 6 Jahren
- Abrufe
Transkript
1 Kapitel 6 Scheduling
2 6.1 Einführung 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. In der Systemprogrammierung ist mit Scheduling meist die Zuordnung von Prozessen zu Prozessoren gemeint. Das Scheduling-Problem tritt auf verschiedenen BS-Ebenen auf: Prozesse als komplette Benutzerprogramme sollen auf einem Einprozessorsystem ausgeführt werden Prozesse (Threads) als Teile eines parallelen Programms sollen auf einem Mehrprozessorsystem ausgeführt werden Prozesse als Einzeloperationen oder kurze Operationsfolgen sollen auf den parallel arbeitenden Funktionseinheiten des Prozessors (Pipeliningbzw. superskalare Architekturen) ausgeführt werden. 6-2
3 Anwendungs-Beispiele von Scheduling Mehrbenutzer-BS: Welcher Prozess aus der Bereitliste soll als nächster dem Prozessor zugeordnet werden? Übersetzer: Bei Codeerzegung für einen superskalaren Prozessor eine Zuordnung der Befehle zu den Pipelines finden, die die Ausführungszeit minimiert MPEG-Video live aus dem Internet abgespielt auf einem PC: Das Zusammenspiel von Netzwerk-Software, Decodierung, Bildschirm- und Soundausgabe soll zu einer gleichmäßigen, synchronisierten Wiedergabe führen, auch wenn im Hintergrund ein Compiler läuft. Montageroboter: verschiedene Sensordaten abtasten und rechtzeitig darauf reagieren, gleichzeitig aufwendige Berechnungen durchführen, z. B. zur Erkennung der Lage des Werkstücks auf dem Transportband. 6-3
4 Klassisches Scheduling-Problem 6-4
5 Scheduling: Problemvarianten Einprozessor / Mehrprozessor? Homogen / Heterogen: CPUs homogen, d. h. gleich schnell? Prozessmenge statisch oder dynamisch? Statisch: Alle Prozesse sind gegeben und ablauffähig. Dynamisch: neue Prozesse kommen während der Ausführung hinzu. Scheduling on-line (zur Laufzeit) oder off-line (vorher)? Off-line-Fall: alle Prozesse bekannt (auch zukünftige Ankünfte), es liegt also vollständige Information vor. On-line-Fall: nur die aktuellen Prozesse bekannt, Entscheidungen müssen auf Grund unvollständiger Information getroffen werden. Ausführungszeiten bekannt? Ausführungszeiten der Prozesse (oder Worst-CaseAbschätzungen dafür) sind Voraussetzung für Realtime-Scheduling 6-5
6 Scheduling: Problemvarianten (Forts.) Verdrängung (preemption) möglich? Mit Verdrängung können Schedulingziele besser erreicht werden. Abhängigkeiten zwischen den Prozessen? Reihenfolgebeziehung (partielle Ordnung) zwischen Prozessen, oder gleichzeitige Zuordnung aller Prozesse eines parallelen Programms. Kommunikations- und Umschaltzeiten zu berücksichtigen? Prioritäten zu berücksichtigen? Prioritäten werden von außen vorgegeben (statisch) oder während der Ausführung bestimmt (dynamisch). Sollzeitpunkte zu berücksichtigen? In Realzeitsystemen müssen gewisse Berechnungen (Prozesse) zu bestimmten Zeitpunkten beendet sein. Welches Ziel wird verfolgt? (zu optimierende Zielfunktion) siehe nächste Folie 6-6
7 Beispiele für Ziele Benutzerorientierte Ziele Länge des Ablaufplans (min) Maximale Antwortzeit (min) Mittlere (gewichtete) Antwortzeit (min) Maximale Verspätung (min)... Systemorientierte Ziele Anzahl Prozessoren (min) Durchsatz (max) Prozessorauslastung (max)
8 6.2 Scheduling im Mehrprogrammbetrieb Allgemeines Betriebsziele hohe Effizienz Prozessor gut ausgelastet geringe Antwortzeit bei interaktiven Prozessen hoher Durchsatz bei Stapelbetrieb (batch-processing) fairness gerechte Verteilung der Prozessorleistung und der Wartezeiten zwischen den Prozessen 6-8
9 Scheduling im Mehrprogrammbetrieb Annahmen homogenes (symmetrisches) Multiprozessorsystem Prozessmenge dynamisch Keine Abhängigkeiten zwischen Prozessen Dynamisches On-line-Scheduling Keine Sollzeitpunkte Strategiealternativen ohne / mit Verdrängung (preemption) Prozess bleibt bis zu seinem Ende oder bis zur freiwilligen Aufgabe auf dem Prozessor oder er kann vorher verdrängt werden. ohne / mit Prioritäten Prozesse werden in Dringlichkeitsklassen eingeteilt unabhängig / abhängig von der Bedienzeit Die tatsächliche oder geschätzte Bedienzeit des Prozesses wird bei der Auswahl (nicht) berücksichtigt. 6-9
10 Standardstrategien Durchgängiges Beispiel Gegeben seien die folgenden fünf Prozesse: Nr. Ankunft Bedienzeit Priorität
11 FCFS-Strategie First Come First Served Wird auch FIFO (First In First Out) genannt Arbeitsweise: Bearbeitung der Prozesse in der Reihenfolge ihrer Ankunft Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe. Anmerkung: Entspricht der Alltagserfahrung. 6-11
12 LCFS-Strategie Last Come First Served Arbeitsweise: Bearbeitung der Prozesse in der umgekehrten Reihenfolge ihrer Ankunft in der Bereitliste. Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe. Anmerkung: In dieser reinen Form selten benutzt. 6-12
13 LCFS-PR-Strategie Last Come First Served Preemptive Resume Arbeitsweise: Neuankömmling in Bereitliste verdrängt den rechnenden Prozess, d.h. Letzter wird Erster. Verdrängter Prozess wird hinten in die Warteschlange eingereiht. Falls keine Ankünfte, Abarbeitung der Liste (FCFS!) ohne Verdrängung. Analyse: Diese Strategie bevorzugt kurze Prozesse: Ein kurzer Prozess hat die Chance, noch vor der nächsten Ankunft fertig zu werden. Ein langer Prozess kann dagegen u. U. mehrfach verdrängt werden. 6-13
14 RR-Strategie Round Robin = Zeitscheibenverfahren Arbeitsweise: Bearbeitung der Prozesse in Ankunftsreihenfolge. Nach Ablauf einer festgesetzten Frist (Zeitscheibe, time slice) findet eine Verdrängung statt und es wird auf den nächsten Prozess umgeschaltet. Analyse: Ziel des Verfahrens ist die gleichmäßige Verteilung der Prozessorkapazität und der Wartezeit auf die Prozesse. Wahl der Zeitscheibenlänge t ist ein Optimierungsproblem: Für großes t nähert sich RR der Reihenfolgestrategie FCFS. Für kleines t wächst der Aufwand für das häufige Umschalten Üblich für t sind in Betriebssystemen Zeiten im msec-bereich. 6-14
15 RR (Round Robin): Beispiele t= t=4 6-15
16 PRIO-NP-Strategie Priorities Nonpreemptive Arbeitsweise: Neuankömmlinge werden nach ihrer Priorität in die Bereitliste eingeordnet Prozessorbesitz bis zum Ende oder bis zur freiwilligen Aufgabe. 6-16
17 PRIO-P Priorities Preemptive 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 6-17
18 Modellierung: Warteschlangentheorie λ Ankunftsrate (# Ankünfte pro Zeiteinheit, Poisson) (arrival rate) t Mittlere Bedienzeit (reine Rechenzeit, exponentiell) (mean service time) w Mittlere Wartezeit (mean waiting time) r Mittlere Antwort- oder Verweilzeit (mean response time) (inklusive Wartezeiten) r = w+t r n Normalisierte Antwortzeit: r n = r/t = 1+w/t (normalized response time) ρ Auslastung: i.d.r. ρ = λt (0 ρ < 1) (utilization) Ankunfts rate λ Warte schlange w Scheduling Strategie CPU Abgang t r 6-18
19 Antwortzeiten für kurze Prozesse (modelliert) Quelle: Stallings, Kapitel 9 Abb.: 2 Prioritätsklassen, kurze Prozesse hoher Priorität und fünfmal längere Prozesse niederer Priorität. Antwortzeiten für FCFS ( No priority ), PRIO-NP 6-19
20 Antwortzeiten für lange Prozesse (modelliert) Quelle: Stallings, Kapitel 9 Antwortzeiten für FCFS ( No priority ), PRIO-NP ( Priority ) und PRIO-P ( Priority with preemtion ), für lange Prozesse 6-20
21 Problem: Prioritäts-Invertierung Problem bei PRIO-P: Prozess C (hohe Priorität) kann verhungern, denn Prozess A (niedrige Priorität) besitzt das Betriebsmittel (BM), das von C benötigt wird; für die BM-Freigabe benötigt A die CPU! Bevor das BM freigegeben wird, kommt Prozess B (mittlere Priorität) und verdrängt A vom Prozessor. Prozess A wird nicht ausgeführt und kann daher das BM nicht freigeben, wodurch C auf unbestimmte Zeit blockiert bleibt 6-21
22 Prioritäts-Invertierung: Praxis im All Was passierte auf dem Mars [G.Reeves, Risks-Forum Digest, v. 19, 58, 1998] Die NASA Mars Pathfinder Mission 1997 Das Betriebssystem des Mars-Rovers hatte zwei high-priority bus tasks, einer kommunizierte mit einem low-priority weather task Auf der Erde wurde das Betriebssystem erfolgreich getestet Auf dem Mars: Der Weather-task hielt den Bus-Mutex/Monitor als er von einigen medium-priority tasks verdrängt/preempted wurde. Der Bus-task konnte nicht weiter arbeiten, dies wurde vom Bus-manager (timeout) bemerkt und führte zum sofortigen System-Reboot (mit Verlust aller Daten!) Die Prioritäts-Invertierung war an sich kein Fehler, eine Lösung dafür war vorgesehen, aber die NASA-Benutzer wussten nichts davon. Das Problem wurde schließlich auf der Erde nachgebildet und gelöst Mögliche Lösungen für Prioritäts-Invertierung: 1. Der low-priority task vererbt die Priorität des high-priority task, mit dem er BM teilt, oder 2. eine Priorität wird jedem BM zugewiesen und von den Tasks für die Zeit der BM-Benutzung übernommen 6-22
23 SPN-Strategie Shortest Process Next Arbeitsweise: Prozess mit der kürzesten Bedienzeit wird als nächster bis zum Ende oder bis zur freiwilligen Aufgabe bearbeitet. Wie PRIO-NP, aber die Bedienzeit wird als Prioritätskriterium verwendet Analyse: Bevorzugt kurze Prozesse und führt daher zu kürzeren mittleren Antwortzeiten als FCFS. 6-23
24 SRTN-Strategie Shortest Remaining Time Next, Preemptive Arbeitsweise: Prozess mit der kürzesten Restbedienzeit wird als nächster bearbeitet Rechnender Prozess kann verdrängt werden. Analyse: Beide letzteren Algorithmen haben Nachteile: 1) sie benötigen Kenntnis der Bedienzeit, die nur vom Benutzer stammen kann; 2) längere Prozesse verhungern wenn ständig kürzere ankommen 6-24
25 HRN-Strategie Highest Response Ratio Next Arbeitsweise: Die Response Ratio rr ist definiert als rr := Wartezeit+Bedienzeit Bedienzeit Der Wert rr wird dynamisch berechnet und als Priorität verwendet: der Prozess mit dem größten rr-wert wird als nächster ausgewählt. Die Strategie ist nicht verdrängend, d.h. non-preemptive. Analyse: Wie bei SPN werden kurze Prozesse bevorzugt, lange Prozesse müssen jedoch nicht ewig warten, sondern können durch Warten Punkte sammeln und höhere Priorität bekommen 6-25
26 HRN-Strategie: Illustration 6-26
27 FB-Strategie Multilevel Feedback 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; im Folgenden: kleine i hohe Priorität, große i niedrige Priorität Die einzelnen Warteschlangen werden z. B. nach FCFS oder Round-Robin verwaltet; unterschiedliche Zeitscheibenlängen τ sind möglich, z.b. τ = 2 i, d.h. niedrigere Prioritäten (große i) bekommen längere Abschnitte 6-27
28 Feedback-Strategie: Beispielläufe τ = 1 Jeder Prozess wird zunächst kurz ausgeführt. Dadurch werden kurze Prozesse sofort beendet τ = 2 i Anzahl der Prozessumschaltungen wird verringert 6-28
29 Standard-Umschaltstrategien: Übersicht ohne Verdrängung mit Verdrängung ohne mit ohne mit Priorität Priorität Priorität Priorität FCFS, LCFS-PR, BZ-unabhängig LCFS PRIO-NP RR, FB PRIO-P BZ-abhängig SPN, HRN SRTN 6-29
30 Vergleichende Bewertung Verhalten (Simulation von Prozessen) Der Mittelwert der kürzesten 500 Prozesse ist in der ersten Perzentile (NTT = Antwortzeit / Bedienzeit) Quelle: Stallings, Chap
31 Vergleichende Bewertung Wartezeit Quelle: Stallings, Chap
32 Schätzung der Dauer der Rechenphasen Bei den Scheduling-Strategien ist mit Bedienzeit nicht immer die Gesamtrechenzeit gemeint, sondern sie kann sich auch auf die einzelnen Rechenphasen (zwischen E/A-Operationen) beziehen Man spricht auch von CPU Burst Die Rechenphasen unterliegen typischerweise einer anderen Verteilung als die Gesamtrechenzeiten Prozesse zeigen oft ein stationäres Verhalten, d.h. man kann auf Grund der Kenntnis des Verhaltens in der jüngsten Vergangenheit auf die kurzfristige Zukunft schließen. 6-32
33 Histogramm der Rechenphasen (CPU Bursts) 6-33
34 Schätzung des CPU Burst Sei T[i] die Ausführungszeit für die i-te Rechenphase des Prozesses. Sei S[i] der Schätzwert für für die i-te Rechenphase dieses Prozesses Im einfachsten Fall verwenden wir: S[n+1] = (1/n) n i=1 T[i] Um zu vermeiden, dass jeweils die gesamte Summe berechnet werden muss, schreiben wir die Formel um: S[n+1] = (1/n)T[n]+((n 1)/n)S[n] Diese konvexe Kombination gibt allen Summanden gleiches Gewicht. 6-34
35 Schätzen der Länge der Rechenphasen Jüngste Werte reflektieren das zukünftige Verhalten in der Regel besser und sollten stärkeres Gewicht erhalten. Eine übliche Technik ist das Exponentielle Glätten (exponential averaging, exponential smoothing). S[n+1] = at[n]+(1 a)s[n];0 < a < 1 Falls a > 1/n, erhalten jüngere Werte höheres Gewicht. Durch Ausrollen der Rekursion erkennt man, dass die Gewichte vergangener Messwerte exponentiell abnehmen. S[n+1] = at[n]+(1 a)at[n 1]+...(1 a) i at[n i]...+(1 a) n S[1] Großes a führt zu besserer Reaktionsgeschwindigkeit (Reaktion auf Änderungen), kleines a zu besserer Stabilität (Herausfiltern von Ausreißern ). Der erste Schätzwert S[1] wird üblicherweise auf 0 gesetzt, um neuen Prozessen hohe Priorität zu geben. 6-35
36 Einsatz exponentiellen Glättens (wachsende Funktion) Fallende Funktion: Nachteile für Mittelwert (s. Stallings Ch. 9) 6-36
37 Exponentielle Glättungskoeffizienten Quelle: Stallings, Chap 9. Je größer α, desto stärker werden neuere Beobachtungen gewichtet. 6-37
38 Konkrete Betriebssysteme Scheduling in Unix: mehrstufiges Feedback mit RR in den Prioritätswarteschlangen 6-38
39 Scheduling in Unix (System V) Die Zeitscheibenlänge liegt in der Größenordnung von 100 ms Benutzerprozesse besitzen eine statische Basispriorität von 0, die durch nice -Kommando erhöht, d.h. verschlechtert werden kann Die Prozessornutzung jedes Prozesses wird in Uhr-Ticks (Zeitscheiben) gemessen und nach jeder Zeitscheibe von Prozess j wird cpu j [i] erhöht Dynamische Priorität für Prozess j wird jede Sekunde angepasst nach der Formel: dyn_prio j [i] := base_prio j + cpu j [i] / 2 Jede Sekunde wird für alle Prozesse cpu j [i] := cpu j [i 1] / 2 angepasst, d.h. schrittweise vergessen, wie groß die Prozessornutzung war 6-39
40 Bsp. in Unix 6-40
41 Scheduling in Unix (System V): Zwischenfazit Starke Prozessorbenutzung führt zu einer schlechten Priorität! Warum? Rechenintensive Prozesse werden benachteiligt. I/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). 6-41
42 Fair-Share-Scheduling Fair-Share-Scheduling wird in einigen Unix-Systemen eingesetzt Ziel: einer Gruppe von Prozessen (z.b.: einer Anwendung, einer Gruppe von Benutzern) einen festen Anteil an der Rechenkapazität zu garantieren und dies zu überwachen Sei k die Anzahl der Gruppen, W k der Anteil der Gruppe k: Sei cpu j [i] die Prozessornutzung von Prozess j in Gruppe k und gcpu k [i] die Prozessornutzung der gesamten Gruppe in Intervall i. Dann wird die Priorität folgendermaßen berechnet: cpu j [i] := cpu j [i 1]/2 gcpu j [i] := gcpu j [i 1]/2 dynprio j [i] := baseprio j +cpu j [i 1]/2+gcpu j [i 1]/(4W k ) Die Priorität von j verschlechtert sich nicht nur durch eine individuelle starke CPU-Nutzung, sondern auch, wenn andere Prozesse der Gruppe den Prozessor intensiv benutzen. Siehe Beispieldiagramm in Stallings Chap. 9, Abb. 9.16, mit drei Prozessen in zwei Gruppen. 6-42
43 Multiprozessoraspekte beim Scheduling Bei Multiprozessorsystemen ist es trotz der Symmetrie der Prozessoren oft nicht unerheblich, auf welchem Prozessor ein Prozess läuft: War ein Prozess vorher (letzte Zeitscheibe) auf Prozessor p, so besteht die Chance, dass noch wesentliche Teile seines Adressraums im Cache von p vorhanden sind. Daher gibt es häufig das Konzept der Prozessor-Affinität: Der Scheduler merkt sich (im Prozesskontrollblock) jeweils den von diesem Prozess bevorzugt benutzten oder zuletzt benutzten Prozessor. Dadurch wird jedoch das Prioritätskonzept etwas aufgeweicht: Es kann vorkommen, dass ein Prozess höherer Priorität wartet, obwohl ein Prozess geringerer Priorität rechnet. 6-43
44 Multiprozessoraspekte: Prozessoraffinität Wird ein Prozess erneut einem Prozessor zugeordnet, so sollte es möglichst derselbe sein, auf dem der Prozess während der letzten Zeitscheibe war. Die Wahrscheinlichkeit ist dann groß, dass der Prozess noch Teile seines Cache-Inhalts im Prozessor wieder findet. Daher die Prozessor-Affinität benutzt: Der Scheduler merkt sich (im PCB) jeweils den von diesem Prozess bevorzugt oder zuletzt benutzten Prozessor. 6-44
45 6.3 Echtzeit: Scheduling mit Sollzeitpunkten In Echtzeitsystemen (z. B. Steuerrechner für Fertigungsstraßen, Kraftwerke, Motorsteuerung,...) ist die Zielsetzung eine andere: Innerhalb knapper Zeitschranken müssen Messgrößen ausgewertet und darauf reagiert werden Den Prozessen werden daher Sollzeitpunkte (deadlines) zugeordnet, zu denen sie vollständig bearbeitet sein müssen. Da die Einhaltung der Sollzeitpunkte z. T. kritisch ist für die Funktion des Gesamtsystems, gehen sie in die Strategien ein. Bzgl. der Implikationen bei Verletzung der Sollzeitpunkte unterscheidet man: hard real-time systems: Verletzung bedeutet Ausfall des Systems und kann nicht toleriert werden (Beispiel: Airbag, Antiblockiersystem). soft real-time systems: Verletzung bedeutet Qualitätseinbußen, kann in Grenzen toleriert werden (Internet-Telefonie, Übertragung und Verarbeitung von Bewegtbildern, Online-Spiele). Gerade bei harten RT-Anforderungen setzt man Off-line-Algorithmen ein, um die Einhaltung der Sollzeitpunkte sicherstellen zu können. 6-45
46 Echtzeit: Begriffe Für Echtzeit-Prozesse ist von außen vorgeschrieben, wann sie frühestens beginnen dürfen und wann sie spätestens beendet sein müssen. Eine Überschreitung der Sollzeit (e i > d i ) heißt Verspätung (lateness) L := e i d i 6-46
47 Echtzeit: Ziele Die Zielfunktionen hängen stark davon ab, ob Verspätungen toleriert werden können oder nicht. In Soft-RT-Systemen kann die maximale Verspätung Lmax minimiert werden: Dadurch werden aber evtl. alle Sollzeitpunkte überschritten. Beim nachfolgenden Plan erhalten wir eine sehr viel größere maximale Verspätung, können aber bis auf einen alle Sollzeitpunkte einhalten: 6-47
48 Minimierung der maximalen Verspätung Bei Einprozessorsystemen ohne Verdrängung und ohne Abhängigkeiten zwischen Prozessen läuft das Schedulingproblem auf eine Permutation der Prozesse hinaus. In diesem Fall gilt das folgende Theorem (EDD = Earliest Due Date). Satz ( Jacksons Regel ): Jeder Ablaufplan, in dem die Prozesse nach frühesten Sollzeitpunkten geordnet ausgeführt werden, ist optimal bezüglich L max Die Prozesse müssen also sortiert werden, was in O(n log n) gelingt. EDD setzt voraus, dass alle Prozesse zu jedem Zeitpunkt beginnen können. In vielen Anwendungen gibt es frühestmögliche Startzeitpunkte (a i ). Durch die Einführung von unterschiedlichen Startzeitpunkten ( i,j : a i a j ) wird das Problem NP-hart, d.h. nicht in polynomialer Zeit optimal lösbar. 6-48
49 Minimierung der maximalen Verspätung (mit Startzeitpunkten und Verdrängung) Wenn jedoch Verdrängung möglich ist, gilt der folgende Satz, der wiederum auf Jacksons Regel beruht: Satz (EDF: Earliest Deadline First) Jeder Ablaufplan, in dem zu jedem Zeitpunkt der Prozess mit dem frühesten Sollzeitpunkt unter allen ablaufbereiten Prozessen zugeordnet wird, ist optimal bezüglich der maximalen Verspätung. 6-49
50 Periodische Prozesse Viele Echtzeit-Anwendungen sind periodische Aufgaben, die fristgerecht durchzuführen sind. Jeder Prozess ist zusätzlich gekennzeichnet durch seine Periode bzw. die dazu reziproke Rate. Dabei muss zunächst geprüft werden, ob die Aufgabe überhaupt durchgeführt werden kann (schedulability- bzw. feasibility test). Periodenlänge pi Ti(1) di bi Ti(k) Spielraum (slack time) Ti(1) ai Startzeitpunkt di(k): deadline in Periode k Für jeden einzelnen periodischen Prozess muss gelten: 0 < b i d i p i Bei mehreren periodischen Prozessen gilt als notwendige Bedingung für die Existenz eines zulässigen Plans: i b i p i
51 Periodische Prozesse: RMS Als Scheduling-Verfahren bei periodischen Prozessen wird i. d. R. das ratenmonotone Verfahren (rate monotonic scheduling, RMS) eingesetzt: Prozesse erhalten statische Prioritäten, die umgekehrt proportional sind zu ihrer Periode, d.h. der Prozess mit der kleinsten Periode erhält die höchste Priorität. Bei unabhängigen Prozessen und wenn die Sollzeitpunkte mit den Perioden zusammenfallen, gilt der folgende Satz: Eine Menge von n periodischen Prozessen kann durch RMS eingeplant werden, wenn gilt: n b ) l n (2 1 n 1 p l l=1 Der linke Teil der Ungleichung drückt die benötigte Prozessorleistung aus, die rechte Seite eine obere Schranke, die eingehalten werden muss, damit ein zulässiger Schedule entsteht Für große n bedeutet die Schranke, dass die kumulative Prozessorauslastung (Ausführungszeit/Periode) nicht höher als ln2 69, 3% sein soll (konservativ). Vergleich RMS vs. EDF: einfacher, die Fristen wichtiger Tasks einzuhalten.6-51
52 Weiterführende Literatur Stallings, W.: Operating Systems 4th ed., Prentice Hall, Chapter 9,10 Salomon, D.: Inside Windows NT, MS Press, Chapter
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.
MehrSysteme 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
MehrSysteme 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
MehrCPU-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
MehrKlassisches 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
MehrBetriebssysteme 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Ü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
MehrBegriff: 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
MehrBetriebssysteme (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
MehrScheduling. 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
Mehr5) 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
MehrBetriebssysteme 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
MehrEchtzeitscheduling (1)
Echtzeitscheduling (1) Scheduling in Betriebssystemen Ressourcenausteilung (CPU, Speicher, Kommunikation) Faire Ressourcenvergabe, insbesondere CPU Hohe Interaktivität / kurze Reaktionszeit für interaktive
MehrQuantitative 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
MehrHausü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
MehrRound-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
Mehr8. 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
MehrScheduling 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
MehrDatentechnik. => 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
MehrDä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
MehrEchtzeitfä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
MehrReal-Time Operating Systems Ein Überblick
Real-Time Operating Systems Ein Überblick Stefan Tittel Universität Dortmund Proseminar: Werkzeuge und Techniken zur Spezifikation, Simulation und Implementierung von eingebetteten Systemen, 2004 1 Einführung
MehrVerteilte 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
Mehr5 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
MehrBetriebssysteme (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Ü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
MehrVorbereitung 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
MehrTechnische 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
MehrScheduling. 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
MehrProgramme 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
MehrBetriebssysteme 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
MehrScheduling-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
MehrTask 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
MehrProzesse. 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?
MehrBetriebssysteme. 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
MehrOSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme
OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas Wilhelm.Haas@informatik.stud.uni-erlangen.de Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4
MehrBP 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
MehrProzesse 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
MehrB.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
MehrKap. 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Ü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
MehrInhaltsverzeichnis. 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
MehrB.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.
MehrDer upb.de Supercomputer: Single Site Scheduling
Der upb.de Supercomputer: Single Site Scheduling Bastian Cramer Universität Paderborn 1 Einleitung.................................................... 3 2 Jobs..........................................................
MehrSysteme 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
MehrProzesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände
Prozesseinplanung Kurzfristige Einplanung Systemaufrufe Programmverwaltung Zugriffskontrolle Dateiverwaltung Ein /Auslagerung Vernetzung Ein /Ausgabe Fadenverwaltung Koordination Prozesseinplanung Prozessabfertigung
Mehr(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
MehrSchedulingalgorithmen 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
MehrKapitel III. Prozessverwaltung. VO Betriebssysteme
Kapitel III Prozessverwaltung V 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
Mehr2 Echtzeitbetriebssysteme
35 2 Echtzeitbetriebssysteme In den letzten Jahren hat sich die Automobilindustrie zu einem der wesentlichen Anwender von Echtzeitbetriebssystemen für eingebettete Systeme entwickelt. Relativ zeitig erkannten
MehrArchitektur 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 =
Mehr183.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
MehrOSEK / OSEKtime - ein Vergleich
OSEK / OSEKtime - ein Vergleich Hauptseminar WS 07/08 André Puschmann andre.puschmann@stud.tu-ilmenau.de Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Fachgebiet Rechnerarchitektur
MehrModerne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum
Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede
Mehr*DE102007042999A120090312*
*DE102007042999A120090312* (19) Bundesrepublik Deutschland Deutsches Patent- und Markenamt (10) DE 10 2007 042 999 A1 2009.03.12 (12) Offenlegungsschrift (21) Aktenzeichen: 10 2007 042 999.3 (22) Anmeldetag:
MehrDie Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen.
Kapitel 4 Prozesse Seite 1 4 Prozesse 4.1 Prozeßkonzept Prozess- ein Programm in Ausführung Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen. Üblicher Start: über eine Kommandozeileneingabe
MehrAusarbeitung 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
MehrRedwood 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.
MehrSebastian Witte 06.03.2013
06.03.2013 Inhalt kleine, leistungsfähige Systeme verfügbar (Smartphones) Resourcenverschwendung übermäßige Resourcenreservierung kleinste Systeme noch zu schnell zu restriktives Scheduling Vermischung
MehrBetriebssystembau (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
Mehr7.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
MehrInformatik II Greedy-Algorithmen
7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:
MehrProzessor (CPU, Central Processing Unit)
G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher
MehrEin 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
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen
MehrVon 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
MehrApproximationsalgorithmen
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
MehrOSEK Deadline-Analyse
OSEK Deadline-Analyse GmbH Erlangen Jürgen Scherg 8. Juni 2001 Ein Programmtest muß unter verschiedenen Gesichtspunkten durchgeführt werden. verschiedene Testmethoden sind notwendig. Blackbox : Es wird
MehrSystemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind
Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrOperating 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
MehrVon der Platte zur Anwendung (Platte, Treiber, Dateisystem)
(Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren
MehrEchtzeitanforderung 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
MehrThread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung
1.5 Threaded Server Server als ein Prozess mit mehreren Threads Threads Thread als Aktivitätsträger virtueller Prozessor eigener Programmzähler eigener Stackbereich eingebettet in den Kontext eines Prozesses
MehrVorl. 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
MehrDipl.-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
MehrAufbau eines Echtzeit-Betriebssystems für Embedded Systems
Aufbau eines Echtzeit-Betriebssystems für Embedded Systems I. Begriffsdefinition II. Anforderungen III. Struktur und Komponenten Dr.-Ing. Ludwig Eckert, Seite 1 I. Begriffsdefinition: Embedded System Bsp.:
MehrMusterlösung 3. Mikroprozessor & Eingebettete Systeme 1
Musterlösung 3 Mikroprozessor & Eingebettete Systeme 1 WS214/215 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tief ergehende Kenntnis zu vermitteln; sie sollen lediglich den Einstieg
MehrZeit- 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
MehrTIMI: 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:
Mehr13. Ü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
MehrDomänenanalyse Threadverwaltung/Scheduling
Domänenanalyse Threadverwaltung/Scheduling Johannes Handl, Marc Rößler, Christian Strengert 15. Mai 2003 Domänenanalyse Threadverwaltung/Scheduling [1] Domänendefinition Die Erzeugung, Verwaltung, Umschaltung/Wechsel,
MehrARM 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
MehrBetriebssystembau (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
MehrWarteschlangentheorie 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,
MehrVerteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7.
Verteilte Systeme SS 2015 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i
MehrC 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
MehrReal Time. Scheduler. Informationstechnik für Luft- und Raumfahrt Aerospace Information Technology
Real Time Scheduler Zeitungsmeldung 2. Mai. 2015: In Labortest, alle 248 Tage schaltet der Computer den Stromgenerator in den Fail-Safe-mode um ihm zu schutzen APU: Prozedur zum Start: 30.. 60 Sek, und
MehrProjekt für Systemprogrammierung WS 06/07
Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware
MehrApproximation 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
MehrEinfü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
MehrProzeß. 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,
MehrInhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners
Inhaltsverzeichnis Systemprogrammierung - Kapitel 1 Einführung 1/19 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners E/A-Operationen, Speicherstrukturen
MehrKlassifikation von Client-Server-Architekturen
Klassifikation von --Architekturen 2 Bevor wir auf eine Klassifikation von --Architekturen eingehen, müssen wir zunächst die Bedeutung der Begriffe konkurrent, parallel und verteilt klären. Ein konkurrentes
MehrApproximationsalgorithmen
Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.
MehrEnterprise 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
Mehr6.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
Mehr3 Programmiermodelle für parallele und verteilte Systeme
3 Programmiermodelle für parallele und verteilte Systeme Das vorherrschende Programmiermodell für parallele und verteilte Systeme ist das Client Server Modell. Das Client Server Modell ist unabhängig von
MehrIn diesem Kapitel will ich die Grundlagen legen, die für das Verständnis von Mac OS X hilfreich sind.
11 In diesem Kapitel will ich die Grundlagen legen, die für das Verständnis von Mac OS X hilfreich sind. Unterschiede zu anderen Systemen Abb. 2 1 Die Grundarchitektur Diese Beschreibung von Mac OS X ist
Mehr