Übung zu Grundlagen der Betriebssysteme. 8. Übung

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

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

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

Ü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

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

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

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

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

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

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Es kann maximal ein Prozess die Umladestelle benutzen.

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

Mehr

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

Dokumentation Schedulingverfahren

Dokumentation Schedulingverfahren Dokumentation Schedulingverfahren von Norbert Galuschek Gordian Maugg Alexander Hahn Rebekka Weissinger June 23, 2011 1 Contents 1 Aufgabe 3 2 Vorgehensweise 4 2.1 Warum Android.......................

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

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

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

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

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

Scheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung

Scheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung Scheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung Nicht-präemptives Scheduling: CPU kann einem Prozess nur entzogen werden, wenn er beendet oder blockiert ist Präemptives Scheduling: Aktueller

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

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

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

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

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

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

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

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

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

Tipps und Tricks zu Netop Vision und Vision Pro

Tipps und Tricks zu Netop Vision und Vision Pro Tipps und Tricks zu Netop Vision und Vision Pro Anwendungen auf Schülercomputer freigeben und starten Netop Vision ermöglicht Ihnen, Anwendungen und Dateien auf allen Schülercomputern gleichzeitig zu starten.

Mehr

Übung 8: Semaphore in Java (eigene Implementierung)

Übung 8: Semaphore in Java (eigene Implementierung) Übung 8: Semaphore in Java (eigene Implementierung) Ziel der Übung: Diese Übung dient dazu, eine eigene Implementierung einer Semaphore-Klasse in der Programmiersprache Java kennenzulernen. Anschließend

Mehr

1. Allgemeines zum tevitel.wq-monitor Seite 3. 2. WQ-Monitor konfigurieren Seite 4

1. Allgemeines zum tevitel.wq-monitor Seite 3. 2. WQ-Monitor konfigurieren Seite 4 tevitel.wq-monitor Inhaltsverzeichnis 1. Allgemeines zum tevitel.wq-monitor Seite 3 2. WQ-Monitor konfigurieren Seite 4 2.1 Einstellungen Message-Server Seite 4 3.2 Einstellungen Warteschlangen Seite 5

Mehr

Echtzeitscheduling (1)

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

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

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

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Native Zeichenketten (C-Strings)

Native Zeichenketten (C-Strings) Native Zeichenketten (C-Strings)... sind in C/C++ char-arrays. D.h. die Deklaration char msg[80]; kann Zeichenketten bis zur Länge 79 enthalten. (Direkte Zuweisungen wie msg="hallo!" sind jedoch nicht

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

1 topologisches Sortieren

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

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Partitionieren in Vista und Windows 7/8

Partitionieren in Vista und Windows 7/8 Partitionieren in Vista und Windows 7/8 Windows Vista und Windows 7 können von Haus aus Festplatten partitionieren. Doch die Funktion ist etwas schwer zu entdecken, denn sie heißt "Volume verkleinern".

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

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Lehrer: Einschreibemethoden

Lehrer: Einschreibemethoden Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder

Mehr

Monitore. Klicken bearbeiten

Monitore. Klicken bearbeiten Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition

Mehr

Marketing-Leitfaden zum. Evoko Room Manager. Touch. Schedule. Meet.

Marketing-Leitfaden zum. Evoko Room Manager. Touch. Schedule. Meet. Marketing-Leitfaden zum Evoko Room Manager. Touch. Schedule. Meet. Vorher Viele kennen die Frustration, die man bei dem Versuch eine Konferenz zu buchen, erleben kann. Unterbrechung. Plötzlich klopft

Mehr

Formular»Fragenkatalog BIM-Server«

Formular»Fragenkatalog BIM-Server« Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument

Mehr

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Frau Dr. Eva Douma ist Organisations-Beraterin in Frankfurt am Main Das ist eine Zusammen-Fassung des Vortrages: Busines

Mehr

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster

Mehr

Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005

Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 1. Vorwort 1 2. Systemvoraussetzungen 2 3. Programmarten 2 4. Sicherheit der Endnutzer 2 5. Handhabung 3 5.1 allgemeine Programmübersicht 3 5.2

Mehr

PVL 3 - Roulette. (5 Punkte) Abgabe bis 20.12.2015

PVL 3 - Roulette. (5 Punkte) Abgabe bis 20.12.2015 PVL 3 - Roulette (5 Punkte) Abgabe bis 20.12.2015 Beim Roulette wird in jeder Runde eine von 37 Zahlen (0-36) ausgespielt. Dabei können Geldbeträge direkt auf eine Zahl zwischen 1 und 36 gesetzt werden

Mehr

Anleitung Grundsetup C3 Mail & SMS Gateway V02-0314

Anleitung Grundsetup C3 Mail & SMS Gateway V02-0314 Anleitung Grundsetup C3 Mail & SMS Gateway V02-0314 Kontakt & Support Brielgasse 27. A-6900 Bregenz. TEL +43 (5574) 61040-0. MAIL info@c3online.at loxone.c3online.at Liebe Kundin, lieber Kunde Sie haben

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

Windows Server 2008 (R2): Anwendungsplattform

Windows Server 2008 (R2): Anwendungsplattform Mag. Christian Zahler, Stand: August 2011 13 14 Mag. Christian Zahler, Stand: August 2011 Mag. Christian Zahler, Stand: August 2011 15 1.5.2 Remotedesktop-Webverbindung Windows Server 2008 (R2): Anwendungsplattform

Mehr

Monitoring-Service Anleitung

Monitoring-Service Anleitung Anleitung 1. Monitoring in CrefoDirect Wie kann Monitoring über CrefoDirect bestellt werden? Bestellung von Monitoring beim Auskunftsabruf Beim Auskunftsabruf kann das Monitoring direkt mitbestellt werden.

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

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Backup der Progress Datenbank

Backup der Progress Datenbank Backup der Progress Datenbank Zeitplandienst (AT): Beachten Sie bitte: Die folgenden Aktionen können nur direkt am Server, vollzogen werden. Mit Progress 9.1 gibt es keine Möglichkeit über die Clients,

Mehr

LPT1 Anschluss mit PCMCIA Karte

LPT1 Anschluss mit PCMCIA Karte 1. Allgemeines LPT1 Anschluss mit PCMCIA Karte verwendete Hardware: Lenze PC Systembusadapter EMF 2173-V003 PCMCIA Karte Firma QUATECH Typ SPP-100 Auf die Installation der PCMCIA Karte wird hier nicht

Mehr

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst. 40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

A Lösungen zu Einführungsaufgaben zu QueueTraffic

A Lösungen zu Einführungsaufgaben zu QueueTraffic A Lösungen zu Einführungsaufgaben zu QueueTraffic 1. Selber Phasen einstellen a) Wo im Alltag: Baustelle, vor einem Zebrastreifen, Unfall... 2. Ankunftsrate und Verteilungen a) poissonverteilt: b) konstant:

Mehr

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

Übung 9 - Lösungsvorschlag

Übung 9 - Lösungsvorschlag Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe

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

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

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

GRS SIGNUM Product-Lifecycle-Management

GRS SIGNUM Product-Lifecycle-Management GRS SIGNUM Product-Lifecycle-Management Das optionale Modul Product-Lifecycle-Management stellt eine mächtige Ergänzung zum Modul Forschung & Entwicklung dar. Folgende Punkte werden dabei abgedeckt: Definition

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Bedienungsanleitung für den Online-Shop

Bedienungsanleitung für den Online-Shop Hier sind die Produktgruppen zu finden. Zur Produktgruppe gibt es eine Besonderheit: - Seite 1 von 18 - Zuerst wählen Sie einen Drucker-Hersteller aus. Dann wählen Sie das entsprechende Drucker- Modell

Mehr

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS Analyse zum Thema: Laufzeit von Support-Leistungen für Axel Oppermann Advisor phone: +49 561 506975-24 mobile: +49 151 223 223 00 axel.oppermann@experton-group.com Januar 2010 Inhalt Summary und Key Findings

Mehr

ITT WEB-Service DEMO. Kurzbedienungsanleitung

ITT WEB-Service DEMO. Kurzbedienungsanleitung ITT WEB-Service DEMO Kurzbedienungsanleitung Allgemein ITT Water & Wastewater Deutschland GmbH ermöglicht es Kunden Ihre Abwasseranlagen auf eine Leitzentrale bei ITT W & WW in Hannover aufschalten zu

Mehr

Kurzanleitung MAN E-Learning (WBT)

Kurzanleitung MAN E-Learning (WBT) Kurzanleitung MAN E-Learning (WBT) Um Ihr gebuchtes E-Learning zu bearbeiten, starten Sie bitte das MAN Online- Buchungssystem (ICPM / Seminaris) unter dem Link www.man-academy.eu Klicken Sie dann auf

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY Vorteile der Verwendung eines ACTIVE-DIRECTORY Automatische GEORG Anmeldung über bereits erfolgte Anmeldung am Betriebssystem o Sie können sich jederzeit als

Mehr

Teil 1: IT- und Medientechnik

Teil 1: IT- und Medientechnik Matrikelnummer Punkte Note Verwenden Sie nur dieses Klausurformular für Ihre Lösungen. Die Blätter müssen zusammengeheftet bleiben. Es dürfen keine Hilfsmittel oder Notizen in der Klausur verwendet werden

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

Verwendung des Terminalservers der MUG

Verwendung des Terminalservers der MUG Verwendung des Terminalservers der MUG Inhalt Allgemeines... 1 Installation des ICA-Client... 1 An- und Abmeldung... 4 Datentransfer vom/zum Terminalserver... 5 Allgemeines Die Medizinische Universität

Mehr

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

Mehr

Fachhochschule Bochum Fachhochschule Münster Fachhochschule Südwestfalen

Fachhochschule Bochum Fachhochschule Münster Fachhochschule Südwestfalen Fachhochschule Bochum Fachhochschule Münster Fachhochschule Südwestfalen Verbundstudiengang Technische Betriebswirtschaft Prof. Dr. rer. nat. habil. J. Resch Teilprüfung: Mathematik 1 (Modul) Termin: Februar

Mehr