Technische Informatik II (TI II) (7) Synchronisation. Sebastian Zug Arbeitsgruppe: Embedded Smart Systems
|
|
- Moritz Kaufer
- vor 6 Jahren
- Abrufe
Transkript
1 1 Technische Informatik II (TI II) (7) Synchronisation Sebastian Zug Arbeitsgruppe: Embedded Smart Systems
2 2 Fragen an die Veranstaltung Warum bedarf es weitergehender Ansätze als die in der vergangenen Vorlesung beschriebenen Hard- und Softwaremethoden zum Schutz kritischer Abschnitte? Wo liegen die Nachteile des Semaphorkonzepts? Welche Formen des Semaphors sind Ihnen bekannt? Welchen Unterschied sehen Sie zwischen dem Konzept des Semaphors und dem des Monitors? Unter welchen Bedingungen kann ein Deadlock auftreten? Erläutern Sie die 4 Kriterien anhand eines alltäglichen Beispiels! Erläutern Sie das Vorgehen bei der Anwendung des Bankier-Algorithmus. Was beschreiben die verwendeten Matrizen? Welche Varianten werden bei der Deadlockerkennung und Deadlockvermeidung angewandt? Was versteht man unter einem sicheren/unsicheren Zustand? Welcher Idee folgt der Ansatz der Ressourcenspur? Wie lässt sich damit ein möglicher Deadlock erkennen?
3 3 Literatur Bücher Operating Systems Internals and Design Principles, Seventh Edition, William Stallings Modern Operating Systems (3rd Edition), Andrew Tanenbaum Webseiten
4 4 Probleme der bisherigen Lösungen aktives Warten vollständig auf Anwendungsebene konzipierter Mechanismus keine Garantie gegen Verhungern Verklemmungen können auftreten P 0, hohe Priorität P 0 unterbricht P 1 P 0 möchte KA betreten, der von P 1 gesperrt ist. P 0 geht in seine aktive Warteschleife und verhindert, dass P 1 jemals den KA verlässt. P 1, niedrige Priorität Prioritätsumkehr P 1 betritt kritischen Abschnitt
5 5 Weitergehende Zielstellungen Einbettung des Konzepts in das Betriebssystem oder in die Programmiersprache. Allgemeiner Mechanismus für die "Kooperation sequentieller Prozesse" Kein aktives Warten mehr. Leicht zu verstehen und zu handhaben Semaphore (1965, Edsger W. Dijkstra, ) Monitore (1974, Sir Charles Antony Richard (C.A.R.) Hoare, 1934)
6 6 Semaphor Tour du telegraphe Chappe Saverne Winkeralphabet "Semaphor griech. von sema (Zeichen) und pherein (tragen) Formsignale Eisenbahn
7 7 Semaphor als Schutzmechanismus Eingeführt durch Edsger Wybe Dijkstra (1965) Gleichermaßen für Reihenfolgensynchronisation und wechselseitigen Ausschluss geeignet Abbildung der verfügbaren Ressourcen auf eine integer Variable Wert kann auf nichtnegative Zahl initialisiert werden zwei atomare Operationen: - P() (hol. prolaag, erniedrige ) (auch wait, down oder acquire) verringert Wert um 1 falls Wert < 0: Thread blockieren - V() (hol. Verhoog, erhöhe ) (auch signal, up oder release) erhöht Wert um 1 falls Wert 0: einen blockierten Thread wecken zuteilen (dispatching) Aktivierung (activation) bereit unterbrechen (preemtion) ausführend Ende V(S) (signal S) blockiert P(S) (wait S)
8 8 Semaphore Initialisierung mit einem Wert 0: S=1 Operation wait (P): verringert den Wert eines Semaphors. S= S-1 Ist S < 0, wird der Prozess blockiert. signal (V): erhöht den Wert des Semaphors. S= S+1 Ist S 0, wird ein durch wait blockierter Prozess freigegeben. signal und wait sind atomare Operationen. Wert eines Semaphors: positiver Wert: Anzahl der zur Verfügung stehenden Betriebsmittel. negativer Wert: Anzahl der wartenden Prozesse.
9 9 sem 1 1 wait(sem) 0 A B C Wechselseitiger Ausschluss mit einem Semaphor 10-1 B wait(sem) -2 B C 10-2 BC C wait(sem) 10-1 signal(sem) Für jedes Betriebsmittel gibt es genau 1 Semaphor! 100 C signal(sem) 101 C signal(sem)
10 10 Semaphoroperationen struct Semaphor { int count; ThreadQueue queue; } Ressourcenvariable Queue der durch den kritischen Abschnitt blockierten Tasks void P(Semaphor &s) { s.count ; if (s.count < 0) { Thread in s.queue einlagern; Thread blockieren; } } void V(Semaphor &s) { s.count++; if (s.count <= 0) { Thread T aus s.queue entnehmen; Thread T als bereit markieren; } } Hinweis: Tanenbaum definiert Semaphore etwas anders (Zähler zählt höchstens bis 0 herunter) Abbildung der blockierten Threads
11 11 Semaphore Anwendung für Mutual Exclusion T 1 T 2 (P, wait, down) (V, signal, up) Wait (S k ) use resource S k signal (S k ) Ressource R k Wait (S k ) use resource S k signal (S k )
12 12 Semaphore Anwendung für Abhängigkeiten T 1 T 2 (V, signal, up) Erzeugen einer Datei signal (S k ) Datei Wait (S k ) Schreiben in Datei
13 13 Semaphor-Varianten Binäre Semaphore: Genau 1 Prozess darf in den KA eintreten. Alle anderen Prozesse werden in eine WS eingeordnet. Semaphor wird mit 1 initialisiert. struct binary_semaphore{ enum (ZERO, ONE) value; queuetype queue; }; void wait(binary_semaphore s){ if (s.value == ONE) s.value = ZERO; else{ diesen Prozess in s.queue ablegen; diesen Prozess blockieren;} } void signal(semaphore s){ if (s.queue.is empty()) s.value = ONE; else{ einen Prozess P aus s.queue entfernen; Prozess P in Liste bereiter Prozesse ablegen; } } Zählende Semaphore: Mehrere Prozesse dürfen in einen KA eintreten. Semaphor wird mit n initialisiert. Wird n überschritten, werden Prozesse in eine WS eingeordnet. struct semaphore{ int count; queuetype queue; }; void wait(semaphore s) { s.count--; if (s.count < 0) { diesen Prozess in s.queue ablegen; diesen Prozess blockieren } } void signal(semaphore s){ s.count++; if (s.count <= 0) { einen Prozess P aus s.queue entfernen; Prozess P in Liste bereiter Prozesse ablegen; } }
14 14 Semaphoren auf der Betriebssystemebene Eng verbunden mit Thread- Implementierung Bei Kernel-Threads: - Implementierung im BS- Kern - Operationen sind Systemaufrufe - atomare Ausführung durch Interrupt-Sperre und Spinlocks gesichert Zum Beispiel im Posix-Standard für Mutex-Operationen hinterlegt: // Initialisation pthread_mutex_init (mutex,attr), pthread_mutex_destroy (mutex) // Locking and Unlocking Mutexes pthread_mutex_lock (mutex), pthread_mutex_trylock (mutex) pthread_mutex_unlock (mutex) // Conditionen int pthread_cond_init (pthread_cont_t *cond, pthread_condaddr_t *attr); int pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex);
15 pthreadssemaphor.c #include<stdio.h> #include<string.h> #include<pthread.h> #include<stdlib.h> #include<unistd.h> pthread_t tid[2]; int counter; int maxcount= ; int value; pthread_mutex_t lock; void* dosomething(void *arg){ unsigned long i = 0; pthread_mutex_lock(&lock); counter += 1; printf("job %d started\n", counter); for(i=0; i<(maxcount);i++){ value++; } printf("job %d finished\n", counter); pthread_mutex_unlock(&lock); return NULL; } int main(void){ int i = 0; int err; } Technische Informatik II if (pthread_mutex_init(&lock, NULL)!= 0){ printf("mutex init failed\n"); return 1; } while(i < 2) { err = pthread_create(&(tid[i]), NULL, &dosomething, NULL); if (err!= 0) printf("%s", strerror(err)); i++; } pthread_join(tid[0], NULL); pthread_join(tid[1], NULL); printf("\n Value of value \n"); printf (intended %d): %d\n", i*maxcount, value); return 0; 15
16 16 Ergebnis gcc -o pthreadssemaphorextern pthreadssemaphor.c lpthread Job 1 started Job 1 finished Job 2 started Job 2 finished Resulting value of value (intended ): Die beiden Threads werden korrekt ausgeführt! Die Ausführungsdauer liegt im Mittel bei 0.55s
17 pthreadssemaphor.c #include<stdio.h> #include<string.h> #include<pthread.h> #include<stdlib.h> #include<unistd.h> Technische Informatik II 17 pthread_t tid[2]; int counter; int maxcount= ; int value; pthread_mutex_t lock; void* dosomething(void *arg){ unsigned long i = 0; counter += 1; printf("job %d started\n", counter); for(i=0; i<(maxcount);i++){ pthread_mutex_lock(&lock); value++; pthread_mutex_unlock(&lock); } printf("job %d finished\n", counter); return NULL; } Probleme: 1. Overhead durch den Moduswechsel in den Kernel, bei jedem Aufruf der Mutex-Funktionen. 2. Counter Variable ist nicht mehr geschützt
18 18 Beurteilung Semaphore Zusammenfassung Allgemeines, leistungsfähiges Konzept zur Koordinierung nebenläufiger Prozesse. Kontrolle über die Anzahl von Prozessen, die eine Ressource nutzen wollen. Spezialfall: wechselseitiger Ausschluss. Kritik: wait und signal sind low level Programmierkonstrukte wait und signal können über das ganze Programm verteilt sein schwer zu kontrollieren Korrektheit schwer nachzuweisen
19 19 Monitore ist ein Modul, in dem die von Prozessen gemeinsam genutzten Daten und ihre Zugriffsprozeduren (oder Methoden) zu einer Einheit zusammengeführt sind. Zugriffsprozeduren mit kritischen Abschnitten auf den Daten werden als Monitor-Operationen speziell gekennzeichnet. Monitor-Operationen werden unter wechselseitigem Ausschluss ausgeführt, ohne dass im Programmcode Synchronisationsanweisungen notiert werden müssen. - bei erfolgreichem Prozeduraufruf sperrt der Monitor - bei Prozedurrückkehr wird der Monitor wieder entsperrt - ein Kompiler setzt die dafür notwendigen Anweisungen ab Vorteil: Keine direkte Adressierung von Schutzmechanismen im Programmcode
20 20 Monitor - Bedingungsvariablen Notwendig für die Reihenfolgensynchronisa tion zwischen Monitorprozeduren Definition eines Regelsatzes zur Entwurfszeit
21 21 Probleme Deadlock Verhungern eines Prozesses P Starvation = Verhungern = Ausführung von P undefiniert verzögert Es besteht Hoffnung P wird nicht zur Ausführung kommen, sofern kein Eingriff erfolgt Es besteht keine Hoffnung
22 22 Die speisenden Philosophen /* globaler semaphor initialisiert mit 1 */ Semaphor binsem = 1; /* Philosoph(i) (i=1...n, N=5 */ philosopher(i) { philosophise(); down(binsem); take_fork(i); take_fork((i + 1) % N); eat(); put_fork(i); put_fork((i + 1) % N); up(binsem); }
23 23 Typische Deadlock Situation im Straßenverkehr Deadlock möglich
24 24 Typische Deadlock Situation im Straßenverkehr Deadlockgefahr
25 25 Deadlockgefahr
26 26 Typische Deadlock Situation im Straßenverkehr Deadlock noch zu verhindern
27 27 Typische Deadlock Situation im Straßenverkehr Deadlock
28 28 Bedingungen für Deadlocks Wechselseitiger Ausschluss Jede Ressource ist entweder von exakt einem Prozess besetzt oder verfügbar. Behalten und Warten (Hold & Wait) Prozesse, die bereits bestimmte Ressourcen belegen, können weitere nachfordern. Keine Unterbrechung Ein Prozess kann eine Ressource nur freiwillig wieder abgeben, es ist kein Entzug von Ressourcen von außen möglich Zyklisches Warten Zwei Prozesse fordern Ressourcen an, die vom jeweils anderen belegt sind. Designentscheidungen dynamisch entstehende Situation
29 29 Typische Deadlock Situation im Straßenverkehr Deadlock
30 30 Modellieren von Deadlocks mittels Graphen A hält die Ressource R B fordert die Ressource S an Deadlock
31 31 Beispiel Processes Ressourcen Deadlock! Deadlock frei!
32 Source: Technische Informatik II 32 Strategien zum Umgang mit Deadlocks 1.Ignorieren (Vogel-Strauß-Ansatz) 2.Erkennen und Behandeln. 3.Dynamisch vermeiden durch vorsichtige Belegung von Ressourcen. 4.Verhindern, indem man erreicht, dass eine der 4 Bedingungen nicht eintreten kann.
33 33 2a Deadlocks erkennen Eine Ressource pro Typ Zyklusidentifikation mittels Baumsuche: 1. Initialisiere eine Liste der bereits erreichten Knoten L 2. Vermerke alle Kanten als unmarkiert 3. Wiederhole bis ein Knoten mehrmals in der Liste vorkommt oder alle Kanten markiert sind: a) Schreibe den aktuellen Knoten in L b) Überprüfe ob vom aktuellen Knoten unmarkierte Kanten wegführen c) Wenn ja, wähle zufällig eine aus und markiere sie. Der folgende Knoten wird zum aktuellen Knoten.
34 34 2a Deadlocks erkennen Mehrere Ressourcen pro Typ M Ressourcen, n Prozesse Ressourcenvektor Verfügbarkeitsvektor Ressource 1 Belegungsmatrix (C) Ressource m Prozess 1 Anforderungsmatrix (R) Prozess n Invariante für die Ressourcenverteilung: n i=1 C ij + A j = E j
35 35 Beispiel - Beziehungen Ressourcenvektor (E) P1 P2 Belegungsmatrix Anforderungsmatrix R1 R2 R3 R1 R2 R P P Verfügbarkeitsvektor (A) Zuteilungsvektor n i=1 C ij + A j = E j i: Prozess j: Ressource SC i,1 + A 1 = 3 +1 = E 1 = 4 SC i,2 + A 2 = 6 +0 = E 2 = 6 SC i,3 + A 3 = 2 +0 = E 3 = 2
36 36 2a Deadlock-Erkennungsmechanismus Sei die Relation auf der Menge der Vektoren definiert als: A B genau dann wenn A i B i für alle i mit 1 i n Der Deadlock-Erkennungsalgorithmus läuft folgendermaßen ab: 1. Suche einen unmarkierten Prozess P i, für den die i-te Zeile von R kleiner oder gleich A ist. 2. Wenn ein solcher Prozess existiert, addiere die i-te Zeile von C zu A, markiere den Prozess und gehe zu Schritt Andernfalls beende den Algorithmus. Wenn der Algorithmus beendet ist, sind alle nicht markierten Prozesse an einem Deadlock beteiligt.
37 37 Deadlock Situationen P1 P2 P3 P4 Belegungsmatrix (C) R1 R2 R Anforderungsmatrix (R) R1 R2 R3 P P P P Ressourcenvektor (E) Verfügbarkeitsvektor (A) Deadlock!!
38 38 2b Deadlocks behandeln Ansatz Idee Umsetzbarkeit Unterbrechung eines Prozesses und zeitweiser Entzug von Ressourcen Zurücksetzen und Wiederholen (Rollback) Abbruch eines oder mehrerer Prozesse Manuelles Vorgehen Einführung von Checkpoints, die als Wiedereinsprungstellen dienen Schwierig Overhead notwendig Auswahl eines geeigneten Prozesses schwierig
39 39 3. Deadlockvermeidung Sichere / unsichere Zustände Erkennung sicherer und unsicherer Zustände Def.: Ein sicherer Zustand ist ein Zustand, von dem aus mindestens eine Ausführungsreihenfolge existiert, die nicht zu einem Deadlock führt, d.h. alle Prozesse können bis zum Abschluss ablaufen. Anmerkung: ein unsicherer Zustand muss nicht zwangsläufig in eine Verklemmung führen es müssen ja nicht alle Prozesse (sofort) ihre Maximalforderungen stellen!
40 40 3. Deadlockvermeidung - Ressourcenspur Grafische Darstellung der Belegungssituation einer Ressource über der Zeit. Verbotene Bereiche illustrieren einen mehrfachen Zugriff auf die Ressource Ziel: Gültigen Pfad zwischen Koordinaten Ursprung und rechts oben finden
41 41 3. Deadlockvermeidung Bankieralgorithmus Durch angepassten Matrix-Algorithmus zur Deadlock-Erkennung Der aktuelle Zustand des Systems ist durch E, A und C beschrieben vorhandene, freie und belegte Ressourcen, R beschreibt nun die maximalen zukünftigen Forderungen Der Zustand ist genau dann sicher, wenn der Algorithmus für diese Werte von E, A, C und R keine Verklemmung erkennt. Bankier-Algorithmus (Dijkstra 1965): 1. Suche eine Zeile in R, die kleiner oder gleich A ist. Wenn es keine solche Zeile gibt, kann kein Prozess beendet werden --> unweigerlich Deadlock. 2. Prozess kann alle notwendigen Ressourcen reservieren und terminieren. Markiere den Prozess als beendet und addiere Ressourcen zu A. 3. Wiederholung von 1 und 2 bis alle Prozesse markiert sind oder Deadlocksituation erkannt wird.
42 42 3. Deadlockvermeidung Bankieralgorithmus BS teilt Ressource nur dann zu, wenn dadurch auf keinen Fall ein Deadlock entstehen kann dazu: BS prüft bei jeder Ressourcenanforderung, ob der Zustand nach der Anforderung noch sicher ist falls ja, wird die Ressource zugeteilt falls nein, wird der anfordernde Prozess blockiert sehr vorsichtige (restriktive) Ressourcenzuteilung! Voraussetzung: Der Bankieralgorithmus muss dazu die (maximalen) zukünftigen Forderungen aller Prozesse kennen! in der Praxis i.a. nicht erfüllbar Verfahren nur für spezielle Anwendungsfälle tauglich
43 43 4. Deadlock Verhinderung Problem Wechselseitiger Ausschluss Hold & Wait Ununterbrechbarkeit Zyklisches Warten Versuch der Problemlösung Keine generelle Lösung! Ressourcen alle auf einmal anfordern Ressourcen wegnehmen Ressourcen nummerieren
44 44 Zusammenfassung: Nebenläufigkeit und Synchronisation Interprozesskommunikation (IPC) erfordert Datentransfer und Synchronisation. Wechselseitiger Ausschluss und kritischer Abschnitt. Dekker's Algorithmus als Softwarelösungen und Unterstützung durch unteilbare (Maschinen-) Operationen. Das Semaphorkonzept von Djikstra als leistungsfähiger Synchronisationsmechanismus. Nebenläufigkeitsprobleme Deadlock (Verklemmung) und Starvation (Verhungern). Auslöser: Wechselseitiger Ausschluss, Besitzen und Warten, kein Ressourcenentzug, zyklisches Warten. Erkennung und Vermeidung von Deadlocks. Bankiersalgorithmus und sichere Zustände.
45 45 Bis zur nächsten Woche
Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme Tel.: 0271/ , 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: 19. Dezember 2013 Betriebssysteme / verteilte Systeme
MehrTechnische Informatik II. SoSe 2013. Jörg Kaiser IVS EOS
Synchronisation SoSe 2013 Jörg Kaiser IVS EOS Otto-von-Guericke-Universität Magdeburg 1 1 Prozessinteraktion: Kommunikation, Koordination, Kooperation Problemformulierung Das Problem: Nebenläufigkeit +
MehrPThreads. 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
MehrTechnische Informatik II (TI II) (6) Synchronisation. Sebastian Zug Arbeitsgruppe: Embedded Smart Systems
1062015 1 Jun-Prof Dr Sebastian Zug Technische Informatik II (TI II) (6) Synchronisation Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 1062015 2 Jun-Prof Dr Sebastian Zug Fragen an die Veranstaltung
MehrÜ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)
MehrSoftwaresysteme 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
Mehr9. Vorlesung Betriebssysteme
Dr. Christian Baun 9. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/39 9. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik wolkenrechnen@gmail.com Dr. Christian
MehrBetriebssysteme - Deadlocks
Betriebssysteme - Deadlocks alois.schuette@h-da.de Version: (8c45d65) ARSnova 19226584 Alois Schütte 23. März 2016 1 / 41 Inhaltsverzeichnis Dieser Teil erörtert das Problem von Deadlocks (Verklemmungen):
MehrTafelübung zu BSRvS1. 3. Philosophen. Fortsetzung Grundlagen C-Programmierung
Tafelübung zu BSRvS1 3. Philosophen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/exercises/
MehrU9-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
MehrDeadlocks. Christoph Lindemann. Betriebssysteme. Betriebssysteme WS 2004/05. Fahrplan. Inhalt. Das Deadlock Problem
Betriebssysteme WS 2004/05 Deadlocks Christoph Lindemann Fahrplan 14.10. Organisation der Vorlesung, Einführung in Betriebssysteme 21.10. Strukturen von Betriebssystemen 28.10. Prozesse und Threads 4.11.
MehrInhaltsverzeichnis. 4.1 Systemmodell und notwendige Bedingungen. 4.2 Gegenmaßnahmen
Inhaltsverzeichnis 4.1 Systemmodell und notwendige Bedingungen Was sind Deadlocks? Darstellungsarten von Prozessabhängigkeiten Notwendige Bedingungen für Deadlocks 4.2 Gegenmaßnahmen Deadlock-Prevention
MehrDie Anweisungen zweier Prozesse werden parallel bearbeitet, wenn die Anweisungen unabhängig voneinander zur gleichen Zeit ausgeführt werden.
7 Parallelität und Nebenläufigkeit Mehrere Prozessen oder Threads Parallelität Die Anweisungen zweier Prozesse werden parallel bearbeitet, wenn die Anweisungen unabhängig voneinander zur gleichen Zeit
MehrDeadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File
Kapitel V Deadlocks (Verklemmungen) 1 Deadlocks System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File Prozesse benötigen Genehmigung vor der Benutzung von Ressourcen.
Mehr2. Aufgabenblatt Threads
Fakultät Informatik Institut für Systemarchitektur, Professur für Betriebssysteme Betriebssysteme und Sicherheit, WS 2016/17 2. Aufgabenblatt Threads Geplante Bearbeitungszeit: drei Wochen TEIL A THREADS
MehrBetriebssysteme BS-H WS 2014/15. Hans-Georg Eßer. Foliensatz H: Zusammenfassung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/01/10
BS-H Betriebssysteme WS 2014/15 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz H: Zusammenfassung v1.0, 2015/01/10 10.01.2015 Betriebssysteme, WS 2014/15, Hans-Georg Eßer Folie H-1 Übersicht: BS
Mehrleave: mov flag, 0 ; 0 in flag speichern: Lock freigeben ret
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Übung zu Grundlagen der Betriebssysteme. 11. Übung
Übung zu Grundlagen der Betriebssysteme 11. Übung 08.01.2012 Organisation Anmeldung zur Klausur Klausur Grundlagen der Betriebssysteme Datum: 05.02.2013 Raum F414 (steht aber noch nicht sicher fest) Anmeldung
MehrAufgaben zum Thema Verklemmungen
Aufgaben zum Thema Verklemmungen V1. Untersuchen Sie das folgende Prozeßsystem auf das Auftreten von Deadlocks (s1, s2, s3: binäre Semaphore, mit true initialisiert): 95/5 Prozeß 1 Prozeß 2 Prozeß 3 P(s1);
MehrInhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:
Inhaltsverzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6
MehrProzeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen
Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von
MehrSpeicherbasierte Kommunikation (T) Realisierung von Semaphoren (T) Shared Memory (P) Synchronisation mittels Semaphoren (P)
Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom 26.11. Foliensatz 5 Speicherbasierte Kommunikation (T) Realisierung von Semaphoren (T) Shared Memory (P) Synchronisation mittels Semaphoren
MehrKlausur zur Vorlesung Grundlagen der Betriebssysteme
Prof. Dr. L. Wegner Dipl.-Math. K. Schweinsberg Klausur zur Vorlesung Grundlagen der Betriebssysteme 19.2.2004 Name:... Vorname:... Matrikelnr.:... Studiengang:... Hinweise: Bearbeitungszeit 2 Stunden.
MehrLinux Prinzipien und Programmierung
Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 28 Kritische Bereiche bei Threads Deadlocks Conditions/Semaphore 2 / 28 Beispiel aus der letzten Vorlesung
MehrTechnische 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(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#define N 5 // Anzahl der Philosophen. while (TRUE) { // Der Philosoph denkt
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)
MehrSysteme I: Betriebssysteme Kapitel 5 Nebenläufigkeit und wechselseitiger Ausschluss. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 5 Nebenläufigkeit und wechselseitiger Ausschluss Maren Bennewitz Version 12.12.2012 1 Nachtrag zu letzter Vorlesung Hauptspeicher reicht nur für begrenzte Anzahl von
MehrSoftwarelösungen: Versuch 4
Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]
MehrBetriebssysteme (BS)
Betriebssysteme (BS) Probeklausur Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/ http://ess.cs.tu-dortmund.de/de/teaching/ss2014/bs/
MehrProzessor (CPU, Central Processing Unit)
G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher
MehrVerbessertes Konzept: Monitore
Verbessertes Konzept: Monitore Ein Nachteil von Semaphoren ist die Notwendigkeit zur expliziten Anforderung P und Freigabe V des kritischen Bereiches durch den Programmierer Vergißt der Entwickler z.b.
MehrUniversität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Übung 5: Semaphoren
Universität Stuttgart Prof. Dr.-Ing. Dr. h. c. P. Göhner Aufgabe 5.1: Übung 5: Semaphoren Semaphor-Operationen In Bild 5.1.1 ist die Anordnung von Semaphor-Operationen am Anfang und am e der asks A,B,C
MehrProzesse. Prozesse sind Programme. Prozesse können aus Unterprozessen bestehen. Prozesshierarchie Unterprozesse Threads
Threads Prozesse, Parallelität, Nebenläufigkeit, Threads, Erzeugung, Ausführung, Kommunikation, Interferenz, Kritischer Bereich, Deadlock, Synchronisation. Prozesse Prozesse sind Programme mehrere Prozesse
MehrKapitel 5 Verklemmungsprobleme. Verklemmungsprobleme
Kapitel 5 Verklemmungsprobleme 221 Verklemmungsprobleme Betriebsmittel A 1 Betriebsmittel E 4 Betriebsmittel B Betriebsmittel D 5 2 Betriebsmittel C 3 Beispiel: A P(MBand) P(Drucker) B : : V(Drucker) V(MBand)
MehrProseminar Nichtsequentielle Programmiersprachen WS 2011/2012 Monitore
Fachbereich Mathematik und Informatik Institut für Informatik Proseminar Nichtsequentielle Programmiersprachen WS 2011/2012 Monitore Sascha Kretzschmann 2. November 2011 Inhaltsverzeichnis 1 Einleitung
MehrModerne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum
Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede
MehrÜbung Betriebssysteme 11
Übung Betriebssysteme 11 Christian Motika Christian-Albrechts-Universität zu Kiel Institut für Informatik AG Echtzeitsysteme / Eingebettete Systeme Kiel, Germany 29-JAN-2013 CAU - WS 2012/13 Übung Betriebssysteme
MehrKlausur zum Kurs Betriebssysteme (1802) am 19. September 2009
Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake FernUniversität in Hagen 58084 Hagen Vorname Name Straße Hausnr. Informatikzentrum Universitätsstr. 1 58084
MehrMonitore. 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
MehrVerteilte Systeme CS5001
Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,
MehrMusterlö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:...
MehrU6-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
MehrRTEMS- Echtzeitbetriebssystem
RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-
MehrVorname: Nachname: Matrikelnummer: Klausur. Betriebssysteme
Vorname: Nachname: Matrikelnummer: Klausur Betriebssysteme 12.02.2013 Hinweise: 1. Beschriften Sie als erstes diese Seite mit Ihrem Namen, Vornamen und Ihrer Matrikelnummer (deutlich in Druckbuchstaben).
MehrVerteilte Systeme. 2. Die Client-Server-Beziehung und daraus resultierende Techniken. 2.2 Nebenläufigkeitstechniken in Java
VS22 Slide 1 Verteilte Systeme 2. Die Client-Server-Beziehung und daraus resultierende Techniken 2.2 Nebenläufigkeitstechniken in Java Sebastian Iwanowski FH Wedel VS22 Slide 2 Was ist Nebenläufigkeit?
MehrBetriebssysteme (BTS)
13.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 31.5.2007 Wiederholung vom letzten Mal Deadlocks und Verhungern
MehrBesprechung 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
MehrNebenläufige Programmierung: Praxis und Semantik. Zugriff auf mehrere Ressourcen
Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Zugriff auf mehrere Ressourcen WS 2009/10 Deadlocks bei mehreren Ressourcen Transactional Memory Übersicht 1
MehrMutual Exclusion und Synchronisation. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at
Mutual Exclusion und Synchronisation Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Gemeinsame Ressourcen BS und Prozesse, parallel laufende Prozesse verwenden die selben
MehrWS Parallele Prozesse. Prof. Hannelore Frank. Parallele Prozesse. PetriNetze. Synchronisation UNIX. Wettbewerb PC Krit.Abschnitt Spinlocks
WS 2007 Überblick 1 2 Petri-Netze als Entwurfshilfsmittel 3 nebenläufiger 4 -Systemfunktionen Literatur Eduard Glatz: Betriebssysteme. Grundlagen, Konzepte, Systemprogrammierung dpunkt.verlag, 2006, ISBN
MehrZur 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
MehrThreads 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
MehrSoftware ubiquitärer Systeme
Software ubiquitärer Systeme 3. Übung Constantin Timm Arbeitsgruppe Entwurfsautomatisierung für Eingebettete Systeme Lehrstuhl für Informatik 12 TU Dortmund constantin.timm@cs.tu-dortmund.de http://ls12-www.cs.tu-dortmund.de/staff/timm/
MehrVerteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016
Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i
MehrCS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)
Prof. Dr. Th. Letschert CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Vorlesung 7 Th Letschert FH Gießen-Friedberg Ressourcen Verwaltung passive Ressourcen aktive Ressourcen
MehrTest (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
MehrDr. Monika Meiler. Inhalt
Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer
MehrProzesse 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
Mehr9 Verteilte Verklemmungserkennung
9 Verteilte Verklemmungserkennung 9.1 Grundlagen Für die Existenz einer Verklemmung notwendige Bedingungen Exklusive Betriebsmittelbelegung Betriebsmittel können nachgefordert werden Betriebsmittel können
MehrTechnische Informa/k II. Prof. Dr. Bernd Freisleben Sommersemester 2013 Kapitel 5: BetriebsmiCelverwaltung
Technische Informa/k II Prof. Dr. Bernd Freisleben Sommersemester 2013 Kapitel 5: BetriebsmiCelverwaltung Inhalt Folie 05-2 BetriebsmiCelverwaltung Verklemmungen (Deadlocks) BetriebsmiCelverwaltung (BMV)
MehrKV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation
SS 2003 KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation 1 Sequentielle Prozesse Zu jedem Zeitpunkt t wird genau eine einzige Instruktion ausgeführt Hängt ab vom Abstraktionsgrad
MehrParallele Prozesse. Prozeß wartet
Parallele Prozesse B-66 Prozeß: Ausführung eines Programmes in seinem Adressraum (zugeordneter Speicher) Parallele Prozesse: gleichzeitig auf mehreren Prozessoren laufende Prozesse p1 p2 verzahnte Prozesse:
MehrGliederung. Monitor (eine auf ein Modul bezogene) Klasse
Systemprogrammierung Prozesssynchronisation: Hochsprachenebene Wolfgang Schröder-Preikschat Lehrstuhl Informatik 4 04. November 2014 c wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP2 # WS 2014/15
MehrA Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...
1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................
MehrSysteme 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
MehrThread-Synchronisation in in Java. Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen
Thread-Synchronisation in in Java Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen Die Klasse Thread Die Die Klasse Thread gehört zur zur Standardbibliothek von von
MehrAnfragen werden als Ganzes erfüllt und erst nach Ablauf der Zeit der
Universität Paderborn Fachgebiet Rechnernetze Sommersemester 011 Konzepte und Methoden der Systemsoftware Präsenzübung 08 vom 30.05.011 bis 03.0.011 Aufgabe 1: Auswahlstrategien Sie haben in der Vorlesung
MehrBeispiel für überladene Methode
Beispiel für überladene Methode class Gras extends Futter {... abstract class Tier { public abstract void friss (Futter x); class Rind extends Tier { public void friss (Gras x) {... public void friss (Futter
MehrGrundlagen verteilter Systeme
Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Wintersemester 07/08 Übungsblatt 5 08.01.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1:
MehrUser-Level-Threads (Koroutinen) Realisierung von Threads auf Benutzerebene innerhalb eines Prozesses
52 Überblick über die 12. Übung Überblick über die 12. Übung 54 Vergleich von Prozeß und Thread-Konzepten mehrere UNIX-Prozesse mit gemeinsamen Speicherbereichen POSIX-Threads Bewertung: + echte Parallelität
MehrBetriebssystembau (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
Mehr3.2 Prozessumschaltung
3.2 Prozessumschaltung (dispatching) deaktiviert einen Prozess und aktiviert einen anderen. Wann? aktiver Prozess wird vom Prozessor verdrängt zugunsten eines bereiten Prozesses aktiver Prozess blockiert,
MehrSystemsoftware (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
MehrWiederholung: Semaphore (nicht gähnen!) Vorlesung Betriebssysteme II. Implementierung (Pseudocode) der P()-Operation.
Wiederholung: Semaphore (nicht gähnen!) Vorlesung Betriebssysteme II Thema 2: Synchronisation Robert Baumgartl 17. 03. 2014 Abstrakter Datentyp (Zähler und Warteschlange) Operationen: P(): probieren und
MehrWelche 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
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
MehrSystemprogrammierung Unix/Linux SS 2013 Hans-Georg Eßer, Ohm-Hochschule Nürnberg Übung 13 3/
Systemprogrammierung Unix/Linux SS 2013 Hans-Georg Eßer, Ohm-Hochschule Nürnberg Übung 13 http://ohm.hgesser.de/sp-ss201 3/ 25.06.2013 Bitte bearbeiten Sie nur eine der beiden Aufgaben 23 2 4. Welche Aufgabe
MehrOperating System Kernels
Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking
MehrLösungsvorschlag zur 11. Übung
Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 ösungsvorschlag zur 11. Übung 1 Präsenzübungen 1.1 Schnelltest a) Was gehört zu den Aufgaben eines
MehrRekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrBitte 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
MehrBetriebssysteme Kapitel E : Prozesse
Betriebssysteme Kapitel E : Prozesse 1 Inhalt Prozesse Zustand eines Prozesses» Kontext» Kontextswitch Prozessbeschreibungsblock PCB Zustandsübergänge» Zustandsdiagramm 2 Hinweis Ein Programm(code) kann
MehrBeschreiben Sie stichwortartig, was die folgenden Kommandos bewirken.
Betriebssysteme: Auswahl alter Klausuraufgaben Seite 1 Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken. a) sort < MeineDatei.txt > MeineDateiSort.txt b) find / -type d \( -name man
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Mehr6. Tutorium zu Softwaretechnik I
6. Tutorium zu Softwaretechnik I Parallelität und Testen Michael Hoff 01.07.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrNebenläufigkeit mit Java
Nebenläufigkeit mit Java Einheit 03: Synchronisation Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Synchronisation von Threads Locks Java Monitor-Konzept Lock Freigabe Zusammenspiel
MehrRechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance
Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance 5. November 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Repetition
MehrÜbungspaket 23 Mehrdimensionale Arrays
Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
MehrProbeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten
Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, 13.00-14.45 Uhr Bearbeitungszeit: 105 Minuten Schalten Sie ihr Mobiltelefon aus. Bei der Klausur ist als einziges
MehrRTOS Einführung. Version: Datum: Autor: Werner Dichler
RTOS Einführung Version: 0.0.1 Datum: 20.07.2013 Autor: Werner Dichler Inhalt Inhalt... 2 RTOS... 3 Definition... 3 Anforderungen... 3 Aufgaben... 3 Eigenschaften... 4 Einteilung der Betriebssysteme...
MehrÜbungspaket 23 Mehrdimensionale Arrays
Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
Mehr13. Übung mit Musterlösung
13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten
MehrS. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"
S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare
MehrErzeuger/Verbraucher-Problem: gemeinsamer Puffer Programm für Erzeuger. Kapitel IV
Kapitel IV Prozesssynchronisation Erzeuger/Verbraucher-Problem: gemeinsamer Puffer Programm für Erzeuger Repeat produziere Datum in nextp while counter == n; buffer[in]=nextp; in = (in+1) % n; counter++;
MehrBetriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen
Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux
MehrKapitel 5. Monitore und Synchronisationsbedingungen
Seite Kapitel 5 Monitore und Synchronisationsbedingungen Prof. Dr. Rolf Hennicker 5.6.24 5. Synchronisationsbedingungen Seite 2 Bisherige Verwendung von Monitoren: Verkapselung von Daten, Zugriffoperationen
MehrEin- und Ausgabe von Paketen für Netzwerkverbindungen 208
Ein- und Ausgabe von Paketen für Netzwerkverbindungen 208 Zwischen Dienste-Anbietern und ihren Klienten auf dem Netzwerk besteht häufig ein ähnliches Verhältnis wie zwischen einer Shell und dem zugehörigen
MehrParallele Programmabläufe: R S
REFERAT Parallele Programmabläufe: R S.242-246 1.Einführung 2.Synchronisation 2.1.Monitor-Konzept 2.2.Rendez-vous-Konzept 2.3.Bolt-Synchronisation 3.Behandlung Ausnahmesituationen 1.Einführung: Im Bereich
Mehr