7.Vorlesung Betriebssysteme Hochschule Mannheim

Größe: px
Ab Seite anzeigen:

Download "7.Vorlesung Betriebssysteme Hochschule Mannheim"

Transkript

1 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

2 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 2/70 Wiederholung vom letzten Mal Prozessmodelle 2-Zustands-Prozessmodell 3-Zustands-Prozessmodell 5-Zustands-Prozessmodell 6-Zustands-Prozessmodell 7-Zustands-Prozessmodell Prozessmodell von Linux/UNIX Prozesse (Teil 2) Prozesstabellen und Prozesskontrollblöcke Zustandslisten Threads Kernel-Level-Threads User-Level-Threads

3 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 3/70 Heute Prozesse (Teil 3) Prozesse erzeugen und löschen Prozesse erzeugen mit fork Prozesse ersetzen mit exec Unterbrechungen Interrupts Exceptions Der Dispatcher (Prozessumschalter) Scheduling, Scheduling-Kriterien und Scheduling-Strategien Präemptives und nicht-präemptives Scheduling Scheduling-Verfahren Präemptive und nicht-präemptive Scheduling-Verfahren Verfahren mit und ohne Kenntnis der Rechenzeit

4 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 4/70 Prozesse erzeugen und löschen Einen Prozess erzeugen Freie Prozessidentifikation (PID) belegen Neuen Prozesskontrollblock anlegen Felder des Prozesskontrollblocks mit Anfangswerten füllen Notwendige Speicherbereiche reservieren und initialisieren Prozess in die Prozesstabelle einfügen Prozesskontrollblock in die bereit-zustandsliste einfügen Einen Prozess löschen Prozesskontrollblock aus der aktuellen Zustandsliste entfernen Prozess aus der Prozesstabelle löschen Vom Prozess belegte Betriebsmittel freigeben: belegte Speicherbereiche geöffnete Dateien reservierte Peripherie... Prozessidentifikation (PID) freigeben

5 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 5/70 Drei Möglichkeiten zum Start eines neuen Prozesses Prozessvergabelung (forking): Ein laufender Prozess startet mit fork() einen neuen, identischen Prozess und läuft danach selbst weiter Prozessverkettung (chaining): Ein laufender Prozess startet mit exec() einen neuen Prozess und beendet (terminiert) sich damit selbst Prozesserzeugung (creation): Ein laufender Prozess startet mit fork() einen neuen, identischen Prozess, der sich selbst mit exec() durch einen neuen Prozess ersetzt

6 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 6/70 Prozesse unter Linux/UNIX erzeugen mit fork (1) Unter Linux/UNIX Betriebssystemen ist der Systemaufruf fork() die einzige Möglichkeit, einen neuen Prozess zu erzeugen Ruft ein Prozess, der im folgenden Vaterprozess oder Elternprozess genannt wird, fork() auf, wird eine identische Kopie als neuer Prozess, der sogenannte Kindprozess, gestartet Nach der Erzeugung eines neuen Prozesses mit fork() hat der Kindprozess den gleichen Programmcode und die Befehlszähler haben den gleichen Wert, verweisen also auf die gleiche Stelle im Programmcode Geöffnete Dateien und Speicherbereiche des Elternprozesses werden für den Kindprozess kopiert und stehen ihm nun getrennt zur Verfügung Die Speicherbereiche von Kindprozess und Elternprozess sind, wie bei allen anderen Prozessen auch, streng voneinander getrennt Beide besitzen ihren eigenen Prozesskontext

7 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 7/70 Prozesse unter Linux/UNIX erzeugen mit fork (2) Ruft ein Prozess fork() auf, wird eine exakte Kopie erzeugt Die Prozesse unterscheiden sich nur in den Rückgabewerten von fork() Im Elternprozess ist der Rückgabewert die PID des Kindprozesses Im Kindprozess gibt fork() immer 0 zurück Im Fehlerfall gibt fork() immer -1 zurück void main () { int rueckgabewert = fork (); if ( rueckgabewert < 0) { // fork war nicht erfolgreich // Speicher oder Prozesstabelle sind voll... } if ( rueckgabewert > 0) { // Hier arbeitet der Elternprozess... } if ( rueckgabewert == 0) { // Hier arbeitet der Kindprozess... } }

8 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 8/70 Prozessbaum Durch das Erzeugen immer neuer Kindprozesse mit fork() entsteht ein beliebig tiefer Baum von Prozessen (= Prozesshierarchie) Das Kommando pstree gibt die laufenden Prozesse unter Linux/UNIX als Baum entsprechend ihrer Vater-/Sohn-Beziehungen aus Im Prozessbaum ist zu sehen: init, der Elternprozess aller Prozesse Die Vater-/Sohn-Beziehungen der Prozesse pstree init-+-xprt -acpid... -gnome-terminal-+-4*[bash] -bash---su---bash -bash-+-gv---gs -pstree -xterm---bash---xterm---bash -xterm---bash---xterm---bash---xterm---bash -xterm---bash -gnome-pty-helpe -{gnome-terminal} -4*[gv---gs]

9 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 9/70 Informationen über Prozesse unter Linux/UNIX ps -af UID PID PPID C SZ RSS PSR STIME TTY TIME CMD root Nov10? 00:00:00 init user Nov10? 00:00:05 xfce4-terminal user Nov10 pts/0 00:00:00 bash root Nov10 pts/3 00:00:00 su root Nov10 pts/3 00:00:00 bash user :45 pts/1 00:00:00 gv SYS_WS0708.ps user :45 pts/1 00:00:10 gs -sdevice=x11 user :28 pts/0 00:00:00 xterm user :28 pts/4 00:00:00 bash user :28 pts/4 00:00:00 xterm user :28 pts/5 00:00:00 bash user :29 pts/4 00:00:00 xterm user :29 pts/6 00:00:00 bash user :29 pts/4 00:00:00 xterm user :29 pts/7 00:00:00 bash user :31 pts/5 00:00:00 ps -AF RSS (Resident Set Size) = Belegter physischer Speicher (ohne Swap) SZ = Größe des Speicherabbilds (Core Image) zum Wiederherstellen TIME = Rechenzeit auf der CPU PSR = Prozessor, dem der Prozess zugewiesen ist

10 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Unabhängigkeit von Eltern- und Kindprozess (1) Dieses Beispiel zeigt, dass Eltern- und Kindprozess unabhängig voneinander arbeiten und unterschiedliche Speicherbereiche verwenden void main () { int i; if ( fork ()) // Hier arbeitet der Vaterprozess for ( i = 0; i < ; i ++) printf ("\n Vater : %i", i); else // Hier arbeitet der Kindprozess for ( i = 0; i < ; i ++) printf ("\n Kind : %i", i); }

11 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Unabhängigkeit von Eltern- und Kindprozess (2) Ausgabe Kind : 0 Kind : 1... Kind : Vater: 0... Vater: Kind : Kind : Vater: Vater: Kind : In der Ausgabe sind die Prozesswechsel deutlich zu erkennen Anhand des Wertes der Schleifenvariablen i ist zu sehen, dass der Kindprozess bei seiner Erzeugung eine eigene Kopie des Speicherbereichs für die Variablen bekommt Wichtig: Eltern- und Kindprozess sind vollständig unabhängig voneinander und das Ergebnis der Ausführung ist nicht reproduzierbar ist

12 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Die PID-Nummern von Eltern- und Kindprozess (1) void main () { int pid_des_kindes ; pid_des_kindes = fork (); // Es kam zu einem Fehler --> Programmabbruch if ( pid_des_kindes < 0) { perror ("\n Es kam bei fork () zu einem Fehler!"); exit (1); } // Vaterprozess if ( pid_des_kindes > 0) { printf ("\n Vater : Die PID dieses Prozesses ist : %i", getpid ()); printf ("\n Vater : Die PID des Vaters ist %i", getppid ()); } // Kindprozess if ( pid_des_kindes == 0) { printf ("\n Kind : Die PID dieses Prozesses ist : %i", getpid ()); printf ("\n Kind : Die PID des Vaters ist %i", getppid ()) } }

13 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Die PID-Nummern von Eltern- und Kindprozess (2) Die Ausgabe ist üblicherweise wie mit dieser vergleichbar: Kind: Die PID dieses Prozesses ist: 6438 Kind: Die PID des Vaters ist 6437 Vater: Die PID dieses Prozesses ist: 6437 Vater: Die PID des Vaters ist 4972 Gelegentlich kann folgendes Ereignis beobachtet werden: Vater: Die PID dieses Prozesses ist: 7122 Vater: Die PID des Vaters ist 4972 Kind: Die PID dieses Prozesses ist: 7123 Kind: Die PID des Vaters ist 1 Hier wurde der Elternprozess vor dem Kind-Prozess beendet und darum hat init den Kind-Prozess adoptiert

14 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Die PID-Nummern von Eltern- und Kindprozess (3) Die Funktion getppid() liefert die PID des Elternprozesses zurück Wenn der Elternprozess vor dem Kind beendet wird, kann getppid() die PID des Elternprozesses nicht mehr zurückgeben Der erste Prozess unter Linux/UNIX ist init Dieser Prozess hat die PID 1 Alle laufenden Prozesse stammen von init ab Wird der Elternprozess eines Prozesses beendet, bekommt er init, den Vater aller Prozesse, als neuen Elternprozess zugeordnet Elternlose Prozesse werden im Zweifelsfall immer von init adoptiert Das ist nur logisch, da eh alle Prozesse von init abstammen

15 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Prozesse ersetzen mit exec Der Systemaufruf exec() ersetzt einen Prozess durch einen anderen Es findet eine Verkettung statt Im Gegensatz zu fork(), wird bei exec() der aufrufende Prozess beendet und ein neuer Prozess gestartet Der neue Prozess erbt sogar die PID des aufrufenden Prozesses Will man aus einem Prozess heraus ein Programm starten, ist es nötig, zuerst mit fork() einen neuen Prozess zu erzeugen und diesen mit exec() zu ersetzen Wie ist es möglich, dass in einer Shell ein Programm ausgeführt wird? Die Shell erzeugt mit fork() eine identische Kopie von sich selbst Im neuen Prozess wird mit exec() das eigentliche Programm gestartet Wird vor einem Aufruf von exec() kein neuer Prozess mit fork() erzeugt, geht der Elternprozess verloren

16 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Beispiel zum Systemaufruf exec ps -f UID PID PPID C STIME TTY TIME CMD user May18 pts/2 00:00:00 bash user :26 pts/2 00:00:00 ps -f bash ps -f UID PID PPID C STIME TTY TIME CMD user May18 pts/2 00:00:00 bash user :26 pts/2 00:00:00 bash user :26 pts/2 00:00:00 ps -f exec ps -f UID PID PPID C STIME TTY TIME CMD user May18 pts/2 00:00:00 bash user :26 pts/2 00:00:00 ps -f ps -f UID PID PPID C STIME TTY TIME CMD user May18 pts/2 00:00:00 bash user :27 pts/2 00:00:00 ps -f

17 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Ein weiteres Beispiel zu exec # include <stdio.h> # include < unistd.h> int main () { int pid ; pid = fork (); // Wenn die PID!=0 --> Elternprozess if ( pid ) { printf ("... Elternprozess...\ n"); printf ("[ Eltern ] Die PID des Elternprozesses ist %d\n", getpid ()); printf ("[ Eltern ] Die PID des Kindprozesses ist %d\n", pid ); } // Wenn die PID =0 --> Kindprozess else { printf ("... Kindprozess...\ n"); printf ("[ Kind ] Die PID des Kindprozesses ist %d\n", getpid ()); printf ("[ Kind ] Die PID des Elternprozesses ist %d\n", getppid ()); } // Aktuelles Programm durch " date " ersetzen execl ("/ bin / date ", "-u", NULL ); } printf ("[%d ] Programmende \n", getpid ()); return 0;

18 Erklärung zu dem exec Beispiel Alternative Programmpfade werden mit fork() und exec() beschritten Für den Elternprozess ist pid 0 Aus diesem Grund wird der if-teil des if-else-konstrukts ausgeführt Für den Kindprozess ist pid = 0 Aus diesem Grund wird der else-teil des if-else-konstrukts ausgeführt Der Kindprozess wird nach der Ausgabe seiner PID mit getpid() und der PID seines Elternprozesses mit getppid() durch das Programm date ersetzt Der Systemruf exec() existiert nicht selbst als C-Funktion Es existieren mehrere verschiedene Varianten der Funktion exec() Eine dieser Varianten ist execl() exec-beispiel...kindprozess... [Kind] Die PID des Kindprozesses ist [Kind] Die PID des Elternprozesses ist Do 26. Apr 00:11:08 CEST Elternprozess... [Eltern] Die PID des Elternprozesses ist [Eltern] Die PID des Kindprozesses ist [28729 ]Programmende Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70

19 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Unterbrechungen Unterbrechungen sind nötig, weil häufig unvorhersehbare Ereignisse eintreten, auf die ein Computer-System reagieren muss Unterbrechungen sind Ereignisse, deren Behandlung keinen Aufschub zulässt Häufige Unterbrechungen sind: Fehlersituation (Fehler bei einer Rechenoperation) Division durch Null, Gleitkommafehler, Adressfehler, usw. Software-Interrupt (Wird durch einen Prozess ausgelöst) Beispiele sind die TRAP-Funktion, um vom normalen Benutzermodus in den privilegierten Kernel-Modus zu wechseln und der Einzelschrittbetrieb beim Programmtest (Debugging, Trace) Hardware-Interrupt Ein-/Ausgabe-Geräte liefern Rückmeldungen an einen Prozess oder das Auftreten eines Stromausfalls

20 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Ein Beispiel für eine Unterbrechung Ein Prozess X kommuniziert mit einem Prozess Y über ein Netzwerk Beide Prozesse befinden sich auf unterschiedlichen Rechnern Wenn einer der beiden Prozesse nicht innerhalb eines festgelegten Zeitraums (Timeout) auf eine Nachricht antwortet, soll diese erneut geschickt werden, weil von einem Verlust ausgegangen wird Es gibt zwei Möglichkeiten eine solche Bedingung zu realisieren: Auf blockierende Art Auf nicht-blockierende Art

21 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Blockierende Realisierung Prozess X wird so lange blockiert, bis die Nachricht quittiert oder der Timeout verstrichen ist Kommt die Quittung an, darf Prozess X weiterlaufen Ansonsten muss Prozess X die Nachricht neu senden Nachteil: Es entstehen lange Leerlaufzeiten für Prozess X

22 Nicht-blockierende Realisierung Prozess X läuft nach dem Senden der Nachricht ganz normal weiter Kommt es zu einem Timeout wegen einer fehlenden Quittung, suspendiert das Betriebssystem den Prozess Die Registerwerte des Prozesses werden gesichert und eine spezielle Prozedur zur Behandlung des Signals gestartet In diesem Beispiel würde die Prozedur die Nachricht erneut senden Ist die Prozedur beendet, wird der Prozess wieder reaktiviert Nicht-blockierende Unterbrechungen können mit Interrupts und Exceptions realisiert werden Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70

23 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Unterbrechungsarten Interrupts (1) Interrupts sind externe Unterbrechungen Sie werden durch Ereignisse außerhalb des zu unterbrechenden Prozesses ausgelöst (z.b. ein Ein-/Ausgabe-Gerät meldet das Ende eines E/A-Prozesses) Das Konzept der Interrupts wird von der Hardware angeboten Es gibt auch Softwareinterrupts Softwareinterrupts werden wie Hardwareinterrupts behandelt, aber von Software ausgelöst Ein Interrupt signalisiert ein Ereignis und das Betriebssystem bietet eine Behandlung des Ereignisses an Der normale Ablauf der CPU wird unterbrochen und es wird eine Unterbrechungsbehandlung (Unterbrechungsroutine), die Interrupt Service Routine, im Kernel aktiviert Der Befehlszähler wird auf die Adresse der Unterbrechungsroutine gesetzt und es wird dort weitergearbeitet Das Betriebssystem sichert den Prozess-Kontext und stellt diesen nach Abschluss der Unterbrechungsroutine wieder her

24 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Unterbrechungsarten Interrupts (2) Das Betriebssystem verwaltet eine Liste mit den Adressen aller Unterbrechungsroutinen Diese Liste wird Unterbrechungsvektor (Interrupt Vector) genannt Interrupts sind notwendig, um schnell auf Signale von Ein-/Ausgabe-Geräten (z.b. Maus, Tastatur, Festplatte, Netzwerk, usw.) und auf zeitkritische Ereignisse reagieren zu können Ohne Interrupts ist kein präemptives (verdrängendes) Multitasking möglich, bei dem einem Prozess die CPU vor seiner Fertigstellung entzogen werden kann

25 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Unterbrechungsarten Exceptions Exceptions sind interne Unterbrechungen oder Ausnahmen/Alarme Exceptions werden vom Prozess selbst ausgelöst Eine Exception kann an jeder Stelle im Programmcode ausgelöst werden Auch bei Exceptions kommt es zu einer Unterbrechung der CPU und es wird eine Unterbrechungsbehandlung (Unterbrechungsroutine) im Kernel aktiviert Exceptions werden in der Softwareentwicklung hauptsächlich eingesetzt, um die Programme robuster zu machen gegen: Fehlerhafte Eingaben Programmierfehler (Division durch 0, Addition verursacht Überlauf) Gerätefehler (Gerät nicht erreichbar, Festplatte voll) Weitere Vorteile von Exceptions Trennung zwischen Algorithmus und Fehlerbehandlung Die Fehlerbehandlung ist durch den Compiler überprüfbar

26 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Konflikte bei Unterbrechungen (Interrupts) Für Konflikte bei der Unterbrechungsbehandlung gibt es zwei Gründe: Während einer Unterbrechungsbehandlung treten weitere Interrupts auf Es kommt zu mehreren Unterbrechungen gleichzeitig Zwei mögliche Lösungen: Sequentielle Interrupt-Verarbeitung Hier werden Prioritäten und zeitkritische Reaktionen außer Acht gelassen Die Interrupts werden strikt nacheinander bearbeitet und nicht selbst unterbrochen Verschachtelte Interrupt-Verarbeitung Für die Interrupts werden Prioritäten festgelegt Unterbrechungsbehandlungen können unterbrochen werden, wenn eine Unterbrechung mit höherer Priorität auftritt Unterbrechungen mit niederer Priorität werden zurückgestellt, bis alle Unterbrechungen mit höherer Priorität abgearbeitet sind

27 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Konflikte bei der Unterbrechungsbehandlung

28 Prozesswechsel Der Dispatcher (1) Beim Mehrprogrammbetrieb (Multitasking) fallen dem Betriebssystem u.a. zwei Aufgaben zu: Dispatching: Umschalten des Prozessors bei einem Prozesswechsel Scheduling: Festlegen des Zeitpunkts des Prozesswechsels und der Ausführungsreihenfolge der Prozesse Der Dispatcher (Prozessumschalter) führt die Zustandsübergänge der Prozesse durch Beim Prozesswechsel entzieht der Dispatcher dem derzeit aktiven, rechnenden Prozess die CPU und teilt sie dem Prozess zu, der in der Warteschlange an erster Stelle steht Bei Übergängen zwischen den Zuständen bereit und blockiert werden vom Dispatcher die entsprechenden Prozesskontrollblöcke aus den Zustandslisten entfernt und entsprechend neu eingefügt Es handelt sich hierbei um reine Listenoperationen Übergänge aus oder in den Zustand rechnend bedeuten immer einen Wechsel des aktuell rechnenden Prozesses auf der CPU Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70

29 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Prozesswechsel Der Dispatcher (2) Beim Prozesswechsel in oder aus dem Zustand rechnend, muss immer durch den Dispatcher... der Kontext, also die Registerinhalte des aktuell ausgeführten Proesses im Prozesskontrollblock gespeichert (gerettet) werden der Prozessor einem anderen Prozess zugeteilt werden der Kontext (Registerinhalte) des jetzt auszuführenden Prozesses aus seinem Prozesskontrollblock wieder hergestellt werden Der Leerlaufprozes (Idle Task) Bei modernen Betriebssystemen erhält die CPU zu jedem Zeitpunkt einen Prozess Ist kein Prozess im Zustand bereit, kommt der Leerlaufprozes zum Zug Der Leerlaufprozess ist immer aktiv und hat die niedrigste Priorität Durch den Leerlaufprozesses muss der Scheduler nie den Fall berücksichtigen, dass kein aktiver Prozess existiert Auf modernen Prozessor-Architekturen versetzt der Leerlaufprozess die CPU in einen stromsparenden Modus

30 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Festlegen der Ausführungsreihenfolge Scheduling Beim Scheduling weist das Betriebssystem die Prozessen den Prozessoren (Cores), in einer bestimmten Reihenfolge zu, um eine möglichst optimale Leistung zu erzielen Beim Scheduling legt des Betriebssystem die Ausführungsreihenfolge der Prozesse im Zustand bereit fest Die Entscheidung, welcher Prozess wann an der Reihe ist, ist vom Scheduling-Algorithmus abhängig Es werden vier Typen (Arten) des Scheduling unterschieden: Langfristiges Scheduling Mittelfristiges Scheduling Kurzfristiges Scheduling E/A-Scheduling Der kurzfristige Scheduler wird als Dispatcher bezeichnet

31 Langfristiges Scheduling Entscheidung ob ein Prozess in den Pool der auszuführenden Prozesse aufgenommen wird Regelt den Grad des Mehrprogrammbetriebs Es macht Sinn, die Anzahl der laufenden Prozesse zu begrenzen Je mehr Prozesse erzeugt werden, desto weniger Rechenzeit bleibt für die Ausführung der einzelnen Prozesse Mittelfristiges Scheduling Entscheidung ob ein Prozess ganz oder teilweise im Hauptspeicher gehalten oder ausgelagert wird Kurzfristiges Scheduling Entscheidung welchem Prozess als nächstes die CPU zugewiesen wird Dieser Scheduler wird aktiviert, wenn ein Ereignis eintritt, das zur Aussetzung oder Verdrängung des aktuellen Prozesses führen kann Denkbare Ereignisse sind Signale, Interrupts, Systemaufrufe, usw. E/A-Scheduling Entscheidung welche E/A-Anforderung eines Prozesses von einem E/A-Gerät bearbeitet werden soll Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Vier Typen (Arten) des Scheduling

32 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Scheduling-Grundsätze Beim Scheduling wird versucht folgende Grundsätze einzuhalten: Antwortzeit: Latenz. Wichtig besonders bei interaktiven Systemen Durchlaufzeit bzw. Turnaround: Zeit zwischen Eingang und Abschluss eines Prozesses soll möglichst nahe an der reinen Ausführungszeit sein Durchsatz: Abarbeitung möglichst vieler Prozesse pro Zeitintervall Effizienz: Möglichst vollständige Auslastung der CPU Termineinhaltung: Prozesse, die zu einem bestimmten Termin fertig werden müssen, werden so eingeplant, dass der Termin eingehalten wird Fairness: Kein Prozess soll dauerhaft vernachlässigt werden Overhead: Der zeitliche Aufwand für das Scheduling soll minimal sein Vorhersagbarkeit: Zeit und Kosten von gleichen Prozessen soll unabhängig sein von der Systemauslastung Durchsetzen von Prioritäten: Wenn Prozessen Prioritäten zugewiesen wurden, sollen diese beim Scheduling berücksichtigt werden Gleichmäßige Ressourcenauslastung: Alle Ressourcen sollen möglichst ständig beschäftigt werden. Prozesse, die freie Ressourcen anfordern, sollen bevorzugt behandelt werden

33 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Scheduling-Kriterien und Scheduling-Strategien Keine Scheduling-Strategie ist für jedes System optimal geeignet Keine Scheduling-Strategie kann alle Scheduling-Kriterien wie CPU-Auslastung, Durchsatz, Wartezeit, Verweilzeit, Echtzeitverhalten, Fairness und andere optimal berücksichtigen Bei der Auswahl einer Scheduling-Strategie muss immer ein geeigneter Kompromiss zwischen den Scheduling-Kriterien gefunden werden Die existierenden Schedulingverfahren können in zwei grundsätzliche Klassen unterteilt werden: Nicht-präemptives Scheduling (nicht-verdrängendes Scheduling) Präemptives Scheduling (verdrängendes Scheduling)

34 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Nicht-präemptives und präemptives Scheduling Nicht-präemptives Scheduling (nicht-verdrängendes Scheduling) Ein Prozess, der vom Scheduler die CPU zugewiesen bekommen hat, behält die Kontrolle über diese bis zu seiner vollständigen Fertigstellung Kein vorzeitiger Entzug der CPU durch den Scheduler vorgesehen Problematisch: Ein Prozess kann die CPU so lange belegen wie er will Belegt ein Prozess die CPU, ist es häufig so, dass andere, vielleicht dringendere Prozesse für lange Zeit nicht zum Zuge kommen Präemptives Scheduling (verdrängendes Scheduling) Einem Prozess kann die CPU vor seiner Fertigstellung entzogen werden Wird einem Prozess die CPU entzogen, pausiert er so lange in seinem aktuellen Zustand, bis der Scheduler ihm erneut die CPU zuteilt Schwieriger zu implementieren als nicht-präemptives Scheduling Verursacht mehr Overhead als nicht-präemptives Scheduling Die Vorteile von präemptivem Scheduling, besonders die Beachtung von Prozessprioritäten, überwiegen die Nachteile bei weitem

35 Scheduling-Verfahren Im Laufe der Jahrzehnte wurden viele Scheduling-Verfahren (Algorithmen) entwickelt Jedes Scheduling-Verfahren versucht unterschiedlich stark, die bekannten Scheduling-Kriterien und Grundsätze einzuhalten Zu den bekanntesten Scheduling-Verfahren gehören: Prioritätengesteuertes Scheduling First Come First Served (FCFS) bzw. First In First Out (FIFO) Last Come First Served (LCFS) Round Robin (RR) mit Zeitquantum Shortest Job First (SJF) und Longest Job First (LJF) Shortest Remaining Time First (SRTF) Longest Remaining Time First (LRTF) Highest Response Ratio Next (HRRN) Earliest Deadline First (EDF) Fair-Share Statisches Multilevel-Scheduling Multilevel-Feedback-Scheduling Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70

36 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Prioritätengesteuertes Scheduling Prozesse werden nach ihrer Priorität, also ihrer Wichtigkeit bzw. Dringlichkeit abgearbeitet Es wird immer dem Prozess im Zustand bereit die CPU zugewiesen, der die höchste Priorität hat Die Priorität kann von verschiedenen Kriterien abhängen, z.b. benötigte Ressourcen, Rang des Benutzers, geforderte Echtzeitkriterien, usw. Prioritätengesteuertes Scheduling kann präemptiv (verdrängend) und nicht-präemptiv (nicht-verdrängend) sein Die Prioritätenvergabe kann statisch oder dynamisch sein Statische Prioritäten ändern sich während der gesamten Lebensdauer eines Prozesses nicht und werden häufig in Echtzeitsystemen verwendet Dynamische Prioritäten werden von Zeit zu Zeit angepasst = Multilevel-Feedback Scheduling Gefahr beim (statischen) prioritätengesteuertem Scheduling: Prozesse mit niedriger Priorität können verhungern

37 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Prioritätengesteuertes Scheduling

38 Beispiel zum Prioritätengesteuerten Scheduling Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Alle Prozesse kommen gleichzeitig an Prozess CPU-Laufzeit Priorität A 8 ms 3 B 4 ms 15 C 7 ms 8 D 13 ms 4 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 17, 75 ms = 9, 75 ms Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70

39 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 First Come First Served (FCFS) Funktioniert nach dem Prinzip First In First Out (FIFO) Die Prozesse werden entsprechend ihrer Ankunftsreihenfolge bedient Dieses Scheduling-Verfahren ist vergleichbar mit einer Warteschlange von Kunden in einem Geschäft Laufende Prozesse werden bei FCFS nicht unterbrochen Es handelt sich um nicht-präemptives (nicht-verdrängendes) Scheduling FCFS ist fair, weil alle Jobs berücksichtigt werden Die mittlere Wartezeit kann unter Umständen sehr hoch sein Prozesse mit kurzer Abarbeitungszeit müssen eventuell lange warten, wenn vor ihren Prozesse mit langer Abarbeitungszeit eingetroffen sind FCFS wird häufig mit einem Prioritätsverfahren zu einer effektiven Scheduling-Strategie kombiniert

40 Beispiel zu First Come First Served Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Prozess CPU-Laufzeit Ankunftszeit A 8 ms 0 B 4 ms 1 C 7 ms 3 D 13 ms 5 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 15, 5 ms = 7, 5 ms Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70

41 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Last Come First Served (LCFS) Die Prozesse werden in der umgekehrten Ankunftsreihenfolge bedient Laufende Prozesse werden nicht unterbrochen Die Prozesse behalten den Zugriff auf die CPU bis zu Beendigung oder freiwilligen Abgabe LCFS ist nicht fair, weil beim kontinuierlichen Eintreffen neuer Prozesse die alten Prozesse nicht berücksichtigt werden und dadurch verhungern können In der reinen Form wird LCFS extrem selten berücksichtigt

42 Beispiel zu Last Come First Served Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Prozess CPU-Laufzeit Ankunftszeit A 8 ms 0 B 4 ms 1 C 7 ms 3 D 13 ms 5 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 20 ms = 12 ms Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70

43 Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70 Last Come First Served Präemptive Variante (LCFS-PR) Bei präemptivem LCFS werden die Prozesse auch in der umgekehrten Ankunftsreihenfolge bedient Ein neuer Prozess in der Bereitliste verdrängt bei LCFS-PR den aktuell laufenden Prozesse von der CPU Verdrängte Prozesse werden an das Ende der Warteschlange eingereiht Werden keine neuen Prozesse gestartet, findet auch keine Verdrängung statt Bei LCFS-PR werden kurze Prozesse bevorzugt Ein kurzer Prozess hat die Chance, noch vor dem Eintreffen eines neuen Prozesse fertig zu sein Lange Prozesse werden u.u. mehrfach verdrängt und dadurch stark verzögert Es besteht die Gefahr, dass lange Prozesse nie Zugriff auf die CPU erhalten und verhungern In der reinen Form wird LCFS-PR selten berücksichtigt

44 Beispiel zu Last Come First Served Präemptive Variante Auf einem Einprozessorrechner sollen vier Prozesse verarbeitet werden Prozess CPU-Laufzeit Ankunftszeit A 8 ms 0 B 4 ms 1 C 7 ms 3 D 13 ms 5 Ausführungsreihenfolge der Prozesse als Gantt-Diagramm (Zeitleiste) Laufzeit der Prozesse Prozess A B C D Laufzeit Wartezeit der Prozesse Prozess A B C D Wartezeit = 22, 25 ms = 14, 25 ms Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS /70

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

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

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

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

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

6.Vorlesung Betriebssysteme Hochschule Mannheim

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

Mehr

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

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012

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

Mehr

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Betriebssysteme I WS 2013/2014 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 16. Januar 2014 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Prozess-Ablaufplanung Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduler Der Scheduler ist ein besonders wichtiges Programmteil jedes Betriebssystems. Prozesse P 1 P

Mehr

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

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

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

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

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

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

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

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

Ü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

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

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

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

fork () Hans-Georg Eßer, Hochschule München Betriebssysteme I, SS 2008 2. Prozesse (2/2) Folie 4

fork () Hans-Georg Eßer, Hochschule München Betriebssysteme I, SS 2008 2. Prozesse (2/2) Folie 4 Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: SAS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)

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

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

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

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

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

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

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

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

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

Einführung in UNIX 1. Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet.

Einführung in UNIX 1. Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet. Einführung in UNIX 1 7 Prozesse Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet. Auf einem UNIX-Rechner können hundert oder

Mehr

Prozesse und Logs Linux-Kurs der Unix-AG

Prozesse und Logs Linux-Kurs der Unix-AG Prozesse und Logs Linux-Kurs der Unix-AG Andreas Teuchert 27./28. Juni 2012 Prozesse unter Linux gestartete Programme laufen unter Linux als Prozesse jeder Prozess hat eine eindeutige Prozess-ID (PID)

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

1.6 Anwendung/Prozesse, Umleitung und Verkettung

1.6 Anwendung/Prozesse, Umleitung und Verkettung 1.6 Anwendung/e, Umleitung und Verkettung 1.6.1 e Ein (englisch task) ist ein im Lauf befindliches Programm. Auf einem Linux-System erhält man mit den Befehlen ps (process list), top (table of processes)

Mehr

Prozesse und Logs Linux-Kurs der Unix-AG

Prozesse und Logs Linux-Kurs der Unix-AG Prozesse und Logs Linux-Kurs der Unix-AG Benjamin Eberle 22. Januar 2015 Prozesse unter Linux gestartete Programme laufen unter Linux als Prozesse jeder Prozess hat eine eindeutige Prozess-ID (PID) jeder

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

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

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

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

Mehr

2 Echtzeitbetriebssysteme

2 Echtzeitbetriebssysteme 35 2 Echtzeitbetriebssysteme In den letzten Jahren hat sich die Automobilindustrie zu einem der wesentlichen Anwender von Echtzeitbetriebssystemen für eingebettete Systeme entwickelt. Relativ zeitig erkannten

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

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

1. Prozesse & Threads (10 Punkte)

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

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Prozesse 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/ss2011/bs/

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

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

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

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

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

Mehr

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012 VU Technische Grundlagen der Informatik Übung 8: Systemsoftware und Netzwerke 183.579, SS2012 Übungsgruppen: o., 14.6. Mi., 20.6.2012 ufgabe 1: Virtual Memory Zeichnen Sie ein System das Paging zur Speicherverwaltung

Mehr

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

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

Rapid I/O Toolkit. http://projects.spamt.net/riot. Alexander Bernauer alex@copton.net 08.12.08

Rapid I/O Toolkit. http://projects.spamt.net/riot. Alexander Bernauer alex@copton.net 08.12.08 Rapid I/O Toolkit http://projects.spamt.net/riot Alexander Bernauer alex@copton.net 08.12.08 Inhalt Motivation Architektur Beispiel I/O Features Ausblick Motivation Problemstellung Vorgaben Datenverarbeitung

Mehr

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

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

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Netzwerk - Programmierung Prozesse Stefan Janssen sjanssen@cebitec.uni-bielefeld.de Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Prozesse

Mehr

OSEKtime - Time-Triggered OSEK/OS

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

Mehr

Ausgewählte Themen. In diesem Teil werden ausgewählte Themen vorgestellt: Fehlerbehandlung Dämonen Zombies. Inhalt. 1. Fehlerbehandlung...

Ausgewählte Themen. In diesem Teil werden ausgewählte Themen vorgestellt: Fehlerbehandlung Dämonen Zombies. Inhalt. 1. Fehlerbehandlung... Ausgewählte Themen In diesem Teil werden ausgewählte Themen vorgestellt: Fehlerbehandlung Dämonen Zombies Inhalt 1. Fehlerbehandlung... 2 2. Dämonen... 5 3. Zombies...16 Unix für Entwickler: AusgewaehlteThemen

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

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

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

Mehr

5.6 Realzeitarchitektur auf Multicore-Basis

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

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

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

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

Prozeß. 2. Prozesse. 2.1 Einführung

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

Mehr

Vorlesung Betriebssysteme

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

Mehr

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

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

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

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Zusammenfassung Kapitel 4 Dateiverwaltung 1 Datei logisch zusammengehörende Daten i.d.r. permanent

Mehr

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

Mehr

Parallelverarbeitung mit Ruby

Parallelverarbeitung mit Ruby Fachhochschule Wiesbaden - Fachbereich DCSM Parallelverarbeitung mit Ruby Prozess-Ebene Multithreading 04.12.2008 2003, 2008 H. Werntges, FB Design Informatik Medien (DCSM), FH Wiesbaden 1 Fachhochschule

Mehr

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

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

Mehr

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

3. Unix Prozesse. Betriebssysteme Harald Kosch Seite 57

3. Unix Prozesse. Betriebssysteme Harald Kosch Seite 57 3. Unix Prozesse Ein Prozeß ist die Umgebung eines laufenden Programms. Ein bißchen Analogie. Wer kocht gerne? Papa möchte mit Hilfe eines Rezeptes eine Torte für seine Tochter backen. Das Rezept ist das

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

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

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

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

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Sep 2012. 4) Task-Verwaltung

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Sep 2012. 4) Task-Verwaltung Inhalte Eigenschaften von Rechenprozessen (Tasks) Taskübergänge (process control block) Multitasking (kooperativ und präemptiv) Scheduler Erzeugen, Starten und Beenden von Tasks Taskzustände (running,

Mehr

Vorl. 6: Single- und Multitasking

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

Mehr

Lokales Storage Teil 1

Lokales Storage Teil 1 Lokales Storage Teil 1 Zinching Dang 08. Juli 2015 1 Lokales Storage im Allgemeinen Lokales Storage im Allgemeinen Datenträger, die direkt am Host angeschlossen sind Anbindung über verschiedene Bus-Systeme

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

Der upb.de Supercomputer: Single Site Scheduling

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

Mehr

RTEMS- Echtzeitbetriebssystem

RTEMS- Echtzeitbetriebssystem RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Zeit- und ereignisgesteuerte Echtzeitsysteme

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

Mehr

Prozesse und Threads. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Prozesse und Threads. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Prozesse und Threads Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Ziel: Gleichzeitiges, kontrolliertes Ausführen von Programmen auf einem Rechner Welche Mechanismen sind

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Der SUN-Pool. 64 Arbeitsplätze, reine Terminals

Der SUN-Pool. 64 Arbeitsplätze, reine Terminals Der SUN-Pool 64 Arbeitsplätze, reine Terminals 4 SUN-Server (SUN-Fire oder Enterprise) {alexander,delenn,ivanova,winter}.babylon.cs.uni-potsdam.de, vollkommen symmetrisch installiert; verwalten dasselbe

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance 5. November 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Repetition

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

Grundlagen der Informatik. Teil VI Betriebssysteme

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

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

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