Scheduling 6.1EinfŸhrung

Größe: px
Ab Seite anzeigen:

Download "Scheduling 6.1EinfŸhrung"

Transkript

1 Scheduling 6.EinfŸhrung Scheduling (zu deutsch etwa ãablaufplanungò) bedeutet 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. Dabei tritt das Scheduling-Problem auf allen GranularitŠtsebenen auf: Prozesse als komplette Benutzerprogramme sollen auf einem Einprozessorsystem ausgefÿhrt werden Prozesse (Threads) als Teile eines parallelen Programms sollen auf einem Parallelrechner ausgefÿhrt werden Prozesse als Einzeloperationen oder kurze Operationsfolgen sollen auf den parallel arbeitenden Einheiten des Prozessors (Pipelining, Superskalare Architekturen) ausgefÿhrt werden. 6-

2 Beispiele: Mehrbenutzerbetriebssystem: Mehrere Prozesse sind ablauffšhig in der Bereitliste: Welcher soll als nšchster dem Prozessor zugeordnet werden? Der bersetzer erzeugt Code fÿr einen superskalaren Prozessor mit Pipelining. Er kennt die auszufÿhrenden Befehle und die AbhŠngigkeiten zwischen den Befehlen und muss eine Zuordnung der Befehle zu den Pipelines finden, so dass das ProgrammstŸck in mšglichst kurzer Zeit ausgefÿhrt wird. In einem Einbenutzersystem wird ein MPEG-Video live aus dem Internet abgespielt. Das Zusammenspiel von Netzwerk-Software, Decodierung, Bildschirmausgabe und Soundausgabe soll zu einer gleichmšssigen, synchronisierten Wiedergabe fÿhren, auch wenn im Hintergrund zusštzlich ein Compiler lšuft. Ein Montageroboter muss verschiedene Sensordaten in unterschiedlichen Raten abtasten und darauf reagieren. Z.B. mÿssen zur Erkennung der Lage des WerkstŸcks auf dem Transportband zeitaufwendige Berechnungen durchgefÿhrt werden. In einem Multiprozessorsystem laufen mehrere parallele synchrone Programme, d.h. Programme, deren Prozesse sich regelmšssig Ÿber eine Barriere synchronisieren. Die Prozesse, die zum selben Programm gehšren, sollten gleichzeitig zugeordnet werden (Gang-Scheduling) 6-2

3 Beispiel: Gang Scheduling B B B Warteschlange (ready queue) B A A A A Prozessoren Werden mehrere parallele Anwendungen gleichzeitig gerechnet (time-sharing), so sollten ihre Prozesse gemeinsam zugeordnet werden. Die Scheduling-Verfahren arbeiten dann auf Programmebene, nicht auf Prozess-ebene 6-3

4 Ein Klassisches Scheduling-Problem 6 Prozesse 3 Prozessoren T T2 T3 T4 T5 T6 Zuordnung? P P2 P3 Ablaufplanlänge (makespan) P T4 T5 P2 T T3 P3 T2 T6 Gantt-Diagramm 6-4

5 Gestaltungsparameter des Scheduling-Problems: Einprozessor / Mehrprozessor Bei Mehrprozessormaschinen: Prozessoren homogen, d.h. alle gleich schnell? Prozessmenge statisch oder dynamisch? Bei statischer Prozessmenge kommen keine weiteren Prozesse hinzu. Alle Prozesse sind gegeben und ablauffšhig. Im dynamischen Fall kommen neue Prozesse wšhrend der AusfŸhrung hinzu. Scheduling on-line (zur Laufzeit) oder off-line (irgendwann vorher) Im Off-line-Fall sind alle Prozesse bekannt (auch zukÿnftige AnkŸnfte), es liegt also vollstšndige Information vor. On-line-Algorithmen kennen nur die aktuellen Prozesse und treffen ihre Entscheidungen auf Grund unvollstšndiger Information. AusfŸhrungszeiten bekannt? Bekannte AusfŸhrungszeiten der Prozesse (oder Worst-Case-AbschŠtzungen dafÿr) sind Voraussetzung fÿr Realzeit-Scheduling und hilfreich fÿr faire Algorithmen 6-5

6 Gestaltungsparameter des Scheduling-Problems (Fortsetzung): VerdrŠngung mšglich? Mit VerdrŠngung kšnnen Schedulingziele viel besser erreicht werden. AbhŠngigkeiten zwischen den Prozessen - Reihenfolgebeziehung (partielle Ordnung) - Synchronisierte Zuordnung der parallelen Prozesse eines parallelen Programms Kommunikationszeiten zu berÿcksichtigen? RŸstzeiten (Umschaltzeiten) zu berÿcksichtigen? PrioritŠten zu berÿcksichtigen? PrioritŠten werden von aussen 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. Oft sind periodische Prozesse zu berÿcksichtigen. Welches Ziel soll erreicht werden ( zu optimierende Zielfunktion) 6-6

