1 / 6

Semaphore Übersicht (Dijkstra)

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)

Download Presentation

Semaphore Übersicht (Dijkstra)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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, …

  2. SemaphoreBeispiele 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

  3. SemaphoreÜbung 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 REQ S1 REQ S1 Task A REL S2 REQ S2 Task B REL S3 REL S1 REQ S3 REQ S3 REQ S3 Task C REL S2 REL S2

  4. SemaphoreÜbung 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.

  5. SemaphoreÜbung 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 Semaphore-Anweisungen (REQ und REL), so dass der Ablauf der o. g. Reihenfolge entspricht und kein Deadlock möglich ist? B S2 S1 A S4 S3 Init C

  6. SemaphoreÜbung 4 Durch eine geeignete Synchronisierung soll der folgende Ablauf von 4 Tasks (3 Überwachungs-tasks und 1 Protokollierungstask) erzwungen werden: U1 P U2 U3 P 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?

More Related