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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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. Nach Verwendung einer Ressource, wird die Ressource wieder freigegeben. Eine Menge von Prozessen befindet sich im Zustand eines Deadlocks, wenn jeder Prozess auf ein Ereignis wartet, das nur von einem anderen Prozess generiert wird, der auch auf ein Ereignis wartet. 2

2 Permanentes Blockieren einer Menge von Prozessen, die um Ressourcen konkurrieren oder miteinander kommunizieren Ressourcenkonflikt zwischen zwei oder mehreren Prozessen: jeder Prozess hält eine Ressource und wartet auf eine Ressource, die gerade ein anderer Prozess hält Beispiel 1: System mit 2 Plattenspeichereinheiten P 1 und P 2 haben jeweils 1 Plattenspeicher, benötigen aber insgesamt 2 Plattenspeicher, um fortsetzen zu können. Beispiel 2: Deadlocks Semaphore A und B mit 1 initialisiert P 0 P 1 wait (A); wait(b) wait (B); wait(a) 3 Deadlock: Überqueren einer Brücke Autos benötigen auf der Brücke einen Straßenabschnitt, der von einem anderen Auto besetzt ist. Jeder Brückenabschnitt kann als Ressource betrachtet werden. Auflösen eines Deadlocks : 1 Auto fährt zurück (Aufgabe einer Ressource). Ein Deadlock könnte auch dazu führen, dass mehrere Autos zurückfahren müssen. Verhungern ist möglich. 4

3 Systemmodell für Deadlocks Ressourcetypen: R 1, R 2,..., R m CPU Cycles, Speicherplatz, I/O Devices Jeder Ressourcetyp R i hat W i Instanzen. Jeder Prozess verwendet Ressourcen nach einem bestimmten Schema: Anforderung wenn nicht verfügbar, dann wartet Prozess bis die Ressource verfügbar ist Verwendung Prozess könnte auch andere Ressourcen benötigen, um eine Ressource zu verwenden. Freigabe nachdem die Ressource nicht mehr verwendet wird 5 4 Bedingungen für einen Deadlock 1. Wechselseitiger Ausschluss: Mindestens eine Ressource muss exklusiv verwendet werden. D.h. nur ein Prozess kann eine Ressource zu jedem beliebigem Zeitpunkt verwenden. Wenn ein anderer Prozess diese Ressource benötigt, so wird dieser Prozess solange verzögert, bis die Ressource frei wird. 2. Hold and Wait: Es existiert ein Prozess, der mindestens eine Ressource hat, und auf weitere Ressourcen wartet, die von anderen Prozessen gehalten werden. 3. Kein unfreiwilliges Abgeben von Ressourcen: Eine Ressource kann nur freiwillig von dem Prozess abgegeben werden, nachdem dieser die Ressource nicht mehr benötigt. 4. Circular Wait: Es gibt eine Menge von Prozessen {P0,,Pn}, die sich alle im Wartezustand befinden. P0 wartet auf eine Ressource, die von P1 gehalten wird. P1 wartet auf eine Ressource, die von P2 gehalten wird,..., Pn wartet auf eine Ressource, die von P0 gehalten wird. Circular Wait impliziert Hold and Wait. Bedingungen sind notwendig aber nicht ausreichend für eine Verklemmung. Wenn mindestens eine der oben genannten Bedingungen nicht zutrifft, dann kann es keinen Deadlock geben. 6

4 Circular Wait Geschlossene Kette von Prozessen, von denen jeder Prozess mindestens eine Ressource hält, die von einem anderen Prozess benötigt wird. Prozess P1 requests held by Ressource A Ressource B held by requests Prozess P2 Ein Deadlock tritt genau dann auf, wenn das Circular Wait nicht aufgelöst werden kann. Circular Wait kann nicht aufgelöst werden, wenn Bedingungen 1 bis 3 gelten. 7 Resource-Allocation Graph (1) Menge von Knoten V und Kanten E V wird in 2 Teilmengen unterteilt: P = {P 1, P 2,, P n }, die Menge aller Prozesse im System. R = {R 1, R 2,, R m }, die Menge aller Ressourcetypen im System. Eine Ressourceanfrage bezieht sich immer auf eine Instanz eines Ressourcetyps. Anforderungskante gerichtete Kante P 1 R j Zuweisungskante gerichtete Kante R j P i 9