7 Beispiele fÿr Zielfunktionen LŠnge des Ablaufplans (min) Maximale Antwortzeit (min) Mittlere (gewichtete) Antwortzeit (min) Anzahl Prozessoren (min) Durchsatz (max) Prozessorauslastung (max) Maximale VerspŠtung (min) 6-7

8 6.2 Scheduling in konventionellen Mehrprogrammsystemen Betriebsziele hohe Effizienz Prozessor gut ausgelastet geringe Antwortzeit bei interaktiven Prozessen hoher Durchsatz bei Stapelbetrieb (batch-processing) Fairness gerechte Verteilung der Prozessorleistung und der Wartezeit unter die Prozesse Programmstart warten rechnen Programmende Wartezeit (waiting time) Antwortzeit (response time) Bedienzeit (service time) 6-8

9 Annahmen homogenes (symmetrisches) Multiprozessorsystem Prozessmenge dynamisch Keine AbhŠngigketien zwischen Prozessen Dynamisches On-line-Scheduling Keine Sollzeitpunkte Strategiealternativen ohne / mit VerdrŠngung 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 berÿcksichtigt 6-9

10 Zur ErlŠuterung der Strategien Neuankömmling bzw. verdrängter Prozeß Einordnen gemäß Strategie Nächster Bereitliste (Prozeßkontrollblöcke) Prozessoren 6-0

11 Scheduling Strategien FCFS First Come First Served (auch FIFO (First In First Out) genannt) Arbeitsweise: Bearbeitung der Prozesse in der Reihenfolge ihrer Ankunft in der Bereitliste. Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe Anmerkung: Entspricht der Alltagserfahrung LCFS 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 Scheduling-Strategien (Fortsetzung) LCFS-PR Last Come First Served - Preemptive Resume Arbeitsweise: Neuankšmmling in Bereitliste verdršngt den rechnenden Prozess. VerdrŠngter Prozess wird hinten in die Liste (Warteschlange) eingereiht Falls keine AnkŸnfte, Abarbeitung der Liste ohne VerdrŠngung Anmerkung: Ziel ist die Bevorzugung kurzer Prozesse. Ein kurzer Prozess hat die Chance, noch vor der nšchsten Ankunft fertig zu werden. Ein langer Prozess wird u.u. mehrfach verdršngt 6-2

13 Scheduling Strategien (Fortsetzung) RR Round Robin (Zeitscheibenverfahren) 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 grosses τ 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 6-3

14 Scheduling Strategien (Fortsetzung) PRIO-NP Priorities - Nonpreemptive Arbeitsweise: Neuankšmmlinge werden nach ihrer PrioritŠt in die Bereitliste eingeordnet. Prozessorbesitz bis zum Ende oder zur freiwilligen Aufgabe PRIO-P Priorities - Preemptive Arbeitsweise: Wie PRIO-NP, jedoch findet VerdrŠngungsprŸfung statt, d.h. der rechnende Prozess wird verdršngt, wenn er eine geringere PrioritŠt hat als der Neuankšmmling. 6-4

15 Problem: PrioritŠtsinvertierung Betriebsmittel wartet auf Prozess C Prio = 2 Zustand ãblockiertò besitzt Prozess A Prio = 4 Prozess B Prio = 8 Zustand ãbereitò Zustand ãrechnendò Prozess C wird ãverhungernò, obwohl er der dringlichste ist: Prozess B dominiert die CPU, Prozess A kommt nicht zum Zuge und kann daher das Betriebsmittel nicht freigeben, wodurch Prozess C auf unbestimmte Zeit blockiert bleibt. 6-5

16 Scheduling-Strategien (Fortsetzung) SJN Shortest Job Next Arbeitsweise: Prozess mit der kÿrzesten Bedienzeit wird als nšchster bis zum Ende oder zur freiwilligen Aufgabe bearbeitet Wie PRIO-NP, wenn man die Bedienzeit als PrioritŠtskriterium verwendet Anmerkung: Bevorzugt kurze Prozesse und fÿhrt daher zu kÿrzeren mittleren Antwortzeiten als FCFS SRTN Shortest Remaining Time Next Arbeitsweise: Prozess mit der kÿrzesten Restbedienzeit wird als nšchster bearbeitet. Rechnender Prozess kann verdršngt werden. Anmerkung: Beide Algorithmen haben den Nachteil, dass sie Kenntnis der Bedienzeit benštigen, die nur vom Benutzer in Form einer SchŠtzung stammen kann Lange Prozesse kšnnen ãverhungernò, wenn immer kÿrzere vorhanden sind 6-6

