Übung zu Grundlagen der Betriebssysteme. 8. Übung

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Übung zu Grundlagen der Betriebssysteme 8. Übung

2 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein Prozess mehr als einen Thread Multithreading ähnlich realisiert wie ein Prozess, aber (konzeptionell) immer in einem Prozess eingebettet, der allein die Betriebsmittel verwaltet Prozess enthält einen oder mehrere Threads Prozess Vorteil: eigenständiges Programm/Anwendung eigener Adressraum eigene Betriebsmittel Nachteil: Umschaltung zwischen Prozessen sehr aufwendig (context switch). aufwendige Kommunikation zwischen Prozessen. Thread Vorteil: Einfache Kommunikation zwischen den Threads eines Prozesses Einfacher Zugriff auf gemeinsame Variablen (gemeinsamer Adressraum). Nachteil: kein eigener Adressraum keine eigenen Betriebsmittel Synchronisation notwendig

3 Aufgabe 1 Erläutern Sie mit wenigen Worten warum der Einsatz von Threads sinnvoll ist! Threads sind leichtgewichtiger als Prozesse. Ein Thread Kontextwechsel innerhalb des laufenden Prozesses kann schneller sein als ein Prozess-Kontextwechsel, weil meist Speicherbereiche des gleichen Prozesses verwendet werden. Ein Austausch von Speicherbereichen ist daher of nicht erforderlich, was den Betriebssystem-Overhead reduziert.

4 Symmetrisches Multiprozessorsystem (SMP) eine Multiprozessor-Architektur, bei der zwei oder mehr identische Prozessoren einen gemeinsamen Adressraumbesitzen. Dies bedeutet, dass jeder Prozessor mit derselben (physikalischen) Adresse dieselbe Speicherzelle oder dasselbe Peripherieregister adressiert. Eine SMP-Architektur erlaubt es, die laufenden Prozesse dynamisch auf alle verfügbaren Prozessoren zu verteilen dagegen muss beim asymmetrischen Multiprocessing jeder CPU eine Aufgabe fest zugewiesen werden.

5 Aufgabe 1 Ein Prozess hat mindestens einen Thread, kann aber aus mehreren Threads bestehen, die praktisch gleichzeitig abgearbeitet werden und sich somit ähnlich wie verschiedene Prozesse verhalten.

6 Aufgabe 1 b) Kann ein Thread unter dem Betriebssystem Windows mehreren Prozessen zugeordnet werden? Begründen Sie! Nein ein Thread wird innerhalb eines Prozesses erzeugt und ist diesem bis zur Terminierung zugeordnet. Nein. Ein Thread befindet sich immer innerhalb eines Prozesses, gegebenenfalls zusammen mit anderen Threads. Alle diese Threads teilen sich den Speicherbereich, der dem Prozess zur Verfügung steht. Sollte also ein Thread zu mehreren Prozessen gehören, dann müsste dieser ja auch auf mehrere Speicherbereiche der einzelnen Prozesse Zugriff haben. Und dies ist weder möglich noch erwünscht. Außerdem ist die Idee eines Threads ja unter anderem, dass die CPU bei der Ausführung eines blockierten Threads nicht den Prozess wechseln muss (kein teurer Kontextwechsel) sondern einfach innerhalb eines Prozesses verbleiben kann und mit einem anderen Thread weiterarbeiten kann.

7 Aufgabe 2 Im letzten Übungsblatt (Blatt 4, Aufgabe 2) haben wir das C-Programm father_son.c kennengelernt. Hier wird ein Programm mittels fork() in mehrere Prozesse aufgeteilt, die die Variable i unabhängig voneinander auf einen bestimmten Wert inkrementieren. Verändern Sie das Programm father_son.c so, dass ein einziger Prozess über 3 zusätzliche Posix-Threads eine (einzige) Integer Variable in einer Schleife bis zu einem bestimmten Wert hoch zählt (immer um Wert 1 inkrementiert). Der Hauptthread (main()) soll beim Hochzählen nicht beteiligt sein, sondern auf die 3 Threads warten (pthread_join(...)). Der maximale Wert der Integer Variable soll beim Programmstart übergeben werden (entweder über Tastatur-Abfrage oder über einen Startparameter des Programms). Über eine printf()-funktion soll jeder Thread auf der Konsole ausgeben, auf welchen Wert er die Integer Variable gerade ändert. Hinweis: Das Hochzählen der Integer Variable muss in dieser Aufgabe nicht synchronisiert werden, d.h. es dürfen z.b. Werte übersprungen werden oder auch doppelt vorkommen.

8 Threads father_son_thread.c #include <stdio.h> #include <stdlib.h> #include <pthread.h> gcc - o f a t h e r _ s o n _ t h r e a d f a t h e r _ s o n _ t h r e a d. c - l p t h r e a d int i; int rnd; void* thrfunc(void *a); void main(){ pthread_t thr; pthread_create(&thr, NULL, thrfunc, NULL); for (i=0; i<500; i++){ printf("\n Father: %i", i); sleep(1); void* thrfunc(void *a){ for (i=0; i<500;i++){ printf("\n Son: %i", i); rnd=rand(); sleep(rnd%3);

9 Aufgabe 2 #include <stdio.h> #include <stdlib.h> #include <pthread.h> void threadonefunction(int *max); void threadtwofunction(int *max); void threadthreefunction(int *max); int i = 0;int main(int argc, char *argv[]) { int max = atoi(argv[1]); pthread_t threadone; pthread_t threadtwo; pthread_t threadthree; pthread_attr_t threadoneattr; pthread_attr_t threadtwoattr; pthread_attr_t threadthreeattr; pthread_attr_init(&threadoneattr); pthread_attr_init(&threadtwoattr); pthread_attr_init(&threadthreeattr); pthread_create(&threadone, &threadoneattr, threadonefunction, &max); pthread_create(&threadtwo, &threadtwoattr, threadtwofunction, &max); pthread_create(&threadthree, &threadthreeattr, threadthreefunction, &max); pthread_join(threadone, NULL ); pthread_join(threadtwo, NULL ); pthread_join(threadthree, NULL ); return 0; (Gruppe Arrandale)

10 Aufgabe 2 pthread_create(&threadone, &threadoneattr, threadonefunction, &max); void threadonefunction(int *max) { if (i < *max) { i++; printf("thread 1 incremented i to: %d\n", i); threadonefunction(max); pthread_exit(0); void threadtwofunction(int *max) { if (i < *max) { i++; printf("thread 2 incremented i to: %d\n", i); threadtwofunction(max); pthread_exit(0); void threadthreefunction(int *max) { if (i < *max) { i++; printf("thread 3 incremented i to: %d\n", i); threadthreefunction(max); pthread_exit(0); (Gruppe Arrandale)

11 Aufgabe 2./test 30 Thread 3 incremented i to: 1 Thread 3 incremented i to: 3 Thread 3 incremented i to: 4 Thread 3 incremented i to: 5 Thread 3 incremented i to: 7 Thread 3 incremented i to: 8 Thread 3 incremented i to: 9 Thread 3 incremented i to: 10 Thread 3 incremented i to: 11 Thread 3 incremented i to: 12 Thread 3 incremented i to: 13 Thread 3 incremented i to: 14 Thread 3 incremented i to: 15 Thread 3 incremented i to: 16 Thread 3 incremented i to: 17 Thread 3 incremented i to: 18 Thread 3 incremented i to: 19 Thread 3 incremented i to: 20 Thread 2 incremented i to: 2 Thread 1 incremented i to: 6 (Gruppe Arrandale)

12 Aufgabe 2 #include <pthread.h> #include <stdio.h> #include <stdlib.h> int i; long t; void *count(void *threadid){ long* tid; tid=(long*)threadid; while (i<500){ printf("\n Process %d : %d",tid,i); sleep(1); i++; pthread_exit(null); void main(){ pthread_t threads[3]; int out; pthread_create(&threads[1],null,count,(void *)1); pthread_create(&threads[2],null,count,(void *)2); pthread_create(&threads[3],null,count,(void *)3); pthread_join(threads[1],null); pthread_join(threads[2],null); pthread_join(threads[3],null); pthread_exit(null); (Gruppe bekton)

13 Aufgabe 2 #include <stdio.h> #include <stdlib.h> #include <pthread.h> int i; int rnd; int m; void* thrfunc(void *a); int main() { printf("\n Maximaler Wert: "); scanf("%i", &m); pthread_t threads[3]; int thread_arguments[3], p; for (p = 0; p < 3; ++p) { thread_arguments[p] = p; pthread_create(&threads[p], NULL, thrfunc, (void *) &thread_arguments[p]); for (p = 0; p < 3; ++p) { pthread_join(threads[p], NULL); return 0; void* thrfunc(void *a) { int k = *((int*) a); for (i = 0; i <= m; i++) { printf("\n Thread %i: %i", k, i); rnd = rand(); sleep(rnd%3); return NULL;

14 Aufgabe 2 #include <stdio.h> #include <stdlib.h> #include <pthread.h> int maxval; /* Wird inkrementiert */ int i = 0; int rnd; #define NUM_THREADS 3 /* Thread Funktion */ void *runner(void *param) { int tid; tid = *((int *) param); while(i <= maxval) { printf("thread %i: %i\n", tid, i); rnd=rand(); sleep(rnd%3); i++; void main(int argc, const char* argv[] ) { printf("maximalwert eingeben: "); scanf("%i", &maxval); pthread_t threads[num_threads]; int thread_args[num_threads]; int j; /* Alle Threads erstellen */ for (j = 0; j < NUM_THREADS; j++) { thread_args[j] = j; // Thread Nummer als Parameter an die Funktion runner uebergeben pthread_create(&threads[j], NULL, runner, (void *) &thread_args[j]); /* Warten bis alle Threads beendet wurden */ for (j = 0; j < NUM_THREADS; j++) pthread_join(threads[j], NULL);

15 Aufgabe 3 a) Nennen Sie mindestens 4 Vergleichskriterien, nach denen Scheduling- Verfahren verglichen werden können und erläutern Sie diese mit wenigen Worten.

16 Aufgabe 3 a) Nennen Sie mindestens 4 Vergleichskriterien, nach denen Scheduling- Verfahren verglichen werden können und erläutern Sie diese mit wenigen Worten. - Wartezeit: Zeit, die ein Prozess auf die Ausführung warten muss, also die Summe aller Zeiträume, in denen ein Prozess warten muss. - Bedienzeit (Servicezeit): Zeit, in der ein Prozess die CPU hält und arbeiten kann. - Antwortzeit: Zeit, in der ein Anwender auf die Bearbeitung seines Auftrags warten muss. - Durchsatz: Anzahl an Prozessen, die ein System in einer bestimmten Zeit bearbeiten kann. - CPU-Auslastung: Auslastung der CPU während der Bearbeitung von Prozessen in % der Gesamtkapazität - Durchlaufzeit = Verweilzeit: Gesamte Zeit, in der sich ein Prozess im System befindet (Serviczeiten + Wartezeiten)

17 Aufgabe 3 a) Nennen Sie mindestens 4 Vergleichskriterien, nach denen Scheduling-Verfahren verglichen werden können und erläutern Sie diese mit wenigen Worten. Durchsatz: Möglichst viele Prozesse werden in möglichst kurzer Zeit abgearbeitet. Effizienz: Die zur Verfügung stehenden Ressourcen werden möglichst vollständig ausgelastet. Fairness: Die Ressourcen werden den Prozessen gerecht zugeteilt, das heißt kein Prozess wird dauerhaft vernachlässigt. Man sagt auch, das Verfahren vermeide das Verhungern (starvation) von Prozessen. Transparenz: Die einzelnen Schritte der Prozesse werden in ihrem Ablauf und in ihrer Zuordnung zu Ressourcen klar erkannt und getrennt. Termineinhaltung: Prozesse, die zu einem bestimmten Termin beendet sein müssen, werden so geplant, dass der Termin eingehalten wird. Während in der Betriebswirtschaft präzise einzuhaltende Termine Deadlines und ungefähr einzuhaltende Termine Fertigstellungstermine heißen, spricht man in der Informatik nur von Deadlines und unterscheidet stattdessen folgende Arten von Echtzeitanforderungen: Harte Echtzeit hält alle Deadlines präzise ein, weiche Echtzeit hält Deadlines einigermaßen ein und Best Effort ( so gut wie möglich ) sichert keine Einhaltung der Deadlines zu. Einfach und schnell: Für eine Implementierung in Hochgeschwindigkeits-Switchen ist es wichtig die Komplexität zu begrenzen. (

18 Aufgabe 3 b) Ermitteln Sie für folgende fünf Prozesse die gesamte Bearbeitungszeit und die durchschnittliche Bearbeitungszeit unter Berücksichtigung folgender Scheduling- Strategien. (Angaben in ms). Prozess A B C D E Ablaufzeit Priorität ) Reines Priority Scheduling ((A) hat mit 5 die höchste Priorität). 2) First Come First Serve (FCFS) unter Berücksichtigung der Reihenfolge: A, B, D, C, E 3) Shortest Job First (SJF). 4) Round Robin (RR) ohne Prioritäten bei einem Quantum von 2 ms, wobei die Reihenfolge der Abarbeitung A,B,C,D,E sein soll. Die Prozesse werden ungefähr gleichzeitig gestartet. Die Prozesswechselzeit wird nicht betrachtet. Eine Verdrängung (Preemption) wird nur im Fall d) ausgeführt.

19 Aufgabe 3 1) Reines Priority Scheduling ((A) hat mit 5 die höchste Priorität). Prozess A B C D E Ablaufzeit Priorität Prozess A B C D E Ablaufzeit Priorität Bearbeitungszeit Die Summe über alle Bearbeitungszeiten ist V all = = 185 ms Durchschnittliche Bearbeitungszeit V avg = 185/5 = 37 ms Wartezeit W all = = 124 ms Durchschnittliche Wartezeit W avg = 124/5 = 24,8 ms

20 Aufgabe 3 2) First Come First Serve (FCFS) unter Berücksichtigung der Reihenfolge: A, B, D, C, E Prozess A B C D E Ablaufzeit Priorität Prozess A B D C E Ablaufzeit Bearbeitungszeit Die Summe über alle Bearbeitungszeiten ist V all = = 181 ms Durchschnittliche Bearbeitungszeit V avg = 181/5 = 36,2 ms Wartezeit W all = = 120 ms Durchschnittliche Wartezeit W avg = 120/5 = 24 ms

21 Aufgabe 3 3) Shortest Job First (SJF). Prozess A B C D E Ablaufzeit Priorität Prozess E A B D C Ablaufzeit Bearbeitungszeit Die Summe über alle Bearbeitungszeiten ist V all = = 145 ms Durchschnittliche Bearbeitungszeit V avg = 145/5= 29 ms Wartezeit W all = = 84 ms Durchschnittliche Wartezeit W avg = 84/5 = 16,8 ms

22 Aufgabe 3 4) Round Robin (RR) ohne Prioritäten bei einem Quantum von 2 ms, wobei die Reihenfolge der Abarbeitung A,B,C,D,E sein soll. Prozess A B C D E Ablaufzeit Priorität Scheduling-Reihenfolge: A B C D E A,B,C,D,E A,B,C,D,E A,B,C,D,E A,B,C,D B,C,D B,C,D C,D C,D C E= E=A+B+C+D+2+A+B+C+D+2+A+B+C+D+1=29ms A= A= =31ms B= B= =31+14=45ms D=45+12 = 57ms C=57+4 = 61ms

23 Aufgabe 3 4) Round Robin (RR) ohne Prioritäten bei einem Quantum von 2 ms, wobei die Reihenfolge der Abarbeitung A,B,C,D,E sein soll. Prozess A B C D E Ablaufzeit Priorität Prozess A B C D E Ablaufzeit Bearbeitungszeit Die Summe über alle Bearbeitungszeiten ist V all = = 223ms Durchschnittliche Bearbeitungszeit V avg = 223/5 = 44,6 ms Wartezeit W all = = 162ms Durchschnittliche Wartezeit W avg = 162/5 = 32,4ms

24 Aufgabe 3 (Gruppe Clarksfield)

25 Aufgabe 4 Erweitern Sie Ihr C-Programm aus Aufgabe 2 um das Round Robin (RR) Scheduling Verfahren und vergeben Sie den einzelnen Threads Prioritäten. Beim Programmstart soll neben dem maximalen Wert für die Integer Variable auch für jeden der 3 Threads eine Priorität übergeben/abgefragt werden. Überprüfen Sie die Funktionsweise ihres Programms anschließend mit ps -elfl

26 Aufgabe 4 #include <stdio.h> #include <stdlib.h> #include <pthread.h> void threadonefunction(int *max); void threadtwofunction(int *max); void threadthreefunction(int *max); int i = 0; int main(int argc, char *argv[]) { int max = atoi(argv[1]); pthread_t threadone; pthread_t threadtwo; pthread_t threadthree; pthread_attr_t threadoneattr; pthread_attr_t threadtwoattr; pthread_attr_t threadthreeattr; int policy = SCHED_RR; struct sched_param threadoneparam; struct sched_param threadtwoparam; struct sched_param threadthreeparam; threadoneparam.sched_priority = atoi(argv[2]); threadtwoparam.sched_priority = atoi(argv[3]); threadthreeparam.sched_priority = atoi(argv[4]); pthread_attr_init(&threadoneattr); pthread_attr_init(&threadtwoattr); pthread_attr_init(&threadthreeattr); pthread_setschedparam(threadone, &policy, &threadoneparam); pthread_setschedparam(threadtwo, &policy, &threadtwoparam); thread_setschedparam(threadthree, &policy, &threadthreeparam); pthread_create(&threadone, &threadoneattr, threadonefunction, &max); pthread_create(&threadtwo, &threadtwoattr, threadtwofunction, &max); pthread_create(&threadthree, &threadthreeattr, threadthreefunction, &max); pthread_join(threadone, NULL ); pthread_join(threadtwo, NULL ); pthread_join(threadthree, NULL ); return 0

27 Aufgabe 4 #include <stdio.h> #include <stdlib.h> #include <pthread.h> void threadonefunction(int *max); void threadtwofunction(int *max); void threadthreefunction(int *max); int i = 0; int main(int argc, char *argv[]) { int max = atoi(argv[1]); pthread_t threadone; pthread_t threadtwo; pthread_t threadthree; pthread_attr_t threadoneattr; pthread_attr_t threadtwoattr; pthread_attr_t threadthreeattr; int policy = SCHED_RR; struct sched_param threadoneparam; struct sched_param threadtwoparam; struct sched_param threadthreeparam; threadoneparam.sched_priority = atoi(argv[2]); threadtwoparam.sched_priority = atoi(argv[3]); threadthreeparam.sched_priority = atoi(argv[4]); pthread_create(&threadone, &threadoneattr, threadonefunction, &max); pthread_create(&threadtwo, &threadtwoattr, threadtwofunction, &max); pthread_create(&threadthree, &threadthreeattr, threadthreefunction, &max); pthread_setschedparam(threadone, policy, &threadoneparam); pthread_setschedparam(threadtwo, policy, &threadtwoparam); thread_setschedparam(threadthree, policy, &threadthreeparam); pthread_join(threadone, NULL ); pthread_join(threadtwo, NULL ); pthread_join(threadthree, NULL ); return 0

28 Aufgabe 4 void threadonefunction(int *max) { if (i < *max) { i++; printf("thread 1 incremented i to: %d\n", i); threadonefunction(max); pthread_exit(0); void threadtwofunction(int *max) { if (i < *max) { i++; printf("thread 2 incremented i to: %d\n", i); threadtwofunction(max); pthread_exit(0); void threadthreefunction(int *max) { if (i < *max) { i++; printf("thread 3 incremented i to: %d\n", i); threadthreefunction(max); pthread_exit(0);

29 Threads

30 Scheduling Scheduling im Einprozessorsystem Scheduling Planung der zeitlichen Zuteilung von Ressourcen Arten des Prozess-Scheduling: Langfristiges Scheduling: Die Entscheidung, einen Prozess in den Pool der auszuführenden Prozesse aufzunehmen Mittelfristiges Scheduling: Die Entscheidung, einen Prozess zu den Prozessen hinzuzufügen, die sich teilweise oder ganz im Hauptspeicher befinden Kurzfristiges Scheduling: Die Entscheidung, welcher Prozess durch den Prozessor bearbeitet wird. Zuteilung der E/A Ressourcen: Die Entscheidung, welche E/A-Anforderung eines Prozesses von einem verfügbaren E/A-Gerät bearbeitet werden soll.

31 Scheduling Scheduling im Einprozessorsystem Scheduling Zuteilung der Prozessoren zu lauffähigen Prozessen Grundmuster für Prozesse CPU-lastig: Prozess nutzt viel Rechenzeit, wartet selten auf I/O I/O-lastig: Prozess nutzt Peripherie und wartet auf I/O Prozessklassen Batch Jobs: Prozesse ohne Benutzerdialog Interaktive Prozesse: Ablauf gesteuert durch Benutzer Real-Time Prozesse: Einhalten vorgegebener Zeitlimits

32 Scheduling

33 Scheduling

34 Scheduling Optimierungsziele: Durchlaufzeit: Gesamtzeit von Prozessstart bis Beendigung Antwortzeit: Zeit zwischen Eingabe und Reaktion Endtermin: Zeitpunkt, zu dem Aktion erfolgt sein muss Vorhersagbarkeit: Ausführungszeit eines bestimmten Prozesses vorhersagbar Prozessorauslastung: Prozentualer Anteil der Zeit, zu der der Prozessor beschäftigt ist Durchsatz: Maximierung der Anzahl Prozesse pro Zeiteinheit Prozess-basiertes Scheduling (ohne Threads) vs Thread-basiertes Scheduling

35 Scheduling Kurzfristiges Scheduling: verdrängende Strategien (mit Preemption) / unterbrechendes Scheduling: Ein Prozess läuft so lange, bis er die Kontrolle abgibt oder durch Anforderung einer Resource zum Anhalten gebracht wird. nicht verdrängende Strategien (ohne Preemption) / nicht unterbrechendes Scheduling: Ein Prozess läuft so lange, bis er die Kontrolle abgibt oder durch Anforderung einer Resource zum Anhalten gebracht wird.

36 Scheduling probalistisches Scheduling Der Scheduler beobachtet das Prozessverhalten und ermittelt charakteristische Parameter (z. B. E/A- und Prozessor-Intensität), um dann Prozesse zu bevorzugen oder zu benachteiligen. deterministisches Scheduling Alle Prozesse und deren charakteristischen Merkmale (Ausführungszeit, Bedarf an Betriebsmitteln, Anhängigkeiten von anderen Prozessen) sind bekannt. Zu erstellen ist ein Zeitplan, der die Zielsetzungen des Scheduling verwirklicht.

37 Scheduling Das deterministische Scheduling arbeitet mit festen, bekannten Eigenschaften. Beispiele sind Ausführungszeit oder benutzte Betriebsmittel. Aufgrund dieser Informationen wird ein Zeitplan erstellt. Probalistisches Scheduling hat keine festen Informationen. Der Scheduler beobachtet die Prozesse während der Ausführung (Anzahl der Ein- und Ausgabe Operationen und/oder Rechenintensität) und priorisiert aufgrund der gesammelten Informationen einzelne Prozesse. Somit werden andere Prozesse vernachlässigt.

38 Scheduling Verschiedene Scheduling Verfahren: FCFS (First Come First Served): Es wird der Prozess gewählt, der bereits am längsten darauf wartet, bearbeitet zu werden. Round Robin: Mit Hilfe von Zeitscheiben wird die aktiven Prozessen zur Verfügung stehende Zeit beschränkt. Sämtlichen bereiten Prozessen wird der Reihe nach eine Zeitscheibe zugeteilt. SPN (Shortest Process Next): Es wird jeweils der Prozess ausgewählt, dessen erwartete Bearbeitungszeit am kürzesten ist. Dieser Prozess wird nicht aufgrund vorrangiger Prozesse unterbrochen. SRT (Shortest Remaining Next): Es wird jeweils der Prozess ausgewählt, dessen erwartete, noch verbleibende Bearbeitungszeit am kürzesten ist. Ein Prozess kann unterbrochen und aus der CPU verdrängt werden, wenn ein anderer Prozess bereit wird.

39 Scheduling Verschiedene Scheduling Verfahren: HRRN (Highest Response Ratio Next): Die Zuteilungsentscheidung beruht auf einer Schätzung der normalisierten Durchlaufzeit. Feedback: Es werden Warteschlangen eingerichtet, denen Prozesse aufgrund ihrer Ausführungsgeschichte und anderer Kriterien zugeteilt werden.

40 Scheduling Round Robin Beim Round Robin werden Prozesse, die wartend auf den Prozessor sind, nach dem FIFO-Prinzip in eine Warteschlange rechenbereit eingereiht. Wenn die Zeitscheibe abläuft wird der aktuell aktive Prozess aus dem Prozessor entnommen, hinten in die Warteschlange eingereiht und der nächste Prozess (erster in rechenbereit ) wird den Prozessor betreten. Dies passiert nicht nur wenn die Zeitscheibe abläuft, sondern auch wenn (gerade aktive) Prozesse terminiert werden.

41 Scheduling Nachteil Round Robin: Zwar arbeitet Round Robin in gewöhnlichem Timesharing-System effektiv aber: CPU- und E/A-lastige Prozesse werden unterschiedlich behandelt. E/A-lastiger Prozess belegt CPU nur für kurze Zeitdauer und wird dann wegen E/A-Zugriff blockiert wartet bis E/A-Operation abgeschlossen kehrt dann zurück zu den rechenbereiten Prozessen CPU-lastiger Prozess nutzt komplettes Zeitquantum aus und kehrt direkt in die Warteschlange der rechenbereiten Prozesse zurück. CPU-lastige Prozesse werden bevorzugt erhalten insgesamt mehr CPU-Zeit höhere Durchlaufzeit bei E/A-lastigen Prozessen

42 Scheduling Dynamic Priority Round Robin (DPRR) Das DPRR Verfahren besteht aus 2 Warteschlangen. Die Erste für anstehende Prozesse, es gilt die First Come First Served (FCFS) Strategie die Zweite für rechenbereite Prozesse. es gilt Round Robin

43 Scheduling

44 Scheduling

45 Scheduling

46 Scheduling

47 Scheduling Starvation: Ist ein Problem bei Priortäts-basiertem Scheduling: Threads mit niedriger Priorität verhungern. Lösungen: Aging (Unix): Priorität von CPU-lastigen Prozessen wird verringert Priorität lange wartender Prozesse erhöht Exponentielles Mitteln der CPU-Nutzung, um die Priorität blockierter Prozesse zu ehöhen Priority Elevation (Windows): Erhöhung der Priorität der Prozesse nach Erledigung von I/O System gibt verhungernden Threads einen extra Schub (burst) Quantum Stretching: Bevorzugung der GUI-aktiven Threads oder Bevorzugung I/O-lastiger Threads

48 Scheduling Prioritäten: Die Systeme unterhalten verschiedene Prioritätsgruppen: Echtzeitprioritäten, Variable Prioritäten, Background/Batch Prioritäten Prioritäten werden bei der Prozesserzeugung eingestellt(statische Priorität) und können während der Ausführung variieren (dynamische Priorität) Dynamische Prioritäten können durch explizite Aufforderung variieren (Linux: nice) und/oder Aufgrund von Messwerten im System geändert werden. Windows: Priority Boosting nach I/O Beendigung, nach Wartebedingungen, nach CPU Starvation Linux: bonus Werte nach durchschnittlicher Wartezeit und statischer Pirorität

49 Scheduling Quantum: Wird ein Thread zur Ausführung ausgewählt, läuft er für eine gewisse Zeit: Quantum Quantum Werte können von System zu System und von Prozess zu Prozess variieren Die Ausführung des Prozesses kann vor Ablauf des Quantums unterbrochen werden (z.b. Prozess höherer Priorität betritt das System) Die Länge des Quantums richtet sich nach der statischen Priorität eines Prozesses (Linux), sie kann dynamisch verändert werden (Quantum Boosting, Windows)

50 Scheduling Quantum: Ein Zeitquantum ist die Dauer, die der Prozess die CPU benutzen darf. Bei hoher Priorität (z.b. viele Ein- und Ausgabe Operationen) kann dieser Zeitraum verlängert werden. Der Prozess erhält eine längere Rechenzeit als sonst, man spricht von Quantum- Stretching.

51 Scheduling

Ü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

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

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

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

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

Mehr

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse) 5 CPU-Scheduling Im folgenden wird von Threads gesprochen. Bei Systemen, die keine Threads unterstützen, ist der einzige "Thread" eines Prozesses gemeint. Früher wurde dieser Thread synonym mit dem Begriff

Mehr

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

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

Mehr

Betriebssysteme I WS 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

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Wolfram Burgard

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

Mehr

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

Dämon-Prozesse ( deamon )

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

Mehr

5. Foliensatz Betriebssysteme und Rechnernetze

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

Mehr

Lösung von Übungsblatt 8

Lösung von Übungsblatt 8 Betriebssysteme (SS201) Lösung von Übungsblatt 8 Aufgabe 1 (Unterbrechungen) 1. Was sind Interrupts? Interrupts sind externe Unterbrechungen. Sie werden durch Ereignisse außerhalb des zu unterbrechenden

Mehr

3. Scheduler und Schedulingstrategien

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

Mehr

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

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

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

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

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

Mehr

Betriebssysteme 1. Einführung. Scheduling worum geht es? Scheduler: Gliederung

Betriebssysteme 1. Einführung. Scheduling worum geht es? Scheduler: Gliederung BS1-D Betriebssysteme 1 SS 2017 Prof. Dr.-Ing. Hans-Georg Eßer Fachhochschule Südwestfalen Einführung Foliensatz D: Scheduler v1.0, 2016/05/20 18.05.2017 Betriebssysteme 1, SS 2017, Hans-Georg Eßer Folie

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

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

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

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

Mehr

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

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

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

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

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

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

Mehr

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 I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

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

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

Übung zu Grundlagen der Betriebssysteme. 3. Übung 30.10.2012

Übung zu Grundlagen der Betriebssysteme. 3. Übung 30.10.2012 Übung zu Grundlagen der Betriebssysteme 3. Übung 30.10.2012 Aufgabe 1 Schließen Sie sich über die URL http://userpages.uni-koblenz.de/~mips/bs/anmeldung/ Bearbeitungsgruppen bestehend aus 3 Teilnehmern

Mehr

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

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

Mehr

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

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

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

Mehr

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

Threads and Scheduling

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

Mehr

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

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

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 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

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

Besprechung Aufgabe 5 (crawl) POSIX-Threads. Problem: UNIX-Prozesskonzept ist für viele heutige Anwendungen unzureichend

Besprechung Aufgabe 5 (crawl) POSIX-Threads. Problem: UNIX-Prozesskonzept ist für viele heutige Anwendungen unzureichend U7 6. Übung U7 6. Übung U7-1 Motivation von Threads U7-1 Motivation von Threads Besprechung Aufgabe 5 (crawl) OSIX-Threads Motivation Thread-Konzepte pthread-ai Koordinierung UNIX-rozesskonzept: eine Ausführungsumgebung

Mehr

U6-1 Organisatories. U6-2 Motivation von Threads. U6-3 Vergleich von Thread-Konzepten. Organisatorisches

U6-1 Organisatories. U6-2 Motivation von Threads. U6-3 Vergleich von Thread-Konzepten. Organisatorisches U6 6. Übung U6 6. Übung U6-1 Organisatories U6-1 Organisatories Organisatorisches Zusätzliche Tafelübung zur S1-Klaurvorbereitung Besprechung Aufgabe 5 (crawl) OSIX-Threads Motivation Thread-Konzepte am

Mehr

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

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

Mehr

Betriebssysteme. Teil 13: Scheduling

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

Mehr

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

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

Mehr

Threads. Foliensatz 8: Threads Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015

Threads. Foliensatz 8: Threads Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015 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]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)

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

Softwaresysteme I Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2007 U9.fm

Softwaresysteme I Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2007 U9.fm U9 9. Übung U9 9. Übung U9-1 Überblick Besprechung Aufgabe 6 (printdir) Posix-Threads U9.1 U9-2 Motivation von Threads U9-2 Motivation von Threads UNIX-Prozesskonzept: eine Ausführungsumgebung (virtueller

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

U9-3 Vergleich von Thread-Konzepten. U9-2 Motivation von Threads. U9-3 Vergleich von Thread-Konzepten (2) U9-1 Überblick

U9-3 Vergleich von Thread-Konzepten. U9-2 Motivation von Threads. U9-3 Vergleich von Thread-Konzepten (2) U9-1 Überblick U9 9. Übung U9 9. Übung U9-1 Überblick Besprechung Aufgabe 6 (printdir) Posix-Threads U9.1 User-Level Threads: Federgewichtige Prozesse Realisierung von Threads auf Anwendungsebene innerhalb eines Prozesses

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

Ü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

Klausur zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware

Klausur zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware Klausur zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, Dr. W. Wörndl, WS 2011/12) Die Bearbeitungsdauer beträgt 90 Minuten. Es sind keine Hilfsmittel zugelassen.

Mehr

Shared-Memory Programmiermodelle

Shared-Memory Programmiermodelle Shared-Memory Programmiermodelle mehrere, unabhängige Programmsegmente greifen direkt auf gemeinsame Variablen ( shared variables ) zu Prozeßmodell gemäß fork/join Prinzip, z.b. in Unix: fork: Erzeugung

Mehr

Proseminar KVBK : Scheduler unter Linux

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

Mehr

Modul B-PRG Grundlagen der Programmierung 1

Modul B-PRG Grundlagen der Programmierung 1 Modul B-PRG Grundlagen der Programmierung 1 Teil 3: Betriebssysteme, Dateisysteme,Sicherheit V20: Prozesse Prof. Dr. R. Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik

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

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

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

Mehr

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

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

Mehr

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

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

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

Musterlösung Prüfung WS 01/02

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

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

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

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

Mehr

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

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

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

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

PThreads. Pthreads. Jeder Hersteller hatte eine eigene Implementierung von Threads oder light weight processes

PThreads. Pthreads. Jeder Hersteller hatte eine eigene Implementierung von Threads oder light weight processes PThreads Prozesse und Threads Ein Unix-Prozess hat IDs (process,user,group) Umgebungsvariablen Verzeichnis Programmcode Register, Stack, Heap Dateideskriptoren, Signale message queues, pipes, shared memory

Mehr

8. Foliensatz Betriebssysteme

8. Foliensatz Betriebssysteme Prof. Dr. Christian Baun 8. Foliensatz Betriebssysteme Frankfurt University of Applied Sciences SS2016 1/56 8. Foliensatz Betriebssysteme Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

Mehr

Windows 2000 Scheduler

Windows 2000 Scheduler Windows 2000 Scheduler Konzepte von Betriebssystem Komponenten Friedrich Alexander Universität Erlangen Nürnberg Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Sommersemester 2005 Viktor

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

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

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

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

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

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

Mehr

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

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

Mehr

(b) Worin besteht der Unterschied zwischen online und offline Scheduling?

(b) Worin besteht der Unterschied zwischen online und offline Scheduling? Universität Paderborn Fachgebiet Rechnernetze SoSe 2013 Konzepte und Methoden der Systemsoftware Präsenzübung 3 2013-05-06 bis 2013-05-10 Aufgabe 1: Scheduling - Grundbegriffe Bekanntlich gibt es für das

Mehr

U8-1 Motivation von Threads. U8-2 Vergleich von Thread-Konzepten. U8-2 Vergleich von Thread-Konzepten (2) Motivation

U8-1 Motivation von Threads. U8-2 Vergleich von Thread-Konzepten. U8-2 Vergleich von Thread-Konzepten (2) Motivation U8 POSIX-Threads U8 POSIX-Threads U8-1 Motivation von Threads U8-1 Motivation von Threads Motivation Thread-Konzepte UNIX-Prozesskonzept: eine Ausführungsumgebung (virtueller Adressraum, Rechte, Priorität,...)

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

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

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

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen) Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen) 1 Prozesse Bei Betriebssystemen stoßen wir des öfteren auf den Begriff Prozess als wahrscheinlich am häufigsten verwendeter und am unklarsten

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

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

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

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

Mehr

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

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

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

Mehr

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 13.11.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Technische Informatik II. SoSe Jörg Kaiser IVS EOS

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

Mehr

Scheduling 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

Übung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012

Übung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012 Übung zu Grundlagen der Betriebssysteme 10. Übung 18.12.2012 Aufgabe 1 a) Was versteht man unter einem kritischen Abschnitt oder kritischen Gebiet (critical area)? b) Welche Aufgabe hat ein Semaphor? c)

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

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung)

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Hochschule München, FK 03 SS 2014 Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung

Mehr

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus Zur Erinnerung: Threads Programmierung (fortgeschrittene Konzepte) Threads, Monitore, Semaphore und speisende en Wolf-Ulrich Raffel (uli@wuraffel.de) Möglichkeiten, Threads zu definieren Bildung einer

Mehr

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

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

Mehr

VORSTELLUNG DER DIPLOMARBEIT

VORSTELLUNG DER DIPLOMARBEIT 1 VORSTELLUNG DER DIPLOMARBEIT Thomas Werner Inhaltsverzeichnis 2 Thema Aufgabenstellung Anwendungsdebugging Threads Remote Debugging Implementierung Ausblick Quellen 3 Thema Untersuchung von Funktionsabläufen

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen 3. QNX Neutrino Microkernel 3.1 Einführung Der Neutrino-Kernel (Betriebssystemkern) implementiert (nur) die wichtigsten Teile des

Mehr