Deadlocks. Christoph Lindemann. Betriebssysteme. Betriebssysteme WS 2004/05. Fahrplan. Inhalt. Das Deadlock Problem

Größe: px
Ab Seite anzeigen:

Download "Deadlocks. Christoph Lindemann. Betriebssysteme. Betriebssysteme WS 2004/05. Fahrplan. Inhalt. Das Deadlock Problem"

Transkript

1 Betriebssysteme WS 2004/05 Deadlocks Christoph Lindemann Fahrplan Organisation der Vorlesung, Einführung in Betriebssysteme Strukturen von Betriebssystemen Prozesse und Threads CPU Scheduling Synchronisation von Prozessen Keine Vorlesung Deadlocks Keine Vorlesung Speicherverwaltung (1) Speicherverwaltung (2) Virtueller Speicher Dateisystem Schnittstelle Strukturen von Rechnernetzen Verteilte Systemstrukturen Universität Dortmund Rechnersysteme und Leistungsbewertung -2- Inhalt System Modell Deadlock (Verklemmung) Charakterisierung Methoden Deadlocks zu behandeln Deadlock Verhinderung (Prevention) Deadlock Vermeidung (Avoidance) Deadlock Erkennung (Detection) Erholung aus einem Deadlock (Recovery) Kombinierter Ansatz zur Deadlock Behandlung Das Deadlock Problem Eine Menge von blockierten Prozessen, von denen jeder eine Ressource besitzt und auf die Zuweisung einer Ressource wartet, die ein anderer Prozess dieser Menge besitzt. Beispiel Das System hat 2 Bandlaufwerke. P 1 und P 2 halten jeweils ein Bandlaufwerk und jeder braucht ein weiteres. Beispiel Semaphoren A und B, initialisiert mit 1 P 0 P 1 wait (A); wait(b) wait (B); wait(a) Universität Dortmund Rechnersysteme und Leistungsbewertung -3- Universität Dortmund Rechnersysteme und Leistungsbewertung -4-

2 Brücken Überquerungs-Beispiel System Modell Ressource Typ R 1, R 2,..., R m CPU Zyklen, Speicherplatz, Ein-/Ausgabe Gerät Jeder Ressource-Typ R i hat W i Instanzen. Verkehr nur in einer Richtung möglich. Jeder Bereich der Brücke kann als Ressource angesehen werden. Falls ein Deadlock auftritt, kann er aufgelöst werden, indem ein Auto zurückfährt (Ressourcen wegnehmen (preemption) und wiederaufsetzen (rollback)). Jeder Prozess benutzt eine Ressource wie folgt: beantragen benutzen freigeben Evtl. müssen mehrere Autos zurücksetzen, falls ein Deadlock eintritt. Unendliches Warten (Starvation) ist möglich. Universität Dortmund Rechnersysteme und Leistungsbewertung -5- Universität Dortmund Rechnersysteme und Leistungsbewertung -6- Deadlock Charakterisierung Ein Deadlock kann auftreten, falls vier Bedingungen gleichzeitig erfüllt sind: Gegenseitiger Ausschluss (Mutual exclusion): nur ein Prozess kann gleichzeitig eine Ressource benutzen. Halten und Warten (Hold and wait): ein Prozess besitzt mindestens eine Ressource und wartet auf die Zuweisung einer weiteren Ressource, die von einem anderen Prozess gehalten wird. Keine Ressource-Wegnahme (No preemption): eine Ressource kann nur freiwillig von dem Prozess freigegeben werden, der sie hält, nachdem der Prozess seine Aufgaben vollendet hat. Zyklisches Warten ( Circular wait): es existiert eine Menge {P 0, P 1,, P 0 } von wartenden Prozessen, so dass P 0 auf eine Ressource wartet, die von P 1 gehalten wird, P 1 wartet auf eine Ressource, die von P 2 gehalten wird,, P n 1 wartet auf eine Ressource, die von P n gehalten wird, und P n wartet auf eine Ressource, die von P 0 gehalten wird. Ressource Zuweisungs- (Resource-Allocation) Graph Eine Menge von Knoten V und Kanten E. V wird eingeteilt in zwei Typen: P = {P 1, P 2,, P n }, die Menge aller Prozesse im System. R = {R 1, R 2,, R m }, die Menge aller Ressource Typen im System. Anfragen Kante gerichtete Kante P i fi R j Zuweisungs-Kante gerichtete Kante R j fi P i Universität Dortmund Rechnersysteme und Leistungsbewertung -7- Universität Dortmund Rechnersysteme und Leistungsbewertung -8-

3 Resource-Allocation Graph (Forts.) Prozess Beispiel eines Resource Allocation Graph Ressourcen Typ mit 4 Instanzen P i beantragt Instanz von R j P i Rj P i hält eine Instanz von R j P i R j Universität Dortmund Rechnersysteme und Leistungsbewertung -9- Universität Dortmund Rechnersysteme und Leistungsbewertung -10- Resource Allocation Graph mit einem Deadlock Resource Allocation Graph mit Zyklus aber keinem Deadlock Universität Dortmund Rechnersysteme und Leistungsbewertung -11- Universität Dortmund Rechnersysteme und Leistungsbewertung -12-