17 Scheduling-Strategien (Fortsetzung) HRN Highest Response Ratio Next Arbeitsweise Die Response Ratio r ist definiert als r:= Wartezeit + Bedienzeit Bedienzeit r wird dynamisch berechnet und als PrioritŠt verwendet: Der Prozess mit dem grš ten r wird als nšchster ausgewšhlt. Die Strategie ist nicht verdršngend Anmerkung: Wie bei SJN werden kurze Prozesse werden bevorzugt, lange Prozesse mÿssen aber nicht ewig warten, sondern kšnnen durch Warten ãpunkte sammelnò. 6-7

18 Scheduling-Strategien (Fortsetzung) FB (Multilevel) Feedback Kennt man die Bedienzeit a priori nicht, mšchte aber trotzdem lang laufende Prozesse benachteiligen, so kann man ihn nach jeder CPU-Benutzung in seiner ãprioritštò schrittweise herabsetzen: Innerhalb jeder Warteschlange kann RR eingesetzt werden. Die Zeitscheiben kšnnen nach ãuntenò hin lšnger werden. Zugang Warteschlange Abgang hohe PrioritŠt Warteschlange Abgang Warteschlange Abgang geringe PrioritŠt 6-8

19 Standard-Scheduling-Strategien ohne VerdrŠngung mit VerdrŠngung ohne PrioritŠten mit PrioritŠten ohne PrioritŠten mit PrioritŠten BZ-unabhŠngig FCFS, LCFS PRIO-NP LCFS-PR, RR, FB PRIO_P BZ-abhŠngig SJN, HRN SRTN 6-9

20 Anmerkungen FŸr Standard-BS mit interaktivem Betrieb ist VerdrŠngung nahezu unverzichtbar Meist wird eine Kombination eingesetzt aus - Zeitscheiben-Mechanismus - PrioritŠten Die PrioritŠten setzen sich oft aus einem statischen und einem dynamischen Anteil zusammen, wobei in den dynamischen Anteil - das Prozessverhalten - die Lastsituation eingeht Strategien in realen Standard-BS (Unix, VMS, MVS, BS2000,..) sind meist sehr aufwendig 6-20

21 6.2 Scheduling mit Sollzeitpunkten In Realzeitsystemen (z.b. Steuerrechner fÿr Fertigungsstrassen, Kernkraftwerke, Motorsteuerung, Antiblockiersystem) ist die Zielsetzung eine andere: Innerhalb knapper Zeitschranken mÿssen Messgršssen 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: BezŸglich 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 aber in Grenzen toleriert werden (Internet-Telefonie (ãvoice over IPÒ), bertragung und Verarbeitung von Bewegtbildern, Synchronisation von Bild und Ton) Gerade bei harten RT-Anforderungen setzt man Off-line-Algorithmen ein, um die Einhaltung der Sollzeitpunkte sicherstellen zu kšnnen. 6-2

22 Begriffe FŸr Realzeit-Prozesse ist von au en vorgeschrieben, wann sie frÿhestens beginnen dÿrfen und wann sie spštestens beendet sein mÿssen. Bedienzeit bi (service time) Spielraum sli (slack-time, laxity) Ti ai: frühester Startzeitpunkt si: tatsächlicher Startzeitpunkt ei: tatsächlicher Endezeitpunkt di: spätester Endezeitpunkt (Sollzeitpunkt, deadline) Eine berschreitung der Sollzeit (e i > d i ) heisst VerspŠtung (lateness) L := e i - d i Verspätung (lateness) Ti si di ei 6-22

23 Ziele Die Zielfunktionen hšngen stark davon ab, ob VerspŠtungen toleriert werden kšnnen oder nicht. In Soft-RT-Systemen kann beispielsweise die maximale VerspŠtung L max minimiert werden. T T2 T3 T4 T5 d d2 d3 d4 d5 Maximale Verspätung Lmax Dadurch werden aber u.u. 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: T2 T3 T4 T5 T d d2 d3 d4 d5 Maximale Verspätung Lmax 6-23

24 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 nicht fallenden Sollzeitpunkten geordnet ausgefÿhrt werden, ist optimal bezÿglich L max Die Prozesse mÿssen also lediglich sortiert werden, was in O(n log n) gelingt. EDD setzt voraus, dass alle Prozesse zu jedem Zeitpunkt beginnen kšnnen. TatsŠchlich gibt es in vielen Anwendungen frÿhestmšgliche Startzeitpunkte (a i ). Durch die EinfŸhrung von unterschiedlichen Startzeitpunkten ( ij, : ai aj) wird das Problem NP-hart, d.h. es ist nicht in polynomialer Zeit optimal lšsbar. 6-24

25 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. a5 a4 T5 a3 T4 a2 T3 a T2 T T T2 T T3 T4 T3 T5 T3 d2 d d5 d4 d3 6-25

26 Periodische Prozesse In vielen Realzeit-Anwendungen handelt es sich um periodische Aufgaben, die fristgerecht durchzufÿhren sind (z.b. Auswertung von Sensordaten). Jeder Prozess ist zusštzlich gekennzeichnet durch seine Periode p i bzw. die dazu reziproke Rate r := p i i Dabei muss zunšchst geprÿft werden, ob die Aufgabe Ÿberhaupt durchgefÿhrt werden kann (Einplanbarkeitstest, schedulability test, feasibility test) Periode(nlänge) pi bi di Spielraum (slack-time) Ti() Ti(k) Ti(k+) ai Startzeitpunkt di(k): deadline in Periode k FŸr jeden einzelnen periodischen Prozess muss gelten: 0 < bi di pi Bei mehreren periodischen Prozessen gilt als notwendige und hinreichende Bedingung bi fÿr die Existenz eines zulšssigen Plans: p i i 6-26

27 Periodische Prozesse Als Scheduling-Verfahren bei periodischen Prozessen wird in der Regel das sogenannte ratenmonotone Verfahren (rate monotonic scheduling) eingesetzt: Die Prozesse erhalten eine statische PrioritŠt, die umgekehrt proportional ist 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 ein ratenmonotones Verfahren eingeplant werden, wenn die folgende Ungleichung gilt: n bi n p i= i ( ) n 2 Der linke Teil der Ungleichung drÿckt die benštigte Prozessorleistung aus, und 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 Prozessorauslastung nicht hšher als 69% sein darf. 6-27

28 6.3 Scheduling bei abhšngigen Prozessen Bisher sind wir davon ausgegangen, dass die einzuplanenden Prozesse unabhšngig voneinander waren, d.h. der Startzeitpunkt war vielleicht fest vorgegeben, aber nicht abhšngig von Start- oder Endezeitpunkt eines anderen Prozesses. Jetzt wollen wir AbhŠngigkeiten zwischen Prozessen berÿcksichtigen, d.h. es soll teilweise eine Reihenfolge der ProzessausfŸhrung eingehalten werden. Auf der Prozessmenge ist eine Ordnungsrelation definiert, die festlegt, welcher Prozess vor welchem Prozess ausgefÿhrt werden muss. Die Prozesse lassen sich dann als gerichteter azyklischer Graph darstellen (DAG = directed acyclic graph). Die Knotengewichte geben die Bedienzeiten (AusfŸhrungszeiten) der Prozesse an. Beispiel fÿr einen DAG Die oberen Zahlen in den Knoten sind die Prozessnummern, die unteren geben die Bedienzeiten an

29 Einsatzgebiete: Prozesse als Teile eines parallelen Programms, das auf einem Parallelrechner ausgefÿhrt werden soll. Prozesse als Befehle oder kurze Befehlsfolgen, die vom bersetzer bei der Codeerzeugung fÿr einen superskalaren oder Pipeline-Prozessor einzuplanen sind. Ziel Bei gegebener Anzahl Prozessoren (bzw. parallelen AusfŸhrungseinheiten) die AblaufplanlŠnge unter BerŸcksichtigung der AbhŠngigkeiten minimieren. Varianten: spezifische Formen von DAGs (z.b. Intree, Outtree,...) zusštzliche BerŸcksichtigung von Kommunikationszeiten (Verzšgerungen entlang der Kanten) zusštzliche BerŸcksichtigung von Sollzeitpunkten BerŸcksichtigung des Verbindungsnetzes bei einem Multirechnersystem 6-29

30 Beispiel fÿr Codeerzeugung (Instruction scheduling) Quellprogramm (Grundblock) x := a+b y := x+c z := d+e AbhŠngigkeitsgraph Instruktionen r := a 2 r2 := b 3 r3 := r+r2 4 x := t3 5 r4 := c 6 r5 := r3+r4 7 y := r5 8 r6 := d 9 r7 := e 0 r8 := r6+r7 z := t

31 List-Scheduling (Hu, 96) FŸr allgemeine Scheduling-Probleme fÿr abhšngige Prozesse wird hšufig das List-Scheduling verwendet. Es ist ein heuristisches Off-line-Verfahren, das nicht notwendigerweise optimale PlŠne, d.h. solche mit minimaler LŠnge erzeugt. Nur fÿr BŠume ist es optimal Algorithmusschema: Gegeben Gesucht AbhŠngigkeitsgraph als DAG, Knoten gewichtet mit PrioritŠten Ablaufplan minimaler LŠnge fÿr k Prozessoren Initialisierung: FŸge alle Quellknoten (Knoten ohne VorgŠnger) in die Liste ein Schleife: while Liste nicht leer do (i) Nimm Knoten mit hšchster PrioritŠt aus der Liste (ii) WŠhle einen leeren Prozessor, um diesen Knoten auszufÿhren (iii) PrŸfe fÿr alle Knoten, die noch nicht zugeordnet und noch nicht in der Liste sind, ob alle direkten VorgŠnger abgearbeitet sind. Wenn ja, fÿge diesen Knoten in die Liste ein 6-3

32 Beispiel Wir verwenden den Graphen von Folie 6-29 und geben allen Prozessen gleiche PrioritŠt Die Liste kann dann als FIFO-Warteschlange organisiert sein. Der Listen-Algorithmus erzeugt die folgenden PlŠne: bei drei Prozessoren bei vier Prozessoren Zeit P P2 P3 Zeit P P2 P 3 P

33 Varianten des List-Scheduling Sind mehrere Prozesse ablaufbereit, d.h. in der Liste, so entscheidet ihre PrioritŠt. Diese PrioritŠt wurde eingefÿhrt, um unterschiedliche Strategien zu verfolgen Def. Def. Def. Die PfadlŠnge in einem AbhŠngigkeitsgraphen ist definiert als Summe aller Knotengewichte (ProzessausfŸhrungszeiten) des Pfades einschliesslich des Anfangs- und Endknotens. Der Level eines Knotens x ist die LŠnge des lšngstens Pfades von x bis zu einer Senke, d.h. zu einem Knoten ohne Nachfolger. Die Co-Level eines Knotens x ist die LŠnge des lšngstens Pfades von x bis zu einer Quelle, d.h. zu einem Knoten ohne VorgŠnger. Im obigen Beispielgraphen gilt: Nr Level Co-Level

34 Varianten des List-Scheduling HLF SLF Highest Level First: Der Knoten, der die lšngste Kette von Nachfolgerknoten besitzt, hat die hšchste PrioritŠt. Man nennt diese Strategie auch CP (critical path), weil der gewšhlte Knoten auf dem kritischen Pfad liegt. Da der kritische Pfad die gesamte AblaufplanlŠnge bestimmt, ist diese Strategie erfolgversprechend Smallest Co-Level First Der Knoten, der die kÿrzeste Kette von VorgŠngerknoten besitzt, hat die hšchste PrioritŠt. Da die VorgŠnger jedoch alle bearbeitet sind, wenn der Knoten ablaufbereit ist, bringt diese Strategie wenig ein. HLF ist fÿr baumartige Graphen mit EinheitsausfŸhrungszeiten optimal und hat sich auch sonst in der Praxis als gut erwiesen. (Bei zufšlligen Graphen nur hšchstens 5% schlechter als die optimale Lšsung in 90% der FŠlle) HLF nimmt die Hšhe des von Knoten x abhšngigen Teilbaums als PrioritŠtskriterium fÿr x. Andere Varianten wšhlen statt der Hšhe auch seine Breite oder seine KardinalitŠt als PrioritŠt. Ziel ist es dann, mšglichst viele Prozesse, zu deblockieren, d.h. ablaufbereit zu machen. 6-34

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

Einführung. Schedulingziel. Klassisches Scheduling-Problem. 6. Kapitel Ressource Prozessor: Scheduling Wintersemester 06/07 6. Kapitel Ressource Prozessor: Scheduling Prof. Matthias Werner 6 Professur Betriebssysteme Einführung Bisher: Wenn ein Prozesses den Prozessor aufgibt (Zustand laufend verlässt),

Mehr

Kapitel 6 Scheduling

Kapitel 6 Scheduling Kapitel 6 Scheduling 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.

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

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

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads Prozesse und Prozessmanagement des BS 1 Unterschied Prozess, Threads 1.1 Prozess Bei jedem Programm muss gespeichert werden, welche Betriebsmittel (Speicherplatz, CPU- Zeit, CPU-Inhalt,...) es benötigt.

Mehr

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

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2015/2016 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 17. Dezember 2015 Betriebssysteme / verteilte Systeme

Mehr

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

5. Foliensatz Betriebssysteme und Rechnernetze

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

Mehr

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

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P SoSe 2013 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 4 13.05.2013 bis 17.05.2013 Aufgabe 1: Multi-Feedback-Scheduling 0 P 1. Beschreiben Sie kurz

Mehr

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

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis Universität Paderborn Fachgebiet Rechnernetze SoSe 2014 Konzepte und Methoden der Systemsoftware Hausübung 2 2014-05-12 bis 2014-05-23 Hausübungsabgabe: Format: Lösungen in schriftlicher oder gedruckter

Mehr

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

Module. 2 NebenlŠufigkeit und Prozesse. 2.1 Prozesse und Module. Ein einzelnes Programm kann i.d.r. einen Prozessor nicht sinnvoll auslasten.

Module. 2 NebenlŠufigkeit und Prozesse. 2.1 Prozesse und Module. Ein einzelnes Programm kann i.d.r. einen Prozessor nicht sinnvoll auslasten. 2 NebenlŠufigkeit und 2.1 und e Prozess GerŠt 1 GerŠt 2 e Grš ere Softwaresysteme bestehen aus einer Menge kleinerer Komponenten, die wir e nennen. Ein stellt an seiner Schnittstelle eine Reihe von Operationen

Mehr

Ausgewählte Kapitel eingebetteter Systeme

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

Mehr

Ein einzelnes Programm kann i.d.r. einen Prozessor nicht sinnvoll auslasten

Ein einzelnes Programm kann i.d.r. einen Prozessor nicht sinnvoll auslasten 2 NebenlŠufigkeit und Prozesse 2.1 Prozesse und Module Prozess GerŠt 1 GerŠt 2 GerŠt 3 1 Ein einzelnes Programm kann i.d.r. einen Prozessor nicht sinnvoll auslasten Auch im Einprozessorsystem ist daher

Mehr

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

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

Mehr

Hausübung 2(Musterlösung)

Hausübung 2(Musterlösung) SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 2(Musterlösung) 2014-05-12 bis 2014-05-23 Hausübungsabgabe: Format: Lösungen in schriftlicher

Mehr

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

Betriebssysteme Sommersemester Betriebssysteme. 4. Kapitel. Scheduling. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme Betriebssysteme Sommersemester 2017 Betriebssysteme 4. Kapitel Scheduling Dr. Peter Tröger / Prof. M. Werner Professur Betriebssysteme 4.1 Einführung Strategie und Mechanismus Betriebssysteme Scheduling

Mehr

Beispiele: Scheduling 6.1EinfŸhrung. Beispiel: Gang Scheduling. Ein Klassisches Scheduling-Problem

Beispiele: Scheduling 6.1EinfŸhrung. Beispiel: Gang Scheduling. Ein Klassisches Scheduling-Problem Schedulng 6.EnfŸhrung Schedulng (zu deutsch etwa ãablaufplanungò) bedeutet de Zuordnung von AktvtŠten zu Instanzen, welche dese AktvtŠten durchfÿhren kšnnen, n Raum und Zet. In der Systemprogrammerung

Mehr

5) Realzeitscheduling

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

Mehr

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

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016 Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i

Mehr

Betriebssysteme. Teil 13: Scheduling

Betriebssysteme. Teil 13: Scheduling Betriebssysteme Teil 13: Scheduling Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 15.01.16 1 Literatur [13-1] Quade, Jürgen; Mächtel, Michael: Moderne Realzeitsysteme kompakt. dpunkt, 2012 [13-2] Quade,

Mehr

Betriebssysteme (BTS)

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

Mehr

Round-Robin Scheduling (RR)

Round-Robin Scheduling (RR) RR - Scheduling Reigen-Modell: einfachster, ältester, fairster, am weitesten verbreiteter Algorithmus Entworfen für interaktive Systeme (preemptives Scheduling) Idee: Den Prozessen in der Bereitschaftsschlange

Mehr

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

Klassisches Scheduling-Problem 6 Prozesse 3 Prozessoren. Strategie und Mechanismus Betriebssysteme Sommersemester 0. Einführung Betriebssysteme. Kapitel Scheduling Prof. Matthias Werner Professur Betriebssysteme Scheduling (etwa: Ablaufplanung): Zeitliche Zuordnung von Aktivitäten zu

Mehr

Echtzeitscheduling (1)

Echtzeitscheduling (1) Echtzeitscheduling (1) Scheduling in Betriebssystemen Ressourcenausteilung (CPU, Speicher, Kommunikation) Faire Ressourcenvergabe, insbesondere CPU Hohe Interaktivität / kurze Reaktionszeit für interaktive

Mehr

Proseminar KVBK : Scheduler unter Linux

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

Mehr

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Wolfram Burgard

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

Mehr

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

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

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

Quantitative Methoden

Quantitative Methoden Quantitative Methoden Betriebssysteme Claude-J. Hamann TU Dresden Problem und Gegenstand Problem Erfüllen von QoS-Anforderungen mit zeit- bzw. größenbeschränkten Ressourcen Gegenstand Scheduling basierend

Mehr

Technische Informatik II. SoSe Jörg Kaiser IVS EOS

Technische Informatik II. SoSe Jörg Kaiser IVS EOS Scheduling SoSe 2013 Jörg Kaiser IVS EOS Otto-von-Guericke-Universität Magdeburg 1 Scheduling - Beispiele Tagesplan Ressource: Zeit Stundenpläne Car Sharing Ressource: Räume, Dozenten Resourcen: Autos

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

Die mehrfšdige Prozessorarchitektur Rhamma

Die mehrfšdige Prozessorarchitektur Rhamma Die mehrfšdige Prozessorarchitektur Rhamma Winfried GrŸnewald, Theo Ungerer Institut fÿr Rechnerentwurf und Fehlertoleranz UniversitŠt Karlsruhe 76128 Karlsruhe {gruenewald, ungerer}@informatik.uni-karlsruhe.de

Mehr

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms Scheduling-Theorie Mathematische Modelle und Methoden für deterministische Scheduling-Probleme LiSA - A Library of Scheduling Algorithms Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel &

Mehr

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

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

Mehr

Betriebssysteme 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

Multicore in Echtzeitsystemen (1)

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

Mehr

Betriebssysteme und Systemsoftware

Betriebssysteme und Systemsoftware Merlin Denker Version 2 1 / 18 Vorwort Dieses Dokument soll einen Überblick über verschiedene Strategien aus der an der RWTH Aachen gehaltenen Vorlesung bieten. Die vorliegende Version dieses Dokuments

Mehr

Ü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

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

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme - Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 9: Scheduling gemischter Prozessmengen CSI Technische Universität Ilmenau www.tu-ilmenau.de

Mehr

> Übung Betriebssysteme Globalübung 3 Michel Steuwer Wintersemester 2012/13

> Übung Betriebssysteme Globalübung 3 Michel Steuwer Wintersemester 2012/13 > Übung Betriebssysteme Globalübung 3 Michel Steuwer Wintersemester 2012/13 Gruppe Parallele und Verteilte Systeme (PVS) Institut für Informatik Westfälische Wilhelms-Universität Münster Hinweise 2 Aufgaben

Mehr

3. Scheduler und Schedulingstrategien

3. Scheduler und Schedulingstrategien 5 3 Scheduler und Schedulingstrategien Unter Scheduling versteht man einen Ablaufplan, einen Fahrplan oder eine Auswahlstrategie, nach der ein knappes Betriebsmittel im Wettbewerb befindlichen Prozessen

Mehr

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

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

Mehr

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

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

Mehr

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

Musterlösung Prüfung WS 01/02

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

Mehr

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

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

Analysis of System Performance IN2072 Chapter 2 Random Process Part 1

Analysis of System Performance IN2072 Chapter 2 Random Process Part 1 Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München Analysis of System Performance IN2072 Chapter 2 Random Process Part Dr. Alexander Klein Prof. Dr.-Ing.

Mehr

Task& Data-Flow Graphs

Task& Data-Flow Graphs Task& Data-Flow Graphs M. Thaler, TG208, tham@zhaw.ch www.zhaw.ch/~tham Februar 16 1 1 Um was geht es? Parallele Algorithmen was sind Möglichkeiten zur Darstellung? was sind Möglichkeiten zur Analyse?

Mehr

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

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden. 5. Steuerung technischer Prozesse 5.1 Echtzeit (real time) Im Gegensatz zu Aufgabenstellungen aus der Büroumgebung, wo der Anwender mehr oder weniger geduldig wartet, bis der Computer ein Ergebnis liefert

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

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

Klausur. Betriebssysteme SS 2007

Klausur. Betriebssysteme SS 2007 Matrikelnummer: 9999999 Klausur FB Informatik und Mathematik Prof. R. Brause Betriebssysteme SS 2007 Vorname: Nachname: Matrikelnummer: Geburtsdatum: Studiengang: Bitte tragen Sie auf jeder Seite Ihre

Mehr

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

Threads and Scheduling

Threads and Scheduling Vorlesung Betriebssysteme WS 2010, fbi.h-da.de Threads and Scheduling Jürgen Saala 1. Threads 2. Scheduling 2 1. Threads 3 Prozesse mit je 1 Adressraum 1 Ausführungsfaden d.h. Unabhängiger Adressraum mit

Mehr

Approximationsschemata

Approximationsschemata Effiziente Algorithmen Aproximationsalgorithmen 312 Definition Approximationsschemata Sei A(ǫ) ein Approximationsalgorithmus mit einem Parameter ǫ. 1. A(ǫ) ist ein PTAS (polynomial time approximation scheme),

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

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 182.713 Prüfung Echtzeitsysteme 27. März 2015 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(25) 3.)(15) 4.)(25) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Grundlagen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen

Mehr

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

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige

Mehr

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

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

Mehr

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

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

Mehr

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Am Pfaffenstein 14 D-55270 Klein-Winternheim Tel. +49 (0) 6136 9948-0 Fax. +49 (0) 6136 9948-10 PikeOS: multiple VM Umgebung VM #0 VM #1 VM #2... PikeOS

Mehr

Betriebssysteme H.-U. Hei UniversitŠt Paderborn. Kapitel 3 Prozesse 3-1

Betriebssysteme H.-U. Hei UniversitŠt Paderborn. Kapitel 3 Prozesse 3-1 Kapitel 3 Proesse 3-1 3.1 Proessbeschreibung Proessbeschreibung Ein Proess ist repršsentiert durch eine speielle Datenstruktur, den Proesskontrollblock (PCB), der alle relevante Information enthšlt,.b.:

Mehr

8. Vorlesung Betriebssysteme

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

Mehr

5.1) Realzeitscheduling (Mehrprozessorsysteme)

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

Mehr

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

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

Mehr

5 Kernaufgaben eines Betriebssystems (BS)

5 Kernaufgaben eines Betriebssystems (BS) 5 Kernaufgaben eines Betriebssystems (BS) Betriebssystem ist eine Menge von Programmen, die die Abarbeitung anderer Programme auf einem Rechner steuern und überwachen, insbesondere verwaltet es die Hardware-Ressourcen

Mehr

TI Übung 5. Prozess-Scheduling. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm

TI Übung 5. Prozess-Scheduling. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm TI Übung 5 Prozess-Scheduling Andreas I. Schmied (schmied@inf...) Abteilung Verteilte Systeme Universität Ulm SS2005 Und nun... Wiederholung 1 Wiederholung Andreas I. Schmied (schmied@inf...) TI Übung

Mehr

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

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

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

Mehr

Chart-Parsing. bersicht. Ziel. Motivation: Bisher vorgestellte Verfahren sind nicht effizient Grundidee des Chart-Parsing Datenstruktur

Chart-Parsing. bersicht. Ziel. Motivation: Bisher vorgestellte Verfahren sind nicht effizient Grundidee des Chart-Parsing Datenstruktur Chart-Parsing bersicht Ziel Motivation: Bisher vorgestellte Verfahren sind nicht effizient Grundidee des Chart-Parsing Datenstruktur Knoten passive und aktive Kanten gepunktete Regeln (dotted rules) Fundamentalregel

Mehr

Kapitel 1 Parallele Modelle Wie rechnet man parallel?

Kapitel 1 Parallele Modelle Wie rechnet man parallel? PRAM- PRAM- DAG- R UND R Coles und Kapitel 1 Wie rechnet man parallel? Vorlesung Theorie Paralleler und Verteilter Systeme vom 11. April 2008 der Das DAG- Das PRAM- Das werkmodell Institut für Theoretische

Mehr

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

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

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

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

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme Seite 1 Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme 1 11.07.2007 Hinweise: Bevor Sie mit der Bearbeitung der Aufgaben beginnen, müssen Sie auf allen Blättern Ihren Namen und Ihre

Mehr

Vorlesung Betriebssysteme I

Vorlesung Betriebssysteme I 1 / 33 Vorlesung Betriebssysteme I Thema 7: Zuteilung des Prozessors Robert Baumgartl 17. Januar 2017 Prozessorzuteilung (Scheduling) = Beantwortung der Frage: Welche Aktivität soll zu einem bestimmten

Mehr

Ausgabedaten. Programm. Daten

Ausgabedaten. Programm. Daten 4 Prozesse H.-U. Heiß, Uni Paderborn 4.1 Eigenschaften von Prozessen Ein Prozess (process, task, thread) ist ein Stück sequentielles Programm (lineare Folge von Befehlen) mit einem Datenbereich, das im

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

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

Mehr

1 Konzepte der Parallelverarbeitung

1 Konzepte der Parallelverarbeitung Parallelverarbeitung Folie 1-1 1 Konzepte der Parallelverarbeitung Erhöhung der Rechenleistung verbesserte Prozessorarchitekturen mit immer höheren Taktraten Vektorrechner Multiprozessorsysteme (Rechner

Mehr

Datenstrukturen und Algorithmen 2. Klausur SS 2001

Datenstrukturen und Algorithmen 2. Klausur SS 2001 UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................

Mehr

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

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr

Produktionssteuerung

Produktionssteuerung Produktionslogistik Absatzplanung (Demand Planning) Planung der Fertigungsanlagen (Fabrik Design) Produktionsplanung Produktionssteuerung (Scheduling) Materialfluss (Suppy Chain Management) Lagerhaltung

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

Algorithmen und Datenstrukturen 2-1. Seminar -

Algorithmen und Datenstrukturen 2-1. Seminar - Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8

Mehr

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

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

Mehr

Informatik II Greedy-Algorithmen

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

Mehr

Betriebssysteme Wintersemester 2005/06

Betriebssysteme Wintersemester 2005/06 Betriebssysteme Wintersemester 2005/06 Vorlesung 4 CPU Scheduling Dr. Oliver Waldhorst Rechnernetze und verteilte Systeme Universität Leipzig http://www.informatik.uni-leipzig.de/rnvs Fahrplan Nr. 1 2

Mehr

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung

Mehr

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind. 3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls

Mehr

Teil 2: Graphenalgorithmen

Teil 2: Graphenalgorithmen Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Problemstellung Ungewichtete Graphen Distanzgraphen Gewichtete

Mehr

2 Prozesse und ihre Interaktion. 2.1 Prozesse. Die Abarbeitung von Programmen ist in Prozessen organisiert.

2 Prozesse und ihre Interaktion. 2.1 Prozesse. Die Abarbeitung von Programmen ist in Prozessen organisiert. 2 Prozesse und ihre Interaktion 2.1 Prozesse Die Abarbeitung von Programmen ist in Prozessen organisiert. Ein Prozess besteht im wesentlichen aus einem StŸck Programmcode einem oder mehrerer Datenbereichen,

Mehr