Aufgaben Semaphore Übersicht (Dijkstra)

Slides:



Advertisements
Ähnliche Präsentationen
Monitore in Java++ Aufgabe 2 von Markus Schlebusch Christoph Reinboth Sebastian Zok Johannes Stolte Norman Zuther.
Advertisements

Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
10.2 Wechselseitiger Ausschluss in Hardware
Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
Vs61 6 Verteilte Datenverwaltung. vs62 Ziel:Zusammengehöriger Datenbestand soll über mehrere Stationen verteilt werden, z.B. Fragmentierung: in mehrere.
Nsp Semaphore sind einfache Synchronisationsobjekte, ähnlich wie Ereignisse, aber unabhängig von Monitoren: (das) Semaphor: altes Flügelsignal.
Semaphore void Passieren (semaphore &s) { if (s > 0) { s--;
SAP R/3 - Speichermanagement
Seite 1 BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Aug 2008 Das zeitliche Verhalten periodisch auszuführender Aktionen.
Petrinetz Stufenweises Vorgehen beim Modellieren
Übungen/Aufgaben zur Vorlesung „Realzeitsysteme“
Aufgaben zum Scheduling
Kapitel 6.1 Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
Kapitel 7.2 Dining philosophers problem
FH-Hof Deadlocks Richard Göbel. FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf.
Kapitel 10 Nebenläufigkeit und wechselseitiger Ausschluss
Nebenläufige Programmierung
Schleifen-beobachtung
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Vorlesung 10 Mutual Exclusion Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Wir müssen also überlegen: Implementierung der Knoten, Implementierung der Kanten, daraus: Implementierung des Graphen insgesamt. Annahme: die Knoteninhalte.
Hinweise zum 10. Übungsblatt zu GIN1b, WS04/05 Prof. Dr. W. Conen (Version 1.0alpha, )
Inhalt danach. inhalt danach inhalt danach inhalt danach inhalt danach inhalt danach.
Entwicklung verteilter eingebetteter Systeme - Einführung
Externe Bewertung in IB-Biologie
5 Dinge passieren in Deiner Wohnung zur selben Zeit
Übersicht Auf den folgenden Seiten wird Ihnen anhand einer kleinen Abteilung gezeigt, wie Sie PQM an Ihre Bedürfnisse anpassen können. Mitarbeiter einrichten.
Algorithmus von Dijkstra. 0 Algorithmus von Dijkstra s Priority Queue PQ: Knoten, Priorität Weglänge Kandidatenmenge.
Prozess-synchronisation
Das Kausalnetz als Kern eines DSS
Thread Synchronisation in JAVA
Betriebssysteme Übung 2. Tutorium. Task 1 – Locks (1) Wozu Locks? Dienen dazu, exklusiven Zugriff auf eine Ressource sicherzustellen Lock = binäre Semaphore.
Zustandsübergangsdiagramme (1)
Mehrbenutzerzugriff auf GIS-Daten
Synchronisation paralleler Transaktionen  AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (2/13) Im folgenden wird ein vereinfachtes.
Synchronisation mit Zeitmarken (1) Zeitmarken-Synchronisation = einfaches, aber ineffizientes Verfahren zur Gewinnung konfliktserialisierbarer Schedules.
Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.
5.1.2 Sequentielle Konsistenz
6.3 Verteilte Transaktionen
Parallel Programming Semaphores / Reader - Writer - Lock
Vs61 6 Fehlertoleranz. vs62 Zuverlässigkeit (reliability) Sicherheit vor FehlernSicherheit vor Angriffen (safety)(security) WS/SS xySystemsicherheit SS.
Mechanik I Lösungen.
Binärbäume.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
:17 1  von 201 MedienInformatik Datentechnik  Übungen „Gestaltungsgrundlagen“
MedienInformatik Datentechnik
© 2008 TravelTainment The Amadeus Leisure Group Thread-Programmierung im Qt-Framework Von: Simon Lubberich Erstbetreuer:
Igor Vaynerman ISMOD-V ÜbungSS061 ISMOD-V Übung 3 Igor Vaynerman 8 Juni 2006.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Prozesse Alexander Sczyrba Jan Krüger.
Projektarbeit in der Informatik
Kontinentalverschiebung
Anweisungen zum Ausfüllen der Online-Formulare der Gemeinde Leifers
Vorlesung April 2000 Polygon Overlay
6.3 Verteilte Transaktionen
Der kritische Abschnitt
WS 2001/2002 Mehrbenutzerzugriff auf GIS-Daten
Kontrollstrukturen von Algorithmen
Netzwerk - Programmierung
Echtzeit-Betriebssysteme
Aufgaben Petrinetze Aufgabe 1
Übung 1 Gegeben ist folgender Pfad. Die Notation ( ... ) * soll bedeuten, daß sich die eingeklammerte Sequenz bis ins Unendliche wiederholt. Welche Pfadeigenschaften.
Implementieren von Klassen
Abläufe zum Anfang des Jahres
DB2 – SS 2019 von Baum allgemein bis B*-Baum
Vorstellen und Herleiten der Horner Schemas
DB2 – SS 2019 von Baum allgemein bis B*-Baum
10 Tipps zur Entwicklung einer Unternehmensstrategie
 Präsentation transkript:

Aufgaben Semaphore Ü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 eintreten (z.B. N=4: Nutzung von vier verfügbaren Bandgeräten) Blockierende Semaphore (INIT = 0) dient zur Prozesssynchronisation: Nach Prozess A kommt Prozess B (Reihenfolge), P()-Operation an der Stelle, wo gewartet werden muss und V()-Operation signalisiert, dass Wartebedingung erfüllt ist Prozess A ….. REL S REQ S ….. Prozess B Beachte: Deadlocks (Verklemmungen) entstehen, wenn die Reihenfolge der P/V-Operationen falsch gewählt wurde. Notationen: P(S) = passeeren = Verringern um den Wert 1: Request, wait, down, aquire, … V(S) = vrijgeven = Erhöhen um den Wert 1: Release, up, signal, …

Aufgaben Semaphore Beispiele aus dem Internet Philosophenproblem: http://www.nt.fh-koeln.de/fachgebiete/inf/diplom/semwork/beispiele/phil/phil.html Durchsetzen einer Reihenfolge: http://www.nt.fh-koeln.de/fachgebiete/inf/diplom/semwork/beispiele/reihenf/reihenf.html Wechselseitiger Ausschluss: http://www.nt.fh-koeln.de/fachgebiete/inf/diplom/semwork/beispiele/waus/waus.html Erzeuger/Verbraucherproblem: http://www.nt.fh-koeln.de/fachgebiete/inf/diplom/semwork/beispiele/erzver/erzver.html

Aufgaben Semaphore Aufgabe 1 Vorgegeben sind die Anordnung von Semaphor-Anweisungen am Anfang und am Ende dreier Tasks A, B und C. In der folgenden Tabelle sind die Anfangswerte für die drei Semaphor-Variablen S1, S2 und S3 eingetragen. Ermitteln Sie für die 4 Fälle a), b), c) und d) der Tabelle, ob und in welcher Reihenfolge diese Tasks bei der angegebenen Initialisierung der Semaphor-Variablen ablaufen. REQ S1 Task A REL S2 REQ S2 Task B REL S3 REL S1 REQ S3 Task C REL S2 Fall a) b) c) d) S1 2 3 S2 1 S3

Aufgaben Semaphore Aufgabe 2 Task C läuft an, wenn A und B abgelaufen sind. A B Task A REL S1 Task B REL S2 REQ S1 REQ S2 Task C S1 S2 C Aufgabe: Task C läuft an, wenn A oder B abgelaufen sind. Zeichne das Petri-Netz und formuliere die Semaphor-Anweisungen.

Aufgaben Semaphore Aufgabe 3 Gegeben ist folgendes Petri-Netz (Stellen-/Transitions-Netz) zur Beschreibung der Ablaufreihenfolge dreier Tasks A, B und C. Wie lautet die Ablaufreihenfolge, wenn S1 = S2 = S3 = 0, S4 = 1 ist und S1 mit 1 initialisiert wird? Ergänzen Sie die Taskanweisungen für A, B und C am Anfang und am Ende mit den entsprechenden Semaphor-Anweisungen (REQ und REL), so dass der Ablauf der o. g. Reihenfolge entspricht und kein Deadlock möglich ist? B S1 S2 A S3 S4 Init C

Aufgaben Semaphore Aufgabe 4 Durch eine geeignete Synchronisierung soll der folgende Ablauf von 4 Tasks (3 Überwachungs-tasks und 1 Protokollierungstask) erzwungen werden: U1 P U2 P U3 P 1) Führen Sie in jeder Task die erforderlichen Semaphor-Anweisungen ein, mit denen die geforderte Reihenfolge sichergestellt ist. 2) Wie müssen die von Ihnen benutzten Semaphor-Variablen initialisiert werden, damit die geforderte Reihenfolge bei der Task U1 beginnt?

Aufgaben Semaphore Aufgabe 5 Beispiel für Deadlock-Prevention (die höchstpriore Task kommt am spätesten) Im Programmablauf bedeutet: E = Anweisung Q = Zugriff auf Ressource Q V = Zugriff auf Ressource V Task Ankunftszeit Programmablauf 1/T Prio a 4 T E E Q V E 1 (hoch) b 2 T E V V E 2 c E E 3 d 0 T E Q Q Q Q E 4 Stellen Sie den zeitlichen Ablauf (0T >= t >= 18T) der vier Tasks für Prioritätsvererbung (priority inheritance) und für priority ceiling protocol (pcp) dar. Executing ready Ex. With Q locked blocked Ex. With V locked 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A B C D

Aufgaben Semaphore Aufgabe 5 Lösungsformular Task Ankunftszeit Programmablauf 1/T Prio a 4 T E E Q V E 1 (hoch) b 2 T E V V E 2 c E E 3 d 0 T E Q Q Q Q E 4 Executing Ex. With Q locked Ex. With V locked ready blocked 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A B C D

Aufgaben Semaphore Aufgabe 5 Lösungsformular Task Ankunftszeit Programmablauf 1/T Prio a 4 T E E Q V E 1 (hoch) b 2 T E V V E 2 c E E 3 d 0 T E Q Q Q Q E 4 Executing Ex. With Q locked Ex. With V locked ready blocked 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A B C D

Aufgaben Semaphore Aufgabe 6 Stellen Sie den Erreichbarkeitsgraphen für das nebenstehende Petri-Netz (Bedingung/Ereignis-Netz) auf, um nachzuweisen, dass es einen Knoten ohne abgehende Kanten gibt, so dass es zu einer Verklemmung kommen kann. Das Verhalten eines Lese-/Schreiblocks soll mit Hilfe normaler Semaphore nachgebildet werden, so dass zwei Rechenprozessen der lesende Zugriff oder einem Rechenprozess der schreibende Zugriff erlaubt ist. Dazu wird ein Semaphor mit 2 vorinitialisiert. Ein Prozess, der nur lesend auf den kritischen Abschnitt zugreift, allokiert das Semaphor wie gewohnt einmal, ein Rechenprozess, der schreibend zugreifen möchte, allokiert dagegen das Semaphor zweimal. Zur Vereinfachung sind 3 zugreifende Prozesse maximal aktiv. Sequenz zum Lesen Sequenz zum Schreiben P(S1) ... // kritischer Abschnitt V(S1)