4 Basis Fakten Wenn der Graph keinen Zyklus enthält Deadlock. Wenn der Graph einen Zyklus enthält kein Falls es nur eine Instanz pro Ressource Typ gibt, dann gibt es einen Deadlock. Falls mehrere Instanzen pro Ressource Typ existieren, ist ein Deadlock möglich. Methoden Deadlocks zu behandeln Sicherstellen, dass das System niemals einen Deadlock Zustand betritt.. Erlaube dem System einen Deadlock Zustand zu betreten und hole das System aus diesem Zustand. Ignoriere das Problem und tue so als ob Deadlocks niemals im System auftreten; von den meisten Betriebssystemen benutzt, einschließlich UNIX. Universität Dortmund Rechnersysteme und Leistungsbewertung -13- Universität Dortmund Rechnersysteme und Leistungsbewertung -14- Deadlock Vorbeugung Beschränke die Weise, wie Anfragen gestellt werden. Gegenseitiger Ausschluss nicht benötigt für Ressourcen, die gemeinsam benutzt werden können; gilt für Ressourcen, die nicht gemeinsam genutzt werden können. Halte und Warte garantiere dass ein Prozess, der eine Ressource anfordert keine andere Ressource hält. Prozess muss alle Ressourcen anfordern und zugewiesen bekommen,bevor er seine Ausführung beginnt, oder erlaube dem Prozess nur dann Ressourcen anzufordern wenn er keine hält. Geringe Ressourcen Ausnutzung; unendliches Warten möglich. Deadlock Vorbeugung (Forts.) Keine Ressource-Wegnahme Wenn ein Prozess Ressourcen hält und eine weitere anfordert, die nicht sofort zugewiesen werden kann, dann werden alle Ressourcen, die er hält freigegeben. Weggenommene Ressourcen werden zu der Liste der Ressourcen zugefügt, auf die der Prozess wartet. Der Prozess wird nur dann weiter ausgeführt, wenn er alle seine alten Ressourcen zugewiesen bekommt sowie die neuen, die er beantragt hat. Zyklisches Warten sortiere alle Ressource Typen in eine totale Ordnung und verlange von jedem Prozess, dass er Ressourcen in einer aufsteigenden Ordnung beantragt. Universität Dortmund Rechnersysteme und Leistungsbewertung -15- Universität Dortmund Rechnersysteme und Leistungsbewertung -16-

5 Deadlock Vermeidung Verlangt, dass das System a priori Informationen hat. Einfachstes und hilfreichstes Modell verlangt, dass jeder Prozess die Maximale Anzahl von Ressourcen jedes Typs angibt, die er brauchen könnte. Der Deadlock Vermeidungs-Algorithmus untersucht dynamisch den Ressource- Zuweisungs-Zustand um sicherzustellen, dass nie eine Zyklisches Warten auftritt. Ressource-Zuweisungs-Zustand ist definiert durch die Anzahl von verfügbaren und zugewiesenen Ressourcen und die maximalen Ansprüche der Prozesse. Sicherer Zustand Wenn ein Prozess eine verfügbare Ressource beantragt muss das System entscheiden, ob die sofortige Zuweisung das System in einem sicheren Zustand belässt. Das System ist in einem sicheren Zustand, falls eine sichere Sequenz von Prozessen existiert. Die Sequenz <P 1, P 2,, P n > ist sicher, falls für jeden P i gilt: die Ressourcen, die P i beantragen kann, können durch die aktuell verfügbaren Ressourcen + die Ressourcen, die von allen P j, mit j<i gehalten werden, erfüllt werden. Falls P i Ressourcen Ansprüche nicht sofort erfüllbar sind, dann kann P i warten bis alle P j beendet sind. Wenn P j beendet ist, kann P i benötigte Ressourcen zugewiesen bekommen, in Ausführung gehen, die Ressourcen freigeben und sich beenden. Wenn P i sich beendet, kann P i+1 seine benötigten Ressourcen zugewiesen bekommen und so weiter. Universität Dortmund Rechnersysteme und Leistungsbewertung -17- Universität Dortmund Rechnersysteme und Leistungsbewertung -18- Basis Fakten Sicher, unsicher, Deadlock Zustandsraum Falls ein System im sicheren Zustand ist Deadlocks. keine Falls ein System in einem unsicheren Zustand ist Deadlocks möglich. Vermeidung stelle sicher, dass ein System niemals in einen unsicheren Zustand läuft. Universität Dortmund Rechnersysteme und Leistungsbewertung -19- Universität Dortmund Rechnersysteme und Leistungsbewertung -20-

6 Resource-Allocation Graph Algorithmus Resource-Allocation Graph zur Deadlock Vermeidung Claim edge P i fi R j bedeutet, dass Prozess P j Ressource R j beantragen kann; dargestellt durch eine gestrichelte Linie. Eine claim edge wird in eine request edge konvertiert, wenn ein Prozess eine Ressource anfordert. Wenn eine Ressource von einem Prozess freigegeben wird, wird die assignment edge zu einer claim edge rückkonvertiert. Ressourcen müssen a priori im System beansprucht werden. Universität Dortmund Rechnersysteme und Leistungsbewertung -21- Universität Dortmund Rechnersysteme und Leistungsbewertung -22- Unsicherer Zustand im Resource-Allocation Graph Banker s Algorithmus Mehrere Instanzen. Jeder Prozess muss a priori seine maximalen Bedürfnisse beanspruchen. Wenn ein Prozess eine Ressource anfordert, muss er möglicherweise warten. Wenn ein Prozess alle seine Ressourcen zugewiesen bekommt, muss er sie in endlicher Zeit freigeben. Universität Dortmund Rechnersysteme und Leistungsbewertung -23- Universität Dortmund Rechnersysteme und Leistungsbewertung -24-

7 Daten Strukturen für den Banker s Algorithmus Sicherheits-Algorithmus Seit n = Anzahl der Prozesse, und m = Anzahl der Ressource Typen. Available: Vektor der Länge m. Falls Available[j] = k, es sind k Instanzen des Ressource Typs R j verfügbar. Max: n x m Matrix. Falls Max[i,j] = k, dann beantragt Prozess P i maximal k Instanzen des Ressource Typs R j. Allocation: n x m Matrix. Falls Allocation[i,j] = k dann sind Prozess P i gerade k Instanzen von R j. zugewiesen. Need: n x m Matrix. Falls Need[i,j] = k, dann braucht P i k weitere Instanzen von R j um seine Aufgabe zu beenden. Need [i,j] = Max[i,j] Allocation [i,j]. Universität Dortmund Rechnersysteme und Leistungsbewertung Seien Work und Finish Vektoren der Länge m bzw. n. Initialisiere: Work := Available Finish [i] = false for i - 1,3,, n. 2. Suche ein i so, dass gilt: (a) Finish [i] = false (b) Need i Work Falls kein solches i existiert, gehe zu Work := Work + Allocation i Finish[i] := true gehe zu Falls Finish [i] = true für alle i, dann ist das System in einem sicheren Zustand. Universität Dortmund Rechnersysteme und Leistungsbewertung -26- Resource-Request Algorithmus für Prozess P i Request i = request Vektor für Prozess P i. Falls Request i [j] = k dann benötigt Prozess P i k Instanzen von Ressourcen Typ R j. 1. Falls Request i Need i gehe zu 2. Sonst gehe in Fehler Behandlung, weil der Prozess seine maximale Anforderung überschritten hat. 2. Falls Request i Available, gehe zu 3. Sonst muss P i warten, weil Ressourcen nicht verfügbar sind. 3. Gebe vor, die beantragten Ressourcen P i zuzuweisen, indem der Zustand wie folgt geändert wird: Available := Available = Request i ; Allocation i := Allocation i + Request i ; Need i := Need i Request i;; Falls sicher die Ressourcen werden P i zugewiesen. Falls unsicher P i muss warten, und der alte resourceallocation Zustand wird wiederhergestellt. Universität Dortmund Rechnersysteme und Leistungsbewertung -27- Beispiel des Banker s Algorithmus 5 Prozesse P 0 bis P 4 ; 3 Ressource Typen A (10 Instanzen), B (5 Instanzen), und C (7 Instanzen). Zustand zum Zeitpunkt T 0 : Allocation Max Available A B C A B C A B C P P P P P Universität Dortmund Rechnersysteme und Leistungsbewertung -28-

8 Beispiel (Forts.) Der Inhalt der Matrix. Need ist definiert als Max Allocation. Need A B C P P P P P Das System ist in einem sicheren Zustand weil die Sequenz < P 1, P 3, P 4, P 2, P 0 > die Sicherheitskriterien erfüllt. Beispiel (Forts.): P 1 beantragt (1,0,2) Überprüfe, dass Request Available (d.h., (1,0,2) (3,3,2) true). Allocation Need Available A B C A B C A B C P P P P P Die Ausführung des Sicherheitsalgorithmus zeigt, dass die Sequenz <P 1, P 3, P 4, P 0, P 2 > die Sicherheitsbedingungen erfüllt. Kann ein request nach (3,3,0) von P 4 erfüllt werden? Kann ein request nach (0,2,0) von P 0 erfüllt werden? Universität Dortmund Rechnersysteme und Leistungsbewertung -29- Universität Dortmund Rechnersysteme und Leistungsbewertung -30- Deadlock Erkennung Erlaube dem System eine Deadlock Zustand zu betreten Erkenne Deadlock Behandlungs-Schema Einzige Instanz jedes Ressource Typs Verwalte wait-for graph Knoten sind Prozesse. P i fi P j falls P i auf P j. wartet Rufe periodisch einen Algorithmus auf, der nach einem Zyklus im Graph sucht. Ein Algorithmus, der einen Zyklus in einem Graph findet, braucht O(n 2 ) Operationen, wobei n die Anzahl der Knoten im Graph ist. Universität Dortmund Rechnersysteme und Leistungsbewertung -31- Universität Dortmund Rechnersysteme und Leistungsbewertung -32-

9 Resource-Allocation Graph und Wait-for Graph Mehrere Instanzen eines Ressource Typs Resource-Allocation Graph Corresponding wait-for graph Available: Ein Vektor der Länge m gibt die Anzahl von verfügbaren Ressourcen jeden Typs an. Allocation: Eine n x m Matrix definiert die Anzahl von Ressourcen jeden Typs, die gerade den Prozessen zugewiesen sind. Request: Eine n x m Matrix gibt die aktuellen Anforderungen jedes Prozesses an. Falls Request [ij] = k, dann fordert Prozess P i k weitere Instanzen von R j an. Universität Dortmund Rechnersysteme und Leistungsbewertung -33- Universität Dortmund Rechnersysteme und Leistungsbewertung -34- Erkennungs-Algorithmus 1. Seien Work und Finish Vektoren der Länge m bzw. n. Initialisiere: (a) Work :- Available (b) Für i = 1,2,, n, falls Allocation i 0, dann Finish[i] := false;sonst, Finish[i] := true. 2. Finde einen Index i so dass: (a) Finish[i] = false (b) Request i Work Falls kein solches i existier, gehe zu 4. Erkennungs-Algorithmus (Forts.) 3. Work := Work + Allocation i Finish[i] := true gehe zu Falls Finish[i] = false, für ein i, 1 i n, dann ist das System in einem Deadlock Zustand. Außerdem, falls Finish[i] = false, dann ist P i in einem Deadlock. Algorithm requires an order of m x n 2 operations to detect whether the system is in deadlocked state. Universität Dortmund Rechnersysteme und Leistungsbewertung -35- Universität Dortmund Rechnersysteme und Leistungsbewertung -36-

10 Beispiel für den Erkennungs-Algorithmus Fünf Prozesse P 0 bis P 4 ; drei Ressource Typen A (7 Instanzen), B (2 Instanzen), and C (6 Instanzen). Zustand zum Zeitpunkt T 0 : Allocation Request Available A B C A B C A B C P P P P P Sequenz <P 0, P 2, P 3, P 1, P 4 > resultiert in Finish[i] = true für alle i. Beispiel (Forts.) P 2 beantragt eine zusätzliche Instanz von Typ C. Zustand des Systems? Request A B C P P P P P Kann Ressourcen, die P 0 hält erneut anfordern, aber zuwenig Ressourcen, um Anforderungen anderer Prozesse zu erfüllen. Deadlock existiert, bestehend aus Prozessen P 1, P 2, P 3, und P 4. Universität Dortmund Rechnersysteme und Leistungsbewertung -37- Universität Dortmund Rechnersysteme und Leistungsbewertung -38- Erkennungs-Algorithmus Gebrauch Wann, und wie oft aufzurufen hängt ab von : Wie oft kommt ein Deadlock wahrscheinlich vor? Wie viele Prozesse müssen wieder aufgesetzt werden? - Einer für jeden Zyklus Falls Erkennungs-Algorithmus willkürlich aufgerufen wird, können viele Zyklen im resource graph sein, so dass man nicht mehr sagen kann, welcher der Prozesse den Deadlock verursacht hat. Behandlung von Deadlocks: Prozess Beendigung Breche alle deadlocked Prozesse ab. Breche jeweils einen Prozess gleichzeitig ab, bis der Deadlock Zyklus eliminiert ist. In welcher Reihenfolge sollen wir Prozesse abbrechen? Priorität des Prozesses. Wie lange ein Prozess gerechnet hat wie lange er noch rechnet. Ressourcen, die der Prozess benutzt hat. Ressourcen, die der Prozess noch braucht. Wie viele Prozesse müssen beendet werden. Ist der Prozess interaktiv oder batch? Universität Dortmund Rechnersysteme und Leistungsbewertung -39- Universität Dortmund Rechnersysteme und Leistungsbewertung -40-

11 Behandlung von Deadlocks : Ressource Wegnahme Auswahl eines Opfers minimiere Kosten. Rollback gehe zurück in einen sicheren Zustand, starte Prozess für diesen Zustand neu. Endloses Warten ein Prozess könnte immer als Opfer gewählt werden, baue Nummer des Rollbacks in Kostenfaktor ein. Kombinierter Ansatz zur Deadlock Behandlung Kombiniere die drei Grundansätze Verhinderung Vermeidung Erkennung erlaube die Benutzung des optimalen Ansatzes für jede Ressource im System. Teile Ressourcen in hierarchisch sortierte Klassen ein. Benutze am besten passendes Verfahren Deadlocks innerhalb jeder Klasse zu behandeln. Universität Dortmund Rechnersysteme und Leistungsbewertung -41- Universität Dortmund Rechnersysteme und Leistungsbewertung -42-

Deadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File

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

Mehr

Deadlock. Peter Puschner Institut für Technische Informatik

Deadlock. Peter Puschner Institut für Technische Informatik Deadlock Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Deadlock Permanentes Blockieren einer Menge von Prozessen, die um Ressourcen konkurrieren oder miteinander kommunizieren

Mehr

Verklemmungen - Deadlocks

Verklemmungen - Deadlocks Verklemmungen - Deadlocks Betriebsmittel Verklemmung Vogelstrauss Algorithmus Erkennung und Auflösung Vermeidung SS2001 Prof. H.D. Clausen - unisal 1 Kritische Betriebsmittel Beispiele Drucker Magnetbandgeräte

Mehr

H Verklemmungen. 1 Motivation. 1 Motivation (2) H Verklemmungen. Beispiel: die fünf Philosophen am runden Tisch

H Verklemmungen. 1 Motivation. 1 Motivation (2) H Verklemmungen. Beispiel: die fünf Philosophen am runden Tisch 1 Motivation Beispiel: die fünf Philosophen am runden Tisch Verklemmungen Philosophen denken oder essen "The life of a philosopher consists of an alternation of thinking and eating." (Dijkstra, 1971) zum

Mehr

Inhaltsverzeichnis. 4.1 Systemmodell und notwendige Bedingungen. 4.2 Gegenmaßnahmen

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

Mehr

Systeme I: Betriebssysteme Kapitel 6 Deadlocks. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 6 Deadlocks. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 6 Deadlocks Wolfram Burgard Version 13.12.2017 1 Inhalt Vorlesung Verschiedene Komponenten / Konzepte von Betriebssystemen Dateisysteme Prozesse Nebenläufigkeit und wechselseitiger

Mehr

Systemprogrammierung (Lehramt) Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 G-Verklemmungen.fm

Systemprogrammierung (Lehramt) Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 G-Verklemmungen.fm G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher

Mehr

Übung zu Grundlagen der Betriebssysteme. 11. Übung

Ü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

Mehr

Betriebssysteme. Teil 12: Deadlocks

Betriebssysteme. Teil 12: Deadlocks Betriebssysteme Teil 12: Deadlocks 07.01.16 1 Literatur [12-1] Coffman, E. C.; Elphick, Michael John; Shoshani,A.: System Deadlocks. In: Computing Surveys. 3, Nr. 2, 1971, S. 67 78. Einsehbar in http://de.wikipedia.org/wiki/deadlock

Mehr

Kontrollflüsse. Dining Philosophers. 6. Verklemmungen. Systemsoftware. Seite 6.1. (c) 2002, Prof. Dr. P. Sturm, Universität Trier

Kontrollflüsse. Dining Philosophers. 6. Verklemmungen. Systemsoftware. Seite 6.1. (c) 2002, Prof. Dr. P. Sturm, Universität Trier Kontrollflüsse 6. Verklemmungen Dining Philosophers Philosophen wechseln zwischen zwei Zuständen Denken Essen Hauptgericht Reis Pur n Sitzplätze Links Stäbchen Philosoph braucht rechtes und linkes Stäbchen

Mehr

Kapitel 5 Verklemmungsprobleme. Verklemmungsprobleme

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

Mehr

Vorlesung Betriebssysteme II

Vorlesung Betriebssysteme II 1 / 24 Vorlesung Betriebssysteme II Thema 5: Deadlocks Robert Baumgartl 1. Juni 2015 2 / 24 Motivation Beispiele für deadlockgefährdete Abläufe 1. Lösung des Philosophenproblems Variante 4 der dezentralen

Mehr

Klausur Nichtsequentielle Programmierung

Klausur Nichtsequentielle Programmierung Klausur Nichtsequentielle Programmierung Prof. Dr. Marcel Kyas 22. Juli 2009 Nachname: Bachelor Magister Vorname: Master Lehramt Diplom Hinweise zur Klausur Bitte überprüfen Sie, dass Sie alle Seiten dieser

Mehr

Betriebssysteme. Wintersemester Kapitel 2 Prozess und Threads. Patrick Kendzo

Betriebssysteme. Wintersemester Kapitel 2 Prozess und Threads. Patrick Kendzo Betriebssysteme Wintersemester 2015 Kapitel 2 Prozess und Threads Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Ein- / Ausgabe und Dateisysteme Zusammenfassung

Mehr

Was machen wir heute? Betriebssysteme Tutorium 3. Organisatorisches. Prozesskontrollblock (PCB) Programmieraufgaben. Frage 3.1.a

Was machen wir heute? Betriebssysteme Tutorium 3. Organisatorisches. Prozesskontrollblock (PCB) Programmieraufgaben. Frage 3.1.a Was machen wir heute? Betriebssysteme Tutorium 3 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

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

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

Mehr

Prozessor (CPU, Central Processing Unit)

Prozessor (CPU, Central Processing Unit) G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher

Mehr

Betriebssysteme - Deadlocks

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

Mehr

Prioritäten/Zeitstempel-Verfahren

Prioritäten/Zeitstempel-Verfahren Prioritäten/Zeitstempel-Verfahren Grundlegende Idee: Falls einer Transaktion T k eine Sperre nicht gewährt wird, weil eine andere Transaktion T i sie hält, besteht Deadlockgefahr. Also bekommt jede Transaktion

Mehr

Prioritäten/Zeitstempel-Verfahren. WAIT-DIE und WOUND-WAIT-Strategien

Prioritäten/Zeitstempel-Verfahren. WAIT-DIE und WOUND-WAIT-Strategien Prioritäten/Zeitstempel-Verfahren Grundlegende Idee: Falls einer Transaktion T k eine Sperre nicht gewährt wird, weil eine andere Transaktion T i sie hält, besteht Deadlockgefahr. Also bekommt jede Transaktion

Mehr

1 Prozesse und Scheduling (12 Punkte)

1 Prozesse und Scheduling (12 Punkte) 1 Prozesse und Scheduling (12 Punkte) a) UNIX Shell-Operatoren (insgesamt 4 Punkte) 1. Operator (1,5 Punkte) Beschreiben Sie die Funktionsweise des Operators. 2. Operator Beispiel (1 Punkt) Geben Sie für

Mehr

9. Foliensatz Betriebssysteme

9. Foliensatz Betriebssysteme Prof. Dr. Christian Baun 9. Foliensatz Betriebssysteme Frankfurt University of Applied Sciences SS2016 1/32 9. Foliensatz Betriebssysteme Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

Mehr

Betriebssysteme (BS)

Betriebssysteme (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/

Mehr

9. Vorlesung Betriebssysteme

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

Mehr

Übung Betriebssysteme 11

Ü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

Mehr

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen Özden Urganci Ulf Sigmund Ömer Ekinci Inhaltsangabe 1 Einleitung 2 Prinzipien des verteilten wechselseitigen Ausschlusses 2.1 Anforderungen

Mehr

Übersicht. Nebenläufige Programmierung: Praxis und Semantik. Synchronisation (4) Eine untere Schranke für den Platzbedarf

Übersicht. Nebenläufige Programmierung: Praxis und Semantik. Synchronisation (4) Eine untere Schranke für den Platzbedarf Übersicht Komplexitätsresultate Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Synchronisation (4) Drei Komplexitätsresultate Eine genaue Schranke für den Platzbedarf

Mehr

Prozeß-Interaktion u. -Kommunikation

Prozeß-Interaktion u. -Kommunikation Definitionen: Prozeß: (Vorgang der) Programmausführung Interaktion: aufeinander bezogenes Handeln Kommunikation: Bidirektionaler (allg.: multidirektionaler) Austausch von Information Information: Daten,

Mehr

Betriebssysteme. G: Parallele Prozesse. (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen)

Betriebssysteme. G: Parallele Prozesse. (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen) Betriebssysteme G: Parallele Prozesse (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen) 1 Allgemeine Synchronisationsprobleme Wir verstehen ein BS als eine Menge von parallel

Mehr

Datenbanksysteme 2009

Datenbanksysteme 2009 Datenbanksysteme 2009 Vorlesung vom 30.06.09 Kapitel 14: Mehrbenutzersynchronisation Oliver Vornberger Institut für Informatik Universität Osnabrück Multiprogramming Zeitachse Einbenutzer betrieb T1 T2

Mehr

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

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

Mehr

Literatur. VA SS Teil 5/Messages

Literatur. VA SS Teil 5/Messages Literatur [5-1] https://en.wikipedia.org/wiki/message-oriented_middleware [5-2] https://en.wikipedia.org/wiki/advanced_message_queuing_protocol http://www.amqp.org/specification/0-10/amqp-org-download

Mehr

Technische 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 Technische Informa/k II Prof. Dr. Bernd Freisleben Sommersemester 2013 Kapitel 5: BetriebsmiCelverwaltung Inhalt Folie 05-2 BetriebsmiCelverwaltung Verklemmungen (Deadlocks) BetriebsmiCelverwaltung (BMV)

Mehr

Pthreads. David Klaftenegger. Seminar: Multicore Programmierung Sommersemester

Pthreads. David Klaftenegger. Seminar: Multicore Programmierung Sommersemester Seminar: Multicore Programmierung Sommersemester 2009 16.07.2009 Inhaltsverzeichnis 1 Speichermodell 2 3 Implementierungsvielfalt Prioritätsinversion 4 Threads Speichermodell Was sind Threads innerhalb

Mehr

Betriebssysteme BS-H WS 2014/15. Hans-Georg Eßer. Foliensatz H: Zusammenfassung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/01/10

Betriebssysteme 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

Mehr

Greedy Algorithms - Gierige Algorithmen

Greedy Algorithms - Gierige Algorithmen Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2

Mehr

2.3 Prozessverwaltung

2.3 Prozessverwaltung Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären

Mehr

Wiederholung: Übernahmeprüfung bei terminbasierter Einplanung

Wiederholung: Übernahmeprüfung bei terminbasierter Einplanung Echtzeitsysteme Übungen zur Vorlesung Evaluation Evaluation der Veranstaltung Eure Meinung (Lob/Kritik) ist uns wichtig! Eure Rückmeldung hat Konsequenzen A Bitte evaluiert Vorlesung und Übungen Betriebsmittelprotokolle

Mehr

Parallele Prozesse. Prozeß wartet

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

Mehr

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

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

Mehr

Organisation der Vorlesung, Einführung in Betriebssysteme. Betriebssysteme. Christoph Lindemann WS 2004/05

Organisation der Vorlesung, Einführung in Betriebssysteme. Betriebssysteme. Christoph Lindemann WS 2004/05 Betriebssysteme WS 2004/05 Organisation der Vorlesung, Einführung in Betriebssysteme Christoph Lindemann Organisation der Übungen (1) Übungsgruppenorganisation Anmeldung 8 Übungsgruppen (8-20 Personen

Mehr

Kapitel 6. Verklemmungen (Deadlocks)

Kapitel 6. Verklemmungen (Deadlocks) Seite 1 Kapitel 6 Verklemmungen (Deadlocks) Prof. Dr. Rolf Hennicker 16.06.2016 6.1 Charakterisierung von Deadlocks Seite 2 Eine Verklemmung entsteht, wenn alle Prozesse in einem System blockiert (d.h.

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

Tafelübung zu BSRvS1. 3. Philosophen. Fortsetzung Grundlagen C-Programmierung

Tafelü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/

Mehr

3. Philosophen. Tafelübung zu BSRvS1. Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

3. Philosophen. Tafelübung zu BSRvS1. Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund 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/

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

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

Mehr

Algorithmen und Datenstrukturen 13

Algorithmen und Datenstrukturen 13 19. Juli 2012 1 Besprechung Blatt 12 Fragen 2 Bäume AVL-Bäume 3 Graphen Allgemein Matrixdarstellung 4 Graphalgorithmen Dijkstra Prim Kruskal Fragen Fragen zu Blatt 12? AVL-Bäume AVL-Bäume ein AVL-Baum

Mehr

Aufgaben zum Thema Verklemmungen

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

Mehr

Anfragen werden als Ganzes erfüllt und erst nach Ablauf der Zeit der

Anfragen 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

Mehr

Legende: Running Ready Blocked P1 P2 P3. t[ms] 1 Prozesse und Scheduling (16 Punkte)

Legende: Running Ready Blocked P1 P2 P3. t[ms] 1 Prozesse und Scheduling (16 Punkte) 1 Prozesse und Scheduling (16 Punkte) a) UNIX Shell (insgesamt 5 Punkte) 1) $ ls > Dateien.txt (2 Punkte) Was bewirkt die Ausführung dieses Kommandos in einer UNIX-Shell? 2) $ cat Dateien.txt grep txt

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

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2017/18 Teil C: Echtzeit-Betriebssysteme Abschnitt 12: Problem Prioritätsumkehr CSI Technische Universität Ilmenau www.tu-ilmenau.de -

Mehr

Verkettete Datenstrukturen: Bäume

Verkettete Datenstrukturen: Bäume Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller

Mehr

Kapitel 5 Mehrversionen-CC. MVCC: Annahmen & Eigenschaften

Kapitel 5 Mehrversionen-CC. MVCC: Annahmen & Eigenschaften Kapitel 5 Mehrversionen-CC Bisher sind wir immer von der Grundannahme ausgegangen, dass jedes Datenobjekt x nur in einer Version vorliegt. Die Konsequenz daraus war, dass durch jedes Schreiben der Wert

Mehr

Nicht-blockierende Synchronisation für Echtzeitsysteme

Nicht-blockierende Synchronisation für Echtzeitsysteme Nicht-blockierende Synchronisation für Echtzeitsysteme Seminar Mobile Systeme Florian Schricker 15. März 2005 Seminarleiter: Prof. Dr. Dieter Zöbel 1 INHALTSVERZEICHNIS INHALTSVERZEICHNIS Inhaltsverzeichnis

Mehr

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Klausurort: Vorname Name: Adresse: Matrikelnummer:

Mehr

Literatur. Betriebssysteme WS 2015/16 - Teil 8/Synchronisation I

Literatur. Betriebssysteme WS 2015/16 - Teil 8/Synchronisation I Literatur [8-1] Werner, Dieter: Theorie der Betriebssysteme. Hanser, 1992 [8-2] Dannegger, Christian; Geugelin-Dannegger, Patricia: Parallele Prozesse unter UNIX. Hanser, 1991 [8-3] Siegert, Hans-Jürgen;

Mehr

Datenbanken und Informationssysteme

Datenbanken und Informationssysteme Datenbanken und Informationssysteme Serialisierbarkeit Burkhardt Renz Fachbereich MNI TH Mittelhessen Wintersemester 2015/16 Übersicht Serialisierbarkeit 2-Phasen-Sperrprotokoll (2PL) Verklemmungen Modell

Mehr

Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60

Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60 Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester

Mehr

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis Einführung Einführung in in Betriebssysteme Betriebssysteme und und Theorie und Praxis Theorie und Praxis Oktober 2006 Oktober 2006 Prof. Dr. G. Hellberg Prof. Dr. G. Hellberg Email: hellberg@drhellberg.de

Mehr

Dualität von Koordinierungstechniken

Dualität von Koordinierungstechniken 9 Synchronisation 9.6 Zusammenfassung Dualität von Koordinierungstechniken Theorie vs. Praxis Problem gegenseitiger Ausschluss explizite Prozesssteuerung bedingte Verzögerung Austausch von Zeitsignalen

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation mit Semphoren (30)

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation mit Semphoren (30) VO 8. Prüfung Betriebssysteme. Oktober KNr. MNr. Zuname, Vorname Ges.)().)().)().)() Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! Synchronisation mit Semphoren () In einem Fitnesscenter

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Übung - Rechnerarchitektur/Betriebssysteme 4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil

Mehr

RTOS Einführung. Version: Datum: Autor: Werner Dichler

RTOS 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

Windows 2000 Scheduler

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

Mehr

Graphenalgorithmen I

Graphenalgorithmen I Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket

Mehr

Leser-Schreiber-Realisierung mit Semaphoren

Leser-Schreiber-Realisierung mit Semaphoren Leser-Schreiber-Realisierung mit Semaphoren Reader: down(semwriter); down(semcounter); rcounter++; up(semwriter); read(); down(semcounter); rcounter--; Writer: Problem: down(semwriter); Busy Waiting siehe

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

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

Mehr

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

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

Mehr

Lösungen zu Kapitel 5

Lösungen zu Kapitel 5 Lösungen zu Kapitel 5 Lösung zu Aufgabe : (a) Es gibt derartige Graphen: (b) Offensichtlich besitzen 0 der Graphen einen solchen Teilgraphen. Lösung zu Aufgabe : Es sei G = (V, E) zusammenhängend und V

Mehr

Single- und Multitasking

Single- und Multitasking Single- und Multitasking Peter B. Ladkin ladkin@rvs.uni-bielefeld.de Peter B. Ladkin Command Interpreter (ComInt) läuft wartet auf Tastatur-Eingabe "liest" (parst) die Eingabe (für Prog-Name) Macht "Lookup"

Mehr

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet

Mehr

6. Juni VO Prüfung Betriebssysteme. Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

6. Juni VO Prüfung Betriebssysteme. Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 8. Prüfung Betriebssysteme. Juni KNr. MNr. Zuname, Vorname Ges.)().)().)().)() Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! Synchronisation mit Semaphoren () Eine Parkgarage

Mehr

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

Nebenläufige Programmierung: Praxis und Semantik. Zugriff auf mehrere Ressourcen

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

Mehr

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

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

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen

Mehr

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine

Mehr

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein

Mehr

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil II Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 07.

Mehr

Algorithmen. Von Labyrinthen zu. Gerald Futschek

Algorithmen. Von Labyrinthen zu. Gerald Futschek Von Labyrinthen zu Algorithmen Gerald Futschek Wie kommt man aus einem Labyrinth heraus? Labyrinth (griechisch: Haus der Doppelaxt, wahrscheinlich Knossos auf Kreta) Labrys Grundriss des Palastes von Knossos

Mehr

Verteilte Systeme. Synchronisation II. Prof. Dr. Oliver Haase

Verteilte Systeme. Synchronisation II. Prof. Dr. Oliver Haase Verteilte Systeme Synchronisation II Prof. Dr. Oliver Haase 1 Überblick Synchronisation 1 Zeit in verteilten Systemen Verfahren zum gegenseitigen Ausschluss Synchronisation 2 Globale Zustände Wahlalgorithmen

Mehr

Wintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt.

Wintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt. Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim

Mehr

Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen

Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen Fachschaft Informatik Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/40 Inhaltsverzeichnis I 1 Kommunikation

Mehr

Algorithmen. Von Labyrinthen zu. Gerald Futschek

Algorithmen. Von Labyrinthen zu. Gerald Futschek Von Labyrinthen zu Algorithmen Gerald Futschek Wie kommt man aus einem Labyrinth (griechisch: Haus der Doppelaxt, wahrscheinlich Knossos auf Kreta) Labyrinth heraus? Labrys Grundriss des Palastes von Knossos

Mehr

Musterlösung Prüfung WS 01/02

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

Mehr

Mutual Exclusion. Annika Külzer Florian Störkle Dennis Herzner

Mutual Exclusion. Annika Külzer Florian Störkle Dennis Herzner Mutual Exclusion Annika Külzer Florian Störkle Dennis Herzner Gliederung 1 Mutual Exclusion allgemein 2 Lock-Algorithmen 2.1 LockOne 2.2 LockTwo + Beweis 2.3 Peterson Lock 2.4 Lamport's Bakery Lock-Algorithmus

Mehr

Info B VL 17: Deadlocks

Info B VL 17: Deadlocks Info B VL 17: Deadlocks Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 17: Deadlocks p.327 Conditional

Mehr

Kapitel 8 Betriebsmittelverwaltung und Verklemmungen (deadlocks)

Kapitel 8 Betriebsmittelverwaltung und Verklemmungen (deadlocks) Kapitel 8 Betriebsmittelverwaltung und Verklemmungen (deadlocks) 8.1 Einführung und Übersicht Unter dem Begriff Betriebsmittel (BM, engl. resources) ist alles zusammengefasst, was ein Prozess zum Vorankommen

Mehr

( Faire ) Zuteilung eines Prozesses an den Prozessor (Entscheidung über Swapping) Wartende Prozesse in einer (FIFO-) Warteschlange organisieren

( Faire ) Zuteilung eines Prozesses an den Prozessor (Entscheidung über Swapping) Wartende Prozesse in einer (FIFO-) Warteschlange organisieren 22 2.2 Prozesse Prozess-Scheduling Scheduler: ( Faire ) Zuteilung eines Prozesses an den Prozessor (Entscheidung über Swapping) Scheduling-Verfahren Round Robin (einfach und häufig verwendet) Wartende

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Übung - Rechnerarchitektur/Betriebssysteme 4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 16: Erste Algorithmen in Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für

Mehr

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS 2: Algorithmen und Datenstrukturen Teil 2 Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 16. April

Mehr

Übungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG

Übungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 4 MUSTERLÖSUNG Aufgabe 4.1: Bestimmen Sie zu den folgenden Transaktions-Schedules, ob diese (konflikt-) serialisierbar

Mehr

Ausgewählte Kapitel eingebetteter Systeme

Ausgewählte Kapitel eingebetteter Systeme Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg 08.06.2005 Übersicht Problemdefinition Scheduling-Strategien

Mehr