5 Resource-Allocation Graph (2) Prozess Ressourcetyp mit 4 Instanzen P i fordert Instanz von R j an P i P i hat eine Instanz von R j P i R j R j 10 Resource Allocation Graph: ein Beispiel Beispiel: P 2 hat eine Instanz von R 1 und R 2, und wartet auf eine Instanz von R 3. P 2 kann fortsetzen, wenn R 3 von P 3 freigelassen wird. 11

6 Resource Allocation Graph mit einem Deadlock Circular Wait: alle 3 Prozesse warten darauf, dass ein anderer Prozess eine Ressource frei gibt Resource Allocation Graph mit einemzyklus aber ohne Deadlock Wenn P 4 seine Instanz von R 2 freigibt, dann kann R 2 an P 3 zugewiesen werden. Dadurch wird der Zyklus durchbrochen.

7 Grundlegende Fakten Resource AllocationGraph ohne Zyklen kein Deadlock. Resource AllocationGraph mit mindestens 1 Zyklus nur eine Instanz pro Ressourcentyp, dann Deadlock. mehrere Instanzenpro Ressourcentyp, dann ist ein Deadlock möglich Methoden zur Behandlung von Deadlocks Ignoriere Deadlocks Annahme, dass es keine Deadlocks gibt Annahme der meisten Betriebssysteme (z.b. Unix) Rebooten hilft immer! Deadlock Prevention verhindern einer der 4 Deadlock-Bedingungen. Deadlock Avoidance (Banker Algorithmus) Ressourcenreservierungen, die zu Deadlock führen könnten, werden nicht gewährt. Erkennen von Deadlocks Ressourcenanforderungen werde immer gewährt, sofern Ressourcen vorhanden sind. Periodisches Überprüfen, ob ein Deadlock vorliegt und ggf. Recovery

8 Verhindern von Deadlocks (1) Deadlock Prevention Garantiere, dass eine oder mehrere von den notwendigen Deadlock- Bedingungen nicht erfüllt sind. Hold and Wait Prozesse fordern alle Ressourcen auf einmal an. Prozesse warten, bis alle Ressourcen vorhanden sind. Verhungern von Prozessen möglich. Schlechte Nutzung der zugewiesenen Ressourcen Information über die benötigten Ressourcen wird vorausgesetzt. Wechselseitiger Ausschluss Gemeinsam verwendbare Ressourcen benötigen keinen exklusiven Zugriff (Lesen von Files). Nicht gemeinsam verwendbare Ressourcen benötigen exklusiven Zugriff (z.b. Drucker). Wechsels. Ausschluss kann nicht unterbunden werden. 17 Verhindern von Deadlocks (2) Deadlock Prevention kein unfreiwilliges Abgeben von Ressourcen: Virtuelle Ressourcen (preemptive Scheduling) Virtuelle Ressourcen (z.b. CPU) ermöglichen vorzeitige Abgabe von Ressourcen. ohne vorzeitige Abgabe von Ressourcen Wenn Prozess eine Ressource anfordert, die nicht frei ist, dann muss er alle seine Ressourcen freigeben. Prozess bekommt alle oder keine Ressourcen Circular Wait Nummeriere alle Ressourcetypen (Ressourcen A, B, C) und gewährleiste: Jeder Prozess fordert alle Ressourcen in aufsteigender Reihenfolge an. Bevor ein Prozess eine Ressource i anfordert, muss er alle Ressourcen j mit j i freigeben. 18

9 Algorithmus zur Verhinderung von Deadlocks Deadlock Avoidance Benötige zusätzliche Information darüber, wie viele Ressourcen angefordert werden. Entscheide, ob Anforderung erfüllt werden kann oder nicht. Sicherer Zustand: System kann Ressourcen in einer bestimmten Reihenfolge an Prozesse vergeben, ohne dabei einen Deadlock zu verursachen. Ein System befindet sich in einem sicheren Zustand, wenn es eine sichere Sequenz gibt. 19 Sichere Sequenz System muss bei einer Ressourceanfrage überprüfen, ob bei Vergabe der Ressourcen das System in einem sicheren Zustand bleibt. Ein System ist sicher, wenn es eine sichere Sequenz von allen Prozessen gibt. Eine Menge von Prozessen < P1,,Pn > ist sicher in Bezug auf Deadlocks, wenn für jeden Prozess Pi gilt: Die von Pi und von allen Pj (j < i) benötigten Ressourcen können zugewiesen werden. Wenn Ressourcen nicht unmittelbar verfügbar sind, dann kann Pi warten, bis alle Pj (j <i) fertig sind. Wenn Pj fertig ist, kann Pi die benötigten Ressourcen bekommen, exekutieren, die Ressourcen freigeben und terminieren. Wenn Pi terminiert, dann kann Pi+1 die Ressourcen von Pi verwenden, usw. 20

10 Grundlegende Fakten System in sicherem Zustand keine Deadlocks. System in unsicherem Zustand Deadlocks möglich Verhindern von Deadlocks gewährleiste, dass System nie in einen unsicheren Zustand kommt Resource-Allocation Graph graphischer Ansatz: funktioniert nur, wenn es eine Instanz pro Ressource gibt. May-Kante P 1 R j Prozess P 1 könnte Ressource R j in der Zukunft anfordern (gestrichelte Kante) May-Kante wird zu einer Anforderungskante, wenn Prozess die Ressource anfordert. Wenn Ressource wieder freigegeben wird, dann wird aus einer Zuweisungskante eine May-Kante. Für jedes Prozess-Ressourcen Paar muss eine etwaige Anforderung in der Zukunft a-priori bekannt sein.

11 Resource-Allocation Graph zur Verhinderung (Avoidance) von Deadlocks Bisher: Anforderungs- und Zuweisungskanten; Jetzt auch May-Kanten: P i --->R J zeigt an, dass R J in der Zukunft von P i angefordert werden könnte. P1 muss vor P2 (P1 bekommt R2) ausgeführt werden, um einen sicheren Zustand zu gewährleisten. Wenn R2 zuerst an P2 zugewiesen wird, dann entsteht ein Zyklus und ein Deadlock ist möglich, falls R2 von P1 angefordert wird. 23 Unsicherer Zustand in einem Resource-Allocation Graph Graph mit Zyklus und Potential für Deadlock; Unsicherer Zustand: P1 fordert R2 an. 24

12 Banker Algorithmus Deadlock Avoidance Bestimmt ob sich ein System in einem sicheren Zustand befindet. Algorithmus funktioniert für Ressourcenanforderung mit mehreren Instanzen. Jeder Prozess muss die maximale Zahl von Instanzen einer Ressource angeben, die er davon benötigt. Diese Zahl darf nicht über die verfügbaren Ressourcen hinausgehen. Verwende folgende Variablen: N ist die Anzahl der Prozesse. M ist die Anzahl der Ressourcetypen. Available: Vektor der Länge m, welcher die Anzahl der verfügbaren Ressourcen von jedem Typ angibt. Max: n x m (May-) Matrix, welche die maximale Anforderung für jeden Prozess bezüglich aller Ressourcen definiert. Allocation: n x m Matrix, welche die derzeitige Zuordnung von Ressourcen für jeden Prozess spezifiziert. Need: n x m Matrix, welche die restlichen Anforderungen von Ressourcen für jeden Prozess angibt. Work: Vektor der Länge m (Ressourcen) Finish: Vektor der Länge n (Prozesse) 25 Banker Algorithmus: Zustand sicher? Work = Available; Finish = False; iterate = True; repeat If there exists an i such that Finish[i] = False AND Need[i,*] <= Work then Work = Work + Allocation [i,*] Finish[i] = True; else iterate = False; endif until iterate If for every i: Finish[i] = True then System ist in einem sicheren Zustand endif 26

13 Banker Algorithmus: Ein Beispiel 3 Ressourcen: A, B, C mit je 10, 5 und 7 Instanzen Betrachte das System zu einem bestimmten Zustand: Allocation Max Available Need A B C A B C A B C A B C P P P P P System befindet sich in einem sicheren Zustand, da die Sequenz <P1,P3,P4,P2,P0> das Sicherheitskriterium erfüllt Algorithmus für die Anforderung von Ressourcen (1) if Request[i,*] <= Need[i,*] then goto 2 else Prozess überschreitet maximale Anforderung ; exit (2) if Request[i,*] <= Available[*] then goto 3 else Prozess muss warten, da Ressourcen nicht verfügbar (3) Modifiziere Systemzustand gemäß der Anforderung - Available = Available - Request[i,*] - Allocation [i,*] = Allocation [i,*] + Request [i,*] - Need[i,*] = Need[i,*] - Request [i,*] 28 Finde heraus, ob die weitere Anforderung das System in einem sicheren Zustand belassen. Falls nicht, so muss diese Anforderung warten. Falls ja, dann werden die Ressourcen zugeteilt.

14 Anforderung von Ressourcen: Ein Beispiel Annahme: P1 mit zusätzlichen Request: (1,0,2) Überprüfe ob Request <= Available korrekt, dann ermittle neuen Zustand Allocation Need Available A B C A B C A B C P P P P3 P Neues System befindet sich in einem sicheren Zustand, da die Sequenz <P1,P3,P4,P0,P2> das Sicherheitskriterium erfüllt. Anforderung kann erfüllt werden. 29 Erkennen von Deadlocks Erlaube System in einendeadlock zu gelangen. Erkennungsalgorithmus Recovery-Mechanismus 30

15 Erkennen von Deadlocks 1 Instanz pro Ressource Wait-for-Graph Knoten sind Prozesse P i wartet auf P j : P i P j Periodische Anwendung eines Algorithmus, der Zyklen im Graphen sucht. Ein Zyklus entspricht einem Deadlock. Annahme, dass der Algorithmus in keinendeadlock involviert ist. 31 Resource-Allocation Graph und Wait-for Graph Resource-Allocation Graph Wait-for graph 32

16 Erkennen von Deadlocks Mehrere Instanzen pro Ressource n... Anzahl der Prozesse m... Anzahl der Ressourcen Available: Vektor der Länge m gibt die Anzahl der verfügbaren Ressourcen an. Allocation: n x m Matrix spezifiziert die derzeitige Zuordnung von Ressourcen für jeden Prozess. Request: n x m Matrix, welche die aktuellen Anforderungen pro Prozess angibt. Request [i,j] = k bedeutet, dass k zusätzliche Instanzen vom Ressourcentyp R j von Prozess P i benötigt werden. 33 Algorithmus zum Erkennen von Deadlocks Annahme: Work und Finish sind Vektoren der Länge m und n. 1. Initialisierung: (a) Work ::= Available (b) For i = 1,2,, n if Allocation i 0, then Finish[i] := false; otherwise, Finish[i] := true. 2. Finde einen Index i sodass 2 Bedingungen gültig sind: (a) Finish[i] = false (b) Request i Work Wenn es kein i gibt, dann gehe zu Work := Work + Allocation i Finish[i] := true gehe zu If Finish[i] = false, für einige i, 1 i n, dann befindet sich das System in einem Deadlock. Wenn Finish[i] = false, dann ist P i deadlocked. 34

17 Erkennungsalgorithmus: Beispiel (1) 5 Prozesse P 0 bis P 4 ; 3 Ressourcetypen A (7 Instanzen), B (2 Instanzen), und C (6 Instanzen). Snapshot 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 > impliziert Finish[i] = true für alle i. Beispiel (2) P 2 fordert eine zusätzliche Instanz vom Typ C an. Request A B C P P P P P Was ist der Zustand des Systems? Kann Ressourcen von P 0 für andere Anforderungen verwenden; reicht aber nicht für alle Anforderungen aus; P 1, P 2, P 3 und P 4 befinden sich in einem Deadlock. 36

18 Deadlock Recovery: Prozessterminierung Abbrechen aller betroffenen Prozesse Abbrechen einzelner beteiligter Prozesse, solange bis der Deadlock- Zyklus beseitigt ist (wiederholtes Aufrufen des Erkennungsalg.) Rollback aller beteiligten Prozesse bis zu einem definierten Aufsetzpunkt (Deadlock kann sich wiederholen). Reihenfolge für das Abbrechen von Prozessen? Prozessprioritäten bisherige und verbleibende Laufzeit eines Prozesses Ressourcen, die bisher verwendet worden sind Ressourcen, die noch benötigt werden interaktive oder Batch-Prozesse 38 Deadlock Recovery: Freigabe von Ressourcen Auswahl von Prozessen für Ressourcenfreigabe minimiere Kosten Ressourcen werden Prozessen schrittweise entzogen und an andere Prozesse vergeben, bis kein Deadlock mehr vorliegt Rücksetzen der Prozesse, denen Ressourcen entzogen werden, bis zum Punkt der Zuweisung Verhungern eines Prozesses ist möglich berücksichtige Anzahl der Rollbacks 39

19 Zusammenfassung 4 Deadlock Bedingungen Wechselseitiger Ausschluss Hold and Wait Kein unfreiwilliges Abgeben von Ressourcen Circular Wait Deadlock Prevention Deadlock Avoidance Erkennen eines Deadlocks Recovery 41

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

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

Mehr

Betriebssysteme 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

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

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

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

Mehr

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

Ü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

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

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

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

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

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

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme Grundzüge der Informatik IV: Betriebssysteme Thomas Fahringer Institut für Informatik Universität Innsbruck V Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick V 2 Was ist

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

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

9 Verteilte Verklemmungserkennung

9 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

Mehr

Softwarelösungen: Versuch 4

Softwarelö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]

Mehr

Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang. WS 07/08

Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang.   WS 07/08 Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende

Mehr

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang Reihungen Martin Wirsing in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang http://www.pst.informatik.uni-muenchen.de/lehre/ws0506/infoeinf/ WS 05/06 2 Ziele Die Datenstruktur der Reihungen

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

Einführung: Zustandsdiagramme Stand:

Einführung: Zustandsdiagramme Stand: Einführung: Zustandsdiagramme Stand: 01.06.2006 Josef Hübl (Triple-S GmbH) 1. Grundlagen Zustandsdiagramme Zustände, Ereignisse, Bedingungen, Aktionen 2. Verkürzte Darstellungen Pseudozustände 3. Hierarchische

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

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

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

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

Aufgabe (Schreibtischtest, lexikographische Ordnung)

Aufgabe (Schreibtischtest, lexikographische Ordnung) Aufgabe (Schreibtischtest, lexikographische Ordnung) Führen Sie einen Schreibtischtest für den Algorithmus Bubblesort aus der VL für die folgenden Eingabe-Arrays durch. Geben Sie das Array S nach jedem

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

Mehr

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

7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle

7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle In Anwendungen ist es oft interessant zu wissen, ob man überhaupt von einem Knoten v zu einem Knoten w gelangen kann, ganz gleich wie lang der Weg auch ist. Gegeben sei dabei ein gerichteter Graph G =

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

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

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

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv

Mehr

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

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

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Search - Beweis der Korrektheit David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2013 Algemeine Anmerkungen zur Übung 9 Aufgabenblätter, 3 Abgabetermine

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

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt

Mehr

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion Betriebssysteme Vorlesung im Herbstsemester 2010 Universität Mannheim Kapitel 6: Speicherbasierte Prozessinteraktion Felix C. Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung

Mehr

Klausur zur Vorlesung Grundlagen der Betriebssysteme

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

Mehr

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen Wiederholung Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl unabhängig von Subproblemen Optimalität der Subprobleme Beispiele für optimale Greedy-Lösungen Scheduling Problem

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

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Ü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

13. Übung mit Musterlösung

13. Übung mit Musterlösung 13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten

Mehr

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016 Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 e0926364@student.tuwien.ac.at 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +

Mehr

10 Kürzeste Pfade SSSP-Problem

10 Kürzeste Pfade SSSP-Problem In diesem Kapitel setzen wir uns mit der Berechnung von kürzesten Pfaden in einem Graphen auseinander. Definition 10.1 (Pfadgewichte). i) Das Gewicht eines Pfades p = (v 0, v 1,..., v k ) ist die Summe

Mehr

Informatik II Musterlösung

Informatik II Musterlösung Ludwig-Maximilians-Universität München SS 2006 Institut für Informatik Übungsblatt 4 Prof. Dr. M. Wirsing, M. Hammer, A. Rauschmayer Informatik II Musterlösung Zu jeder Aufgabe ist eine Datei abzugeben,

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

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

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

Ü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

Einführung in die Informatik 2

Einführung in die Informatik 2 Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Lars Hupel, Lars Noschinski, Dr. Jasmin Blanchette Wintersemester 2013/14 Wiederholungsklausur 24. März 2014 Einführung

Mehr

Aufgaben Semaphore Übersicht (Dijkstra)

Aufgaben Semaphore Übersicht (Dijkstra) Übersicht (Dijkstra) Einsatz von Semaphoren: Wechselseitiger Ausschluss (INIT = 1): REQ. Kritischer Bereich. REL Zählende Semaphore (INIT = N): Bis zu N verschiedene Prozesse dürfen in den kritischen Bereich

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

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

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

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

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap. 254 12. Graphen Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9.1-9.4,Cormen et al, Kap. 22 Königsberg 1736 255 Königsberg 1736 255 Königsberg 1736 255

Mehr

ADS: Algorithmen und Datenstrukturen 2

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

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

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine

Mehr

Lösung von Übungsblatt 9. (Interprozesskommunikation)

Lösung von Übungsblatt 9. (Interprozesskommunikation) Lösung von Übungsblatt 9 Aufgabe 1 (Interprozesskommunikation) 1. Was ist ein kritischer Abschnitt? Mehrere Prozesse greifen lesend und schreibend auf gemeinsame Daten zu. 2. Was ist eine Race Condition?

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

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7 1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten

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

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind. 3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

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

Heute. Algorithmen für Ad-hoc- und Sensornetze. Erinnerung: MAC-Layer. Erinnerung: Färbungen. Definition

Heute. Algorithmen für Ad-hoc- und Sensornetze. Erinnerung: MAC-Layer. Erinnerung: Färbungen. Definition Heute Algorithmen für Ad-hoc- und Sensornetze VL 0 Eine kurze Geschichte vom Färben (Teil ) Medium Access Control / Färbungen, Teil kurze Wiederholung Schöner verteilter Färbungsalgorithmus Markus Völker

Mehr

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016 Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithms and Complexity Group 186.815 Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS 2016 5. Oktober 2016 Machen Sie

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

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

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

Einheit 11 - Graphen

Einheit 11 - Graphen Einheit - Graphen Bevor wir in medias res (eigentlich heißt es medias in res) gehen, eine Zusammenfassung der wichtigsten Definitionen und Notationen für Graphen. Graphen bestehen aus Knoten (vertex, vertices)

Mehr