3. Scheduler und Schedulingstrategien

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "3. Scheduler und Schedulingstrategien"

Transkript

1 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 zugeteilt wird Ein Programm, das solch einen Ablaufplan oder eine Auswahlstrategie realisiert nennt man Scheduler Scheduling findet man auf verschiedenen Ebenen des Betriebssystems vor und hängt davon ab, ob der Planungszeitraum relativ lang oder kurz ist Auf der untersten Ebene ist die Strategie angesiedelt, nach der einem Prozeß der Prozessor, das wichtigste Betriebsmittel eines Rechners, zugeteilt wird Man spricht dabei vom Process Scheduling oder Low-level Scheduling oder bei Betrachtung des Planungszeitraums vom Short-term Scheduling Der Process Scheduler geht immer davon aus, daß der Prozeß alle anderen Betriebsmittel, hauptsächlich den Hauptspeicher, besitzt und zum Laufen und Vorankommen nur den Prozessor benötigt (der Prozeß befindet sich im Hauptspeicher) Der Process Scheduler realisiert die Umschaltstrategie für den Dispatcher, das bedeutet, er legt eine Strategie fest, nach der Prozesse den Prozessor zugeteilt bekommen und andere Prozesse den Prozessor aufgeben müssen Die nächste Ebene umfaßt die Strategie, in der einem Prozeß die anderen Betriebsmittel, nämlich die E/A-Geräte und hauptsächlich der Hauptspeicher zugeteilt bekommen Auf dieser Ebene spricht man vom Intermediate-level Scheduling oder bei Betrachtung und Berücksichtigung eines Planungszeitraums vom Medium-term Scheduling Betrachtet man den Mehrprogrammbetrieb (Multiprogramming), dh mehrere Programme befinden sich zur Ausführung im Hauptspeicher und zum Fortschreiten der Prozesse fehlt nur der Prozessor, so ist die Hauptaufgabe des Medium-term Scheduling den Grad des Multiprogramming zu bestimmen Um Prozesse von der Zuteilungsmenge um den Prozessor abzuhalten und somit den Grad des Multiprogramming zu reduzieren, kann der Prozeß vom Hauptspeicher auf einen Hintergrundspeicher ausgelagert werden Nach einer gewissen Zeit kann der Prozeß wieder eingelagert werden, dh vom Hintergrundspeicher in den Hauptspeicher gebracht werden, und an der Stelle fortfahren, an der er ausgelagert wurde Diesen Vorgang bezeichnet man als Swapping und den Vorgang der Auslagerung als Swap Out und der Einlage-

2 31 Kriterien und Ziele des Scheduling 6 rung als Swap In Der Swapper entscheidet, welcher Prozeß bei Erschöpfung des physikalischen Speichers ausgelagert wird auf einen Hintergrundspeicher (Platte) und welche Prozesse später dann wieder eingelagert werden Diesen Vorgang diskutieren wir eingehend in Abschnitt 5 bei der virtuellen Speicherverwaltung Auf der obersten Ebene kontrolliert ein sog Long-term Scheduler die Warteschlange der anstehenden Stapelaufträge (Jobs) und legt deren Verarbeitungsreihenfolge fest Diese Aufgabe wird auch als Job- oder High-level Scheduling bezeichnet Nachfolgendes Bild 31 verdeutlicht den Zusammenhang zwischen den Schedulern, die auf verschiedenen Ebenen des Betriebssystems angesiedelt sind Short-Term Scheduling Swap Out Verdrängung Swap In Speicher Prozessor Job Warteschlange E/A Long-Term Scheduling Medium-Term Scheduling Bild 31: Scheduling auf verschiedenen Betriebsystemebenen 31 Kriterien und Ziele des Scheduling Ein Prozeß kann entweder durch seine Rechenzeitanforderung oder durch seine E/A-Anforderung beschränkt sein Ist der Prozeß durch seine Rechenzeit (compute bound) beschränkt, so benötigt er viel Rechenzeit und wenig E/A-Zeit Ein Beispiel dafür ist ein Programm, das die Zahl Phi auf eine Million Dezimalstellen genau berechnet Dieses Programm verbraucht viel Rechenzeit und wenig E/A-Zeit zum Schreiben eines Blocks von einigen Zahlen auf einen sekundären Speicher Ist ein Prozeß durch seine E/A-Anforderung (I/O Bound) beschränkt, so benötigt er wenig Rechenzeit jedoch tätigt er viele E/A-Aufträge Ein Beispiel dafür ist ein Reservierungssystem, das die meiste Zeit auf die Anforderung eines Benutzers wartet Stellt ein Benutzer eine Anfrage oder Anforderung an das System, so wird viel Information vom sekundären

3 31 Kriterien und Ziele des Scheduling 7 Speicher in den Hauptspeicher transferiert (ein- ausgegeben) Nachfolgendes Bild 32 verdeutlicht den Unterschied zwischen einem I/O Bound und Compute Bound Programm E/A E/A CPU CPU I/O Bound Zeit Compute Bound Zeit Bild 32: I/O Bound und Compute Bound Programme Der Medium-term Scheduler bestimmt, welche Jobs oder Teilaufgaben eines Jobs (Prozesse) zur Bearbeitung vom Hintergrundspeicher in den Hauptspeicher transferiert und somit ausgeführt werden sollen Das Ziel, das der Medium-term Scheduler dabei verfolgt, ist eine gute Mischung aus I/O Bound und Compute Bound Prozessen zu erreichen Dies bewirkt eine gleichmäßige Auslastung aller Betriebsmittel des Rechners Ist die Mischung unausgewogen, so hat das die folgenden Nachteile: In der Mischung überwiegen die I/O Bound Prozesse: Die Bereitwarteschlange des Dispatchers ist leer und viele Prozesse befinden sich im Zustand blockiert Der Prozessor führt dabei den Nullprozeß aus, da die Bereitwarteschlange leer ist Dies führt im System zu einer E/A-Überlastung und einer CPU-Entlastung In der Mischung überwiegen die CPU Bound Prozesse: Dies bewirkt, daß die E/A-Warteschlangen leer sind und die E/A-Geräte sind dadurch nicht ausgelastet Viele Prozesse befinden sich im Zustand Bereit und warten auf Ausführung Dies führt im System zu einer CPU-Überlastung und einer E/A-Entlastung Hauptaufgabe des Scheduling und was auch zur Einführung des Mehrprogrammbetriebs führte, ist die optimale Auslastung der Betriebsmittel des Rechners Besonders die CPU als die teuerste Komponente eines Rechners muß optimal ausgelastet sein, dh sie muß immer beschäftigt sein Eine weitere Forderung besteht darin, daß beim Scheduling das Problem des Verhungerns nicht auftritt Das bedeutet, daß der Scheduling-Algorithmus fair sein muß und keinen Prozeß unendlich lange verzögert Ziel eines Scheduling-Algorithmus ist die Optimierung eines vorgegebenen Betriebsverhalten eines Rechners Typische Optimierungskriterien sind: Maximierung des Durchsatzes (Throughput) Der Durchsatz ist die Anzahl der Jobs oder Prozesse, die in einer Zeiteinheit bearbeitet werden Für lange Jobs, wie sie typischerweise in Batch Systemen auftreten, kann diese Rate 1 Job pro Stunde sein und für

4 31 Kriterien und Ziele des Scheduling 8 kurze Jobs, wie sie typischerweise in Time Sharing Systemen vorkommen, kann diese Rate 10 Jobs pro Sekunde sein Minimierung der Ausführungszeit eines Jobs (Turnaround Time) Von der Betrachtungsweise des Jobs oder des Benutzers, der diesen Job gestartet hat, ist es nur wichtig, wie lange der Job braucht bis er beendet ist Die Zeit von der Übergabe des Jobs an das System bis zur Beendigung des Jobs (bis der Job wieder das System verläßt) bezeichnet man mit Turnaround Zeit Die Turnaround Zeit ist die Summe der folgenden Zeiten: Twaiting in = Zeit, die der Job braucht bis er in den Hauptspeicher gelesen wird Twaiting queue = Zeit, die der Prozeß in der Bereitwarteschlange verbringt Texecuting = Zeit, die der Prozeß rechnet TI/O time = Zeit, in der ein Prozeß I/O-Aktivitäten durchführt TI/O queue = Zeit, die der Prozeß in der I/O-Warteschlange verbringt Für die Turnaroundzeit ergibt sich somit: TTurnaround = Twaiting in + Twaiting queue +Texecuting + TI/O time + TI/O queue Minimierung der Wartezeiten des Jobs bzw Prozesses in der Bereitwarteschlange Der Scheduling Algorithmus hat keine Auswirkungen auf die Zeiten, die der Job rechnet oder die der Job zur Ein- Ausgabe benötigt Er hat jedoch Auswirkungen auf die Zeit, die der Job in der Bereitwarteschlange wartet (Twaiting queue) Anstatt die Turnaround-Zeit zu betrachten, kann vereinfachend die Zeit, die der Job in der Bereitwarteschlange verbringt, betrachtet werden (Twaiting queue) Minimierung der Antwortzeit eines Jobs (Response Time) Dieses Kriterium ist besonders wichtig bei interaktiven und Time Sharing Systemen Die Zeit von der Übergabe einer Anforderung bis zur ersten Antwort des Systems darauf, jedoch ohne die Zeit bis zur vollständigen Ausgabe, wird als Response Zeit bezeichnet Wünschenswert wäre: Maximale CPU-Auslastung, maximaler Durchsatz, minimale Turnaround Zeit, minimale Wartezeit in der Bereit-Warteschlange und minimale Antwortzeit Diese Anforderungen sind abhängig vom Profil der Jobs (I/O Bound oder Compute Bound) In den meisten Fällen versucht man für den Mittelwert der

5 32 Schedulingstrategien 9 Anforderungen ein Optimum zu finden Es ist jedoch ebenso möglich einzelne Kriterien zum Optimum der Strategie zu machen Beispielsweise ist bei Batch Systemen der maximale Durchsatz und bei Time Sharing Systemen die minimale Antwortzeit ein Optimum 32 Schedulingstrategien Scheduling Verfahren lassen sich untergliedern in: Nicht verdrängendes Scheduling (non preemptive scheduling) Bei dieser Art des Scheduling läuft ein einmal gestarteter Prozeß bis zu seinem Ende oder bis er eine E/A-Anforderung hat Verdrängendes Scheduling (preemptive scheduling) Beim verdrängenden Scheduling kann ein Prozeß an einer beliebigen Stelle unterbrochen werden und zu einem späteren Zeitpunkt kann dann mit dem Prozeß an dieser Stelle fortgefahren werden Preemptive Scheduling erfordert einen Zeitdienst, der den einzelnen Prozessen für eine gewisse Zeit den Prozessor zuordnet Nach Ablauf der Zeitscheibe wird der Prozeß vom Prozessor verdrängt und ein anderer Prozeß kommt zum Laufen Die Zeit, die benötigt wird zum Verdrängen des Prozesses vom Prozessor und bis der andere Prozeß wieder zum Laufen kommt, bezeichnet man als Kontextumschaltzeit (context switch time) oder auch Job-, Task-, oder Process Switch Time 321 Zyklische Strategien Zyklische Strategien befriedigen die Anforderung der Prozesse zyklisch und somit nacheinander Alle Prozesse sind gleich und kein Prozeß besitzt eine höhere Priorität gegenüber den anderen Prozessen Die wohl einfachste nicht verdrängende Scheduling Disziplin befriedigt die Anforderung der Prozesse in der Reihenfolge ihres zeitlichen Auftreten (First Come, First Served; FCFS) Diese Strategie läßt sich leicht durch eine First In, First Out (FiFo) Warteschlange realisieren Die FCFS Strategie entfernt den ersten Prozeß aus der Warteschlange und teilt ihm den Prozessor zu Nachfolgendes Beispiel zeigt die Anwendung von FCFS auf das Prozessor Scheduling Wir nehmen dabei an, daß sich drei Prozesse mit den angegebenen Rechenzeiten um die Zuteilung des Prozessors bewerben: Prozeß Prozessor Zeitbedarf

6 32 Schedulingstrategien 10 Kommen die Prozesse in der Reihenfolge 1, 2, und 3 an und werden sie in FCFS Ordnung bearbeitet, so ergeben sich die folgenden Durchlaufzeiten (Turnaround Zeiten) für die Prozesse: Proze Bild 33: Turnaroundzeiten bei Abarbeitung der Prozesse nach FCFS Die Turnaround Zeit für Prozeß 1 ist 24, für Prozeß 2 ist 27, und für Prozeß 3 ist 30 Die mittlere Turnaround Zeit ist ( ) / 3 = 27 Dieses Beispiel zeigt, daß FCFS zu einer extremen Benachteiligung von Kurzläufern führen kann Dieser Nachteil ist natürlich bei dialogorientierten Systemen nicht tolerierbar Bevorzugt man Jobs bzw Prozesse mit der kürzesten Rechenzeit, so kommt man zu einer weiteren nicht verdrängenden Scheduling Verfahren, nämlich dem Shortest Job First (SJF) Dieses Verfahren setzt jedoch die Kenntnis der Rechenzeit oder die Belegungsdauer eines Betriebsmittels voraus Hat man diese Kenntnis, so zeigt das folgende Beispiel des Process Scheduling, daß diese Strategie optimal ist bzgl der mittleren Wartezeit eines Prozesses Prozeß Prozessor Zeitbedarf

7 32 Schedulingstrategien Bild 34: Mittlere Wartezeit der Prozesse bei Abarbeitung nach SJF Die mittlere Wartezeit (Twaiting queue) für diese Strategie ist optimal, da die Ausführung eines kurzen Prozesses vor der Ausführung eines langen Prozesses die Wartezeit des kurzen Prozesses mehr verkürzt als es die Wartezeit für lange Prozesse mehr erhöht Das Problem, das bei SJF gelöst werden muß ist, daß der Rechenzeitbedarf eines Prozesses bzw Jobs vor seiner Ausführung bekannt sein muß Beim Long-term Scheduling kann jeder Benutzer bei seinem Batch Job den Rechenzeitbedarf angeben Zur Konditionierung der Benutzer, dh zur korrekten Angabe der Rechenzeit eines Jobs durch den Benutzer, wird jeder Job, der mehr als die angegebene Rechenzeit verbraucht abgebrochen (time limit exceed error) Dies zwingt den Benutzer den Job bei zu klein gewählter Rechenzeit neu zu starten Bei der Anwendung von SJF auf das Process Scheduling ist zu berücksichtigen, daß nicht die totale Rechenzeit eines Jobs interessiert, sondern der Prozessorzeitbedarf bis zur nächsten E/A-Operation Dieses Zeitintervall läßt sich näherungsweise aus dem Verhalten des Prozesses in der Vergangenheit approximieren Die Berechnung der neuen unbekannten Rechenzeit geschieht aus dem bisher bekannten benötigten Rechenzeiten und einer stärkeren Gewichtung der letzten zurückliegenden Werte Um bei einem interaktiven Betrieb eines Rechensystems gute Antwortzeiten zu erhalten, darf ein Prozeß nicht zu lange den Prozessor besitzen Deshalb erhält in der nachfolgend beschriebenen Strategie ein Prozeß nur den Prozessor für ein festes Zeitquantum q Reicht einem Prozeß dieses Zeitquantum nicht aus, so wird er vom Prozessor verdrängt und ein neuer Prozeß kommt zum Laufen Da dabei einem Prozeß der Prozessor entzogen wird, ist diese Strategie eine verdrängende Scheduling Strategie Prozesse werden dabei in der zeitlichen Reihenfolge ihres Eintreffens zur Bearbeitung aufgegriffen (gemäß FCFS) Hat ein Prozeß seine Zeitscheibe verbraucht, so wird er an das Ende der Warteschlange gehängt und der erste Prozeß in der Warteschlange kommt zum Laufen Benötigt der Prozeß nicht seine ganze Zeitscheibe, da er vorher zb eine E/A anstößt, so kommt dieser Prozeß ebenfalls an das Ende der Warteschlange und der erste Prozeß in der Warteschlange bekommt den Prozessor Diese Strategie teilt allen Prozessen zyklisch und der Reihe nach den Prozessor für eine gewisse Zeit zu Deshalb heißt diese Strategie Round Robin (RR) Der Name Round Robin steht für ein Gesuch, Schreiben oder eine Urkunde, deren Unterschriften im Kreis angeordnet sind Der Name Round Robin wurde geprägt durch die Unterschriftenanordnung auf der Unabhängigkeitserklärung von den Vereinigten Staaten Damit keine Rangfolge oder Prioritäten zwischen den Unterschreibenden zu erkennen ist, hat man die Unterschriften im Kreis angeordnet

8 32 Schedulingstrategien 12 Die Wirkung der RR Strategie auf die Turnaround Zeiten kann unter Verwendung des bei FCFS benutzten Beispiels folgendermaßen demonstriert werden : Prozeß Prozessor Zeitbedarf Bei einem Zeitquantum q von 4 ergibt sich die folgende Abarbeitungsfolge: Bild 35: Reihenfolge der Prozesse bei Abarbeitung nach RR Daraus resultieren die folgenden Turnaround Zeiten: Prozeß 1 = 30, Prozeß 2 = 7 und Prozeß 3 = 10 Die mittlere Turnaround Zeit ergibt sich zu ( ) / 3 = 16 Es ist interessant, die Grenzfälle für das Zeitquantum q, für q 0 und für q zu untersuchen Im Falle, daß das Zeitquantum q sehr groß ist (q ), geht die RR Startegie in die FCFS Strategie über Wird das Zeitquantum q sehr klein gewählt (q 0) dann erscheint das Round Robin wie wenn n Prozesse jeder seinen eigenen Prozessor hat, der mit der Geschwindigkeit 1/n arbeitet Man spricht dann vom Processor Sharing des Round Robin Diesen Grenzfall versucht man im Dialogbetrieb anzunähern, um allen Benutzern das Gefühl zu geben als hätten sie den Prozessor für sich Das Zeitquantum kann jedoch nicht beliebig klein gewählt werden; wird das Zeitquantum kleiner, so steigt die Anzahl der Prozessorumschaltungen Die Zeit für die Prozeßumschaltung ist natürlich Overhead und geht insgesamt von der Rechenzeit der Prozesse ab Typische Kontextumschaltzeiten liegen zwischen 1 und 100 Mikrosekunden Diese Zeiten sind natürlich abhängig von der Hardware und den darin zur Verfügung gestellten Funktionen (siehe Ende von Abschnitt 224) Wie der Zeitbedarf für Kontextumschaltungen ansteigt und welcher Overhead dadurch entsteht, sei an folgendem Beispiel erläutert: Ist die Kontextumschaltzeit 100 Mikrosekunden und der komplette Rechenzeitbedarf eines Prozesses sei 10 Millisekunden, so ergeben sich für verschiedene Zeitquanten folgende Kontextumschaltzeiten (Bild 36):

9 32 Schedulingstrategien 13 Zeitquantum Kontextumschaltungen Kontextumschaltzeiten 12 Millisec 0 0 Mikrosec 10 6 Millisec Mikrosec 6 1 Millisec Mikrosec Bild 36: Kontextumschaltzeiten bei verschiedenen Zeitquanten Im obigen Beispiel werden im letzten Fall 10 Prozent der Rechenzeit für Kontextumschaltungen benötigt und sind somit Overhead Einerseits steigen bei zu kleinen Zeitquanten die Prozeßumschaltzeiten und somit der Overhead, andererseits geht bei zu großen Zeitquanten die RR Strategie in die FCFS Startegie über und erhöht somit die Antwortzeiten Bei der Wahl eines optimalen Zeitquantums ist zu beachten, daß dieses stark abhängig ist von der Zusammensetzung der Prozesse (Compute Bound oder I/O Bound) und von dem zu betrachtenden System (Kontextumschaltzeit) 322 Prioritätsgesteuerte Strategien Bei prioritätsgesteuerten Strategien ordnet man jedem Prozeß eine Priorität oder Dringlichkeit zu Gemäß dieser Priorität werden dann den Jobs bzw Prozessen die Betriebsmittel zugeteilt Diese Scheduling Verfahren heißen prioritäts- oder dringlichkeitsgesteuert (P) Die Festlegung der Priorität eines Jobs bzw Prozesses kann intern, dh vom System, oder extern, dh vom Benutzer, geschehen Bei intern vorgegebener Priorität kann die Berechnung der Priorität beispielsweise über die folgenden Komponenten geschehen: Größe der Speicheranforderung, Anzahl der offenen Files, Anzahl der benötigten Betriebsmittel oder Verhältnis Rechenzeit zu E/A-Zeit Bei externer Prioritätsvergabe durch den Benutzer können beispielsweise in einem Universitätsrechenzentrum für Jobs bzw Prozesse von verschiedenen Benutzern die folgende Prioritätenreihenfolge festgelegt sein: Studenten: niedrigste Priorität - 0,

10 32 Schedulingstrategien 14 Angestellte: Priorität - 1, Professoren: Priorität - 2 und externe Benutzer: höchste Priorität - 3 Bei Echtzeitsystemen bestimmt sich die Priorität der einzelnen Prozesse aus der Wichtigkeit des Prozesses, und somit wie zeitkritisch der Prozeß ist, zur Aufrechterhaltung und sicheren Führen des externen technischen Prozesses Die SJF Strategie kann als eine einfache Form eines prioritätsorientierten Scheduling Verfahren betrachtet werden Die Prioritität die jeder Job bzw jeder Prozeß besitzt, ist 1 / benötigte Rechenzeit Je größer die benötigte Rechenzeit ist, desto niedriger ist die Priorität, und je kleiner die benötigte Rechenzeit ist, desto höher ist die Priorität Eine prioritätsorientierte Schedulingstrategie kann verdrängend sein Ist die Priorität des gerade rechnenden Prozesses kleiner als die Priorität des neu in die Bereit-Warteschlange kommenden Prozesses, so wird der niederpriore Prozeß vom Prozessor verdrängt und der höherpriore Prozeß kommt zum Laufen In diesem Fall spricht man vom verdrängenden prioritätsorientierten (preemptive priority, PP) Schedulingstrategien Prioritäten für Prozesse können statisch vorgegeben sein, dh den Prozessen permanent anhaften, oder dynamisch geändert werden, dh die Prozesse erhalten im Laufe der Zeit verschiedene Prioritäten Beim verdrängenden prioritätsorientierten Scheduling mit statischen Prioritäten kann es zu Behinderungen kommen Ein niederpriorer Prozeß verhungert, wenn laufend höherpriore Prozesse in das System kommen Diese höherprioren Prozesse erhalten laufend den Prozessor und die niederprioren Prozesse kommen nicht zum Zuge und verhungern Zur Lösung dieses Problems ordnet man den Prozessen dynamische Prioritäten zu Diese dynamische und sich somit ändernde Priorität hängt von der Zeit, in der sich ein Prozeß im System befindet, oder von der Verweilzeit des Prozesses in der Bereit Warteschlange ab Im Laufe der Zeit bekommen so niederpriore Prozesse eine immer höhere Priorität und kommen somit zum Laufen Zwei Strategien, die dies bewirken, sind Altern (Aging) des Prozesses und Deadline Scheduling (D) Beim Altern oder Aging kommt ein Prozeß mit niederer Priorität in das System Nach Ablauf eines bestimmten Zeitquantums wird dann die Priorität des Prozesses erhöht Mit zunehmenden Alter bekommt der Prozeß eine immer höhere Priorität Stehen beispielsweise Prioritäten von 0 (niedrigste) bis 127 (höchste) zur Verfügung und wird die Priorität eines Jobs bzw Prozesses alle 15 Minuten um 1 erhöht, so kommt ein Job bzw Prozeß, der mit Priorität 0 in das System kommt, spätestens in 32 Stunden zum Laufen, da sich seine Priorität in dieser Zeit von 0 auf 127 erhöht hat Das Deadline Scheduling Startegie wendet man vorzugsweise bei Echtzeitsystemen an Es garantiert, daß ein Prozeß mit großer Wahrscheinlichkeit bis zu einem gewissen Zeitpunkt (deadline) zum Laufen kommt Beim Deadline Scheduling kommt ein neuer Prozeß mit kleiner Anfangspriorität in die Bereit Warteschlange Diesem Prozeß wird eine Zeit TDead mitgegeben Verstreicht

11 32 Schedulingstrategien 15 die Zeit TDead/2, ohne daß der Prozeß bearbeitet wurde, dann wird die Prozeßpriorität um 1 erhöht und die aktuelle Deadline (TDead) halbiert 323 Multi Level Queue Scheduling Im Falle, daß die Jobs bzw Prozesse in verschiedenen Gruppen vorliegen, so bekommt eine jede solche Gruppe eine Warteschlange zugeordnet Jede dieser Warteschlange hat eine andere Priorität und läßt sich dann nach einem eigenen Scheduling Algorithmus bearbeiten Beispielsweise kann eine Aufteilung in interaktive Jobs und Batch Jobs vorgenommen werden Die interaktiven Jobs kommen in eine Vordergrundwarteschlange mit hoher Priorität und die Batch Jobs in eine Hintergrundwarteschlange mit niederer Priorität Die Vordergrundwarteschlange kann dann nach dem Round Robin Verfahren und die Hintergrundwarteschlange nach dem First Come First Served Verfahren abgearbeitet werden (siehe Bild 37) Diese verschiedene Prioritäten repräsentierende Warteschlangen und deren Abarbeitung bezeichnet man als Mehrschichten- oder Multi Level Queue (MLQ) Scheduling Vordergrundwarteschlange interaktive Prozesse hohe Priorität Abarbeitung nach Round Robin (RR) Hintergrundwarteschlange Batch Prozesse niedere Priorität Abarbeitung nach First Come First Served (FCFS) Bild 37: Multi Level Queue Scheduling mit zwei Warteschlangen Bei der permanenten oder statischen Zuordnung eines Jobs bzw Prozesses zu einer Warteschlange kann es zu Behinderungen kommen Im obigen Beispiel kann ein Batch Job erst laufen, wenn die Vordergrundwarteschlange leer ist Kommen laufend neue Prozesse bzw Jobs in die Vordergrundwarteschlange, so verhungern die Jobs bzw Prozesse in der Hintergrundwarteschlange Eine Möglichkeit, das Problem des Verhungerns bei Multi Level Queues zu lösen, besteht darin, den einzelnen Warteschlangen verschiedene Zeitscheiben der Bearbeitung, dh der Prozessorbelegung, zuzuordnen Beispielsweise können 80 Prozent der Prozessorzeit zur Bearbeitung der Vordergrundwarteschlange und 20 Prozent zur Bearbeitung der Hintergrundwarteschlange zur Verfügung gestellt werden Eine andere Möglichkeit ist, die Jobs bzw Prozesse nicht statisch einer Warteschlange zuzuordnen, sondern sie dynamisch zwischen verschiedenen Warteschlangen wandern zu lassen; dh ein Job bzw Prozeß kommt im Laufe der Zeit in verschiedene Warteschlangen Strategien, die Jobs bzw Prozesse aus einer Warteschlange entnehmen und an das Ende einer Warteschlange anderer Priorität (höher oder niedriger)

12 32 Schedulingstrategien 16 hängen, heißen Multi Level Feedback Queue (MLFQ) Strategien (siehe Bild 38) Multi Level Feedback Queue Scheduler unterscheiden sich bzgl der Anzahl der Warteschlangen, die zur Verfügung stehen, der verschiedenen Schedulingstrategien (FCFS, SJF, RR, P, PP) für jede Warteschlange, der Methode, wann ein Job bzw Prozeß an das Ende einer Warteschlange höherer Priorität gehängt wird und der Methode, wann ein Job bzw Prozeß an das Ende einer Warteschlange niederer Priorität gehängt wird Level 1 Level 2 CPU CPU fertig Verdrängung vorzeitige Aufgabe des Prozessors fertig Level 3 CPU fertig Verdrängung Vorzeitige Aufgabe des Prozessors Level n CPU fertig Bild 38: Multi Level Feedback Queues Die Scheduling Strategie beim VAX VMS Betriebssystem ist so angelegt, daß eine Mischung aus interaktiven- und Echtzeit-Prozessen optimal bedient wird Das VMS-Scheduling System besteht aus 32 Warteschlangen mit 32 verschiedenen Prioritäten (0 - niedrigste, 31 - höchste) Die Warteschlangen 31 bis 16 sind für Realzeitprozesse reserviert und sind Multi Level Queues Die Scheduling Strategie der einzelnen Warteschlangen für Realzeitprozesse ist First Come First Served Ist eine höherpriore Warteschlange leer und kommt ein Realzeitprozeß in diese Warteschlange, so wird der niederpriore Prozeß vom Prozessor verdrängt und kommt in die seiner Priorität entsprechenden Warteschlange und der Prozeß aus der höherprioren Warteschlange kommt zum Laufen Die Warteschlange 0 bis 15 sind für die interaktiven- und Benutzerprozesse vorgesehen Diese Warteschlangen sind als Multi Level Feedback Queues organisiert Die Schedulingstrategie der einzelnen Warteschlangen ist Round Robin Jeder Prozeß bekommt dabei eine Zeitscheibe zugeordnet Prozesse,

13 32 Schedulingstrategien 17 die nicht ihre volle Zeitscheibe ausnutzen, dh vor Ablauf der Zeitscheibe den Prozessor aufgeben (zb wegen E/A), kommen in die Warteschlange, deren Priorität um eins höher ist Prozesse, die nach Ablauf der Zeitscheibe den Prozessor entzogen bekommen, kommen in die Warteschlange, deren Priorität um eins niedriger ist Nachfolgendes Bild 39 zeigt die 32 Warteschlangen des VAX VMS Schedulings und deren Abarbeitung Priorität 31 Multi Level Queues Prozesse werden descheduled beim Eintreffen eines Ereignisses (E/A, Interrupt oder ein Proze höherer Priorität kommt zum Laufen) Keine Zeitscheiben für die Prozesse Real Time Prozesse Priorität 16 Priorität 15 Priorität 0 Multi Level Feedback Queues Verdrängendes Scheduling mit Zeitscheibe Prozesse, die nicht ihre volle Zeitscheibe ausnutzen, dh vor Ablauf der Zeitscheibe den Prozessor aufgeben (zb E/A), bekommen dynamisch ihre Priorität um 1 erhöht Prozesse, die nach Ablauf der Zeitscheibe den Prozessor entzogen bekommen, deren Priorität wird um 1 erniedrigt Nullproze Normale Prozesse Bild 39: VAX VMS Scheduling Der Prozeßscheduler in Unix benutzt ebenfalls Multi Level Queues Die Warteschlangen sind dabei zweigeteilt in Warteschlange für Prozesse im Benutzermodus und Warteschlangen für Prozesse im System- oder Kernmodus Prozesse die sich im Benutzermodus befinden haben positive Prioritätswerte und Prozesse, die sich im Kernmodus (also Systemaufruf durchführen) befinden, haben negative Werte Negative Werte stellen ein hohe Priorität dar und positive Werte eine niedere Priorität, wie in nachfolgendem Bild 310 dargestellt ist

14 32 Schedulingstrategien 18 niedrigste Priorität Priorität multi level feedback queues Benutzerpriorität 3 Benutzerpriorität 2 Benutzerpriorität 1 Benutzerpriorität 0 multi level queues Wartend auf Terminierung eines Sohnes Wartend auf Terminalausgabe Wartend auf Terminaleingabe Wartend auf Plattenpuffer Im Benutzermodus wartende Prozesse Im Kernmodus wartende Prozesse höchste Priorität -5 Wartend auf Platten-I/O Bild 310 Unix Scheduling Der Scheduler durchsucht die Warteschlangen beginnend mit der höchstprioren, bis er eine nicht leere Warteschlange findet Der erste Prozeß aus dieser Warteschlange wird dann ausgewählt und zur Ausführung gebracht Er wird dann, falls er nicht vorher blockiert wird, für eine Zeitscheibe, typischerweise 100 msec ausgeführt Hat ein Prozeß seine Zeitscheibe aufgebraucht, wir er an das Ende der betreffenden Warteschlange gehängt und der Scheduler wählt erneut einen weiteren Prozeß der Warteschlange aus Auf diese Weise teilen sich die Prozesse derselben Priorität den Prozessor nach dem round-robin- Verfahren Betrachten wir zunächst die hochprioren Prozesse, die sich im Kernmodus befinden Springt ein Prozeß zur Durchführung einer Systemfunktion in den Kern so kann der Prozeß blockiert werden bevor die Systemfunktion beendet ist und er wieder im Benutzermodus arbeiten kann Führt er beispielsweise den Systemaufruf wait aus, so muß er warten bis ein Sohnprozeß terminiert, oder er kann auf den Abschluß einer Ein- oder Ausgabe von oder zum Terminal warten, oder allgemeiner er wartet auf den Abschluß einer E/A- Operation Dadurch wird der Prozeß aus seiner ehemaligen Warteschlange entfernt und er kommt in die Blockiertwarteschlang und er nimmt dadurch nicht mehr am Scheduling teil Trifft dann das Ereignis ein, auf das er gewartet hat, so wird der Prozeß in eine Warteschlange mit negativer Priorität eingeordnet Die auszuwählende Warteschlange ist durch das Ereignis bestimmt, auf das gewartet wurde Die Prioritäten der Warteschlangen sind dabei fest vorgegeben Die Prioritäten orientierten sich dabei an der Anzahl der Betriebsmittel, die der Prozeß benötigt Prozesse, die viele Betriebsmittel belegen, haben dabei ein hohe Priorität (- 5) und Prozesse, die wenige oder gar keine Betriebsmittel besitzen, haben dabei eine niederige Priorität (-1) Prozesse mit vielen Betriebsmittel werden dabei mit Vorrang vor den Prozesse die wenige oder gar keine Betriebsmittel besitzen bearbeitet Diese vorgehen führt dann zu einer guten Betriebsmittelauslastung des Rechnerns und

15 32 Schedulingstrategien 19 verkürzt die Zeit, welcher der Prozeß sich im Kernmodus befindet Dadurch werden dann alle rechenintensive Prozesse (die sich in Warteschlangen mit positiver Priorität befinden) immer dann bedient, wenn alle Ein-/Ausgabegebundenen Aktivitäten und alle interaktiven Prozesse blockiert sind Betrachten wir nun die Prozesse die sich in den niederprioren Warteschlangen im Benutzermodus befinden und die Berechnung ihrer Priorität: Die Uhr tickt gewöhnlich entsprechend der Stromversorgungsfrequenz (50 Hz), so daß eine Zeitscheibe 6 Ticks dauert Jedesmal wenn die Uhr tickt, wird der Zähler des aktuell laufenden Prozesses, der im Prozeßkontrollblock den CPU-Verbrauch mißt (CPU-Benutzungszähler) um 1 inkrementiert Jede Sekunde für alle Prozesse oder wenn der Prozeß vom Systemmodus in den Benutzermodus zurückkehrt wird die Berechnung der Priorität durchgeführt Zu dieser Berechnung wird der CPU-Benutzungszähler herangezogen Zunächst werden alle CPU-Benutzungszähler durch 2 dividiert, so daß die Prozesse nicht auf ewig für ihrere frühere CPU-Nutzung bestraft werden Die neue Priorität eines jeden Prozesses berechnet sich dann folgendermaßen: neue Priorität = Basispriorität + CPU-Nutzung Das bedeutet: Prozesse die viel die CPU benutzt haben (CPU-intensive Prozesse), fallen in ihrer Priorität und Prozesse, die wenig oder gar keine CPU-Nutzung (I/O-intensive Prozesse und somit meistens blockierte Prozesse) aufweisen, verbleiben auf der Prioritätsstufe Die Basispriorität ist normalerweise Null Diese Priorität kann jedoch durch einen Benutzer verschlechtert werden mit dem nice Systemaufruf Mit nice kann eine Benutzer nett zu anderen Benutzern sein und seine Basispriorität auf einen positiven Wert ändern 324 Übersicht Schedulingstrategien Die Schedulingstrategien lassen sich einteilen in zyklische und prioritätsgesteuerte Strategien Die zyklischen Strategien teilen den Prozessen der Reihe nach (zyklisch) den Prozessor zu Die Prozesse, die den Prozessor besitzen, können dann bis zu ihrer Beendigung rechnen (nicht verdrängend) oder bekommen nach Ablauf der Zeitscheibe den Prozessor entzogen (verdrängend) Bei nicht verdrängenden zyklischen Strtategien kann den Prozessen der Prozessor in der Reihenfolge der Ankunft (First Come First Served, FCFS) oder in der Reihenfolge ihres Rechenzeitbedarfs (Shortest Job First, SJF) der Prozessor zugewiesen werden Die verdrängenden zyklischen Strategien entziehen einem Prozeß nach Ablauf seiner Zeitscheibe den Prozessor und der nächste Prozeß in der Warteschlange kommt zum laufen (Round Robin, RR) Bei prioritätsorientierten Strategien unterscheidet man zwischen Strategien ohne Verdrängung, mit Verdrängung und Multi Level Queues

16 32 Schedulingstrategien 20 Die nicht verdrängenden prioritätsorientierten Strategien teilen dem Prozeß mit der höchsten Priorität den Prozessor zu Dieser Prozeß behält den Prozessor, bis er beendet ist (Priority Oriented without Preemption, P) Die verdrängenden prioritätsorientierten Strategien verdrängen den Prozeß nach Ablauf der Zeitscheibe vom Prozessor (Priority Oriented with Preemption, PP) Bei dieser Strategie kann die Priorität dem Prozeß statisch oder dynamisch zugeordnet werden Hängt die neue Priorität des Prozesses von seiner Verweilzeit in der Bereit-Warteschlange ab, so steigt die Priorität des Prozesses mit seinem Alter (Aging) Steigt die Priorität eines Prozesses mit der Zeit, in der er nicht den Prozessor bekommen hat, so liegt Deadline Scheduling (D) vor Bei Multi Level Queues liegen mehrere Warteschlangen mit verschiedener Priorität vor Sind die Prozesse statisch einer Warteschlange fest zugeordnet, so liegt eine Multi Level Queue Organisation (MLQ) vor Können Prozesse dynamisch zwischen den verschiedenen Warteschlangen hin und her wandern so hat man eine Multi Level Feedback Queue (MLFQ) Nachfolgendes Bild 311 beschreibt die verschiedenen Schedulingstrategien und ihre Beziehungen zueinander Strategie zyklisch prioritätsgesteuert ohne Verdrängung mit Verdrängung ohne Verdrängung mit Verdrängung ML FCFS SJF RR (FIFO) Priorität = 1/ benötigte Rechenzeit Zeitquantum -> oo alle Prozesse haben die gleiche Priorität P PP statische dynamische Priorität Priorität Aging Deadline MLQ (Proze statisch der Warteschlange zugeordnet) MLFQ (Proze dynamisch in verschiedenen Warteschlangen) mögliche Abarbeitungsstrategien für jede Warteschlange Bild 311: Übersicht Schedulingstrategien

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

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

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

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

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

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

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

Ü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

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

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

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

Hausübung 2(Musterlösung)

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

Mehr

8. Vorlesung Betriebssysteme

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

Mehr

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

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

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

Mehr

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

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

Kapitel III. Prozessverwaltung. VO Betriebssysteme

Kapitel 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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

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

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

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene Andi Drebes Fachbereich Informatik Universität Hamburg Gliederung Notwendigkeit des Schedulings Einführung: Begriff des Multitaskings

Mehr

Musterlösung Prüfung SS 2002

Musterlösung Prüfung SS 2002 Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation Inhaltsverzeichnis Systemprogrammierung - Kapitel 2 Prozessverwaltung 1/21 2.1 Was ist ein Prozess? Definition Prozesszustände Prozesskontrollblöcke 2.4 Thread-Systeme Sinn und Zweck Thread-Arten Thread-Management

Mehr

Übungen zum Fach Betriebssysteme Kapitel 3

Übungen zum Fach Betriebssysteme Kapitel 3 Übungen zum Fach Betriebssysteme Kapitel 3 Prof. Dr. Kern & Prof. Dr. Wienkop Prozessverwaltung 1 Prozeßauslagerung Ein Betriebssystem, das die Zustände "rechnend", "bereit" und "wartend" sowie den künstlichen

Mehr

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

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

Mehr

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Betriebssysteme (BS)

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

Mehr

13. Übung mit Musterlösung

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

Mehr

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

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

Mehr

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

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

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

Mehr

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

Domänenanalyse Threadverwaltung/Scheduling

Domä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,

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

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

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

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

Mehr

Prozesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände

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

Mehr

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

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

Mehr

Prozessor (CPU, Central Processing Unit)

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

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

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

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

Mehr

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

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

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

7.Vorlesung Betriebssysteme Hochschule Mannheim

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

Mehr

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

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

Mehr

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems

Aufbau 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.:

Mehr

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS

Mehr

Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden

Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden 4 Second Chance (5) Second chance zeigt FIFO Anomalie Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden Erweiterung Modifikationsbit kann zusätzlich berücksichtigt werden (Dirty bit) vier Klassen:

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme 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

Mehr

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners

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

Mehr

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

Von 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

Mehr

Zusammenfassung Modul 223

Zusammenfassung Modul 223 Zusammenfassung Modul 223 von Christian Roth Powered by Schuschu Bison Schweiz AG, Surentalstrasse 10, CH-6210 Sursee, www.bison-group.com Inhaltsverzeichnis 1 Entwurfmuster... 3 1.1 Singleton... 3 1.1.1

Mehr

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

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

Mehr

Es kann maximal ein Prozess die Umladestelle benutzen.

Es kann maximal ein Prozess die Umladestelle benutzen. SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat

Mehr

OSEK / OSEKtime - ein Vergleich

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

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

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

Mehr

Kapitel 2: Betriebssysteme

Kapitel 2: Betriebssysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2013 Kapitel 2: Betriebssysteme Vorlesung:

Mehr

Kapitel 2: Betriebssysteme

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

Mehr

In diesem Kapitel will ich die Grundlagen legen, die für das Verständnis von Mac OS X hilfreich sind.

In 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

Technische Grundlagen. Betriebssystem, Mac, GoLive

Technische Grundlagen. Betriebssystem, Mac, GoLive Technische Grundlagen Betriebssystem, Mac, GoLive Betriebssystem Nutzer Anwendungsprogramme Systemprogramme Hardware U1...Un Textverarbeitungssysteme Buchungssysteme Verwaltungsprogramme Spiele Kommandointerpreter

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

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

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

Mehr

(Prüfungs-)Aufgaben zum Thema Scheduling

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

Mehr

Kap. 2. Prozesse. Version vom 05.10.2009. Kap. 2 - Inhalt. Definition Prozeßzustände Threads Scheduling Beispiele. Folie 2

Kap. 2. Prozesse. Version vom 05.10.2009. Kap. 2 - Inhalt. Definition Prozeßzustände Threads Scheduling Beispiele. Folie 2 Kap. 2 Prozesse Version vom 05.10.2009 Kap. 2 - Inhalt Definition Prozeßzustände Threads Scheduling Beispiele Folie 2 Definition I - Woraus bestehen Prozesse? Prozeß ist ein Programm in seiner Ausführung,

Mehr

Echtzeitanforderung und Linux

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

Mehr

5.3 Prozessumlagerung (process) swapping

5.3 Prozessumlagerung (process) swapping 5.3 Prozessumlagerung (process) swapping = Umlagerung des Adressraums eines Prozesses zwischen Arbeitsspeicher und Hintergrundspeicher, falls Arbeitsspeicher zu klein für alle Prozesse (aber groß genug

Mehr

Approximation in Batch and Multiprocessor Scheduling

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

Mehr

Embedded-Linux-Seminare. Linux als Betriebssystem

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

Mehr

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

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

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen

Mehr

Von Prozessen und Prozessoren (Prozess-Management)

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

Mehr

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

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

Mehr

4. Übung - Betriebssysteme

4. Übung - Betriebssysteme 1. ufgabe: Systemstart 4. Übung - etriebssysteme Informatik I für Verkehrsingenieure ufgaben inkl. eispiellösungen a Welche ufgabe hat das IOS und was passiert beim Starten eines Systems? b Welche ufgaben

Mehr

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem 20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte

Mehr

TIMI: Technische Informatik für Medieninformatiker

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

Mehr

Vorlesung: Betriebssysteme

Vorlesung: Betriebssysteme Vorlesung: Betriebssysteme T. Fahringer Institut für f r Informatik Universität t Innsbruck Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick 2 Was ist ein Betriebssystem

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lösungsskizzen zur Abschlussklausur Betriebssysteme Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,

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

KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation

KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation SS 2003 KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation 1 Sequentielle Prozesse Zu jedem Zeitpunkt t wird genau eine einzige Instruktion ausgeführt Hängt ab vom Abstraktionsgrad

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung

Mehr

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

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

Mehr

Seminar: Mobile Geräte QNX Einführung

Seminar: Mobile Geräte QNX Einführung Seminar: Mobile Geräte QNX Einführung Vortragender: Alex Maurer 2010/2011 Philipps Universität Marburg Echtzeitbetriebssystem QNX QNX ist ein RTOS (Real Time OS) vorhersagbares Zeitverhalten niedrige Latenz

Mehr

Betriebssysteme (BTS)

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

Mehr

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

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

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

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

Mehr

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley) Kapitel 6 Speicherverwaltung Seite 1 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in

Mehr

Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen.

Die 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

Mehr

Vorlesung Betriebssysteme Hochschule Niederrhein, Prof. Pohle-Fröhlich, SS 2015

Vorlesung Betriebssysteme Hochschule Niederrhein, Prof. Pohle-Fröhlich, SS 2015 1. Einführung Vorlesung Betriebssysteme Hochschule Niederrhein, Prof. Pohle-Fröhlich, SS 2015 1.1 Inhalt der Vorlesung Ziele und Funktionen von Betriebssystemen Unix und Linux: Benutzerschnittstelle, Skript-Programmierung

Mehr

Rechnerarchitektur. 11. Betriebssysteme und Prozesse. Inhalt. Ziele von Betriebssystemen. Betriebssystemkomponenten. Betriebssystemkomponenten

Rechnerarchitektur. 11. Betriebssysteme und Prozesse. Inhalt. Ziele von Betriebssystemen. Betriebssystemkomponenten. Betriebssystemkomponenten Inhalt Rechnerarchitektur 11. e und Soft- und eines Rechners Ziele von en komponenten dienste und -funktionen Mehrprogrammbetrieb Dateisysteme Ein-/Ausgabe architekturen Monolithische Systeme Geschichtete

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

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux

Mehr

8. Swapping und Virtueller Speicher

8. Swapping und Virtueller Speicher 8. Swapping und Virtueller Speicher Der physikalische Adreßraum wird weiter abgebildet auf Arbeitsspeicher und Plattenspeicher. Prozesse (deren benutzte Seiten) die nicht laufen (und bald nicht laufen)

Mehr

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 3: Input / Output Hinweis: Weitere Aufgaben zu diesem Thema finden sie in den Begleitbüchern zur Vorlesung. Aufgabe

Mehr

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

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

Mehr