IPC Flashcards

1
Q

Erzeuger/Verbraucher-Problem

Erkläre das Erzeuger/Verbraucher-Problem?

A
  • Der volle Puffer blockiert den Produzenten
  • Der leere Puffer blockiert den Verbraucher
  • Die müssen sich abwechselnd mit der Liste beschäftigen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Implementierung von Semaphoren

Wo wird die Ausführung von up() und down() durchgeführt?

A
  • Die Ausführung von up() und down() wird im kritischem Abschnitt durchgeführt.
  • “down” bezieht sich auf den Zustand warten im PCB
  • “up” bezieht sich auf den Zustand bereit im PCB
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Monitore

Was geschieht, wenn ein Prozess im Monitor sich mit einem anderen Prozess synchronisieren muss?

A
  • Es wird ein Signal über WAIT() und SIGNAL() an die Bedingungsvariable übergeben
  • Bsp.: WAIT(leer) // Prozess blockiert an Bedingung “leer”
  • Bsp.: SIGNAL(leer) // Prozess weckt einen beliebigen auf
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Implementierung von Monitoren

Wie werden Monitore implementiert?

A

Monitore werden mit Semaphoren implementiert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Implementierung von Monitoren

Was besitzt jeder Monitor?

A
  • Eine SEMAPHORE mutex = 1 // regelt exklusiven Zugriff
  • Eine SEMAPHORE next = 0 // für Prozess, der SIGNAL() sagt und deshalb blockieren muss
  • INTEGER next-anz = 0 // zählt Prozesse an “next”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Mailbox

Wie erfolgt die Synchronisation?

A

Die Synchronisation erfolgt über den Nachrichten-Austausch

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Mailbox

Welche zwei Funktionsprimitive gibt es?

A
  • send ( mailbox, message )
  • receive ( mailbox, message )
  • Die Funktionen arbeiten entweder blockierend oder nur receive arbeitet blockierend
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Mailbox

Lässt sich das Erzeuger/Verbraucher Problem abbilden mit dem Fall send und receive blockieren?

A

Ja, es lässt sich leicht abbilden, da die Mailbox ein beschränkter Puffer ist

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Mailbox

Lässt sich das Erzeuger/Verbraucher Problem abbilden mit dem Fall Nur receive ist blockierend?

A
  • Der Verbraucher schickt Nachrichten, welche leere Slots repräsentieren
  • Der Erzeuger kann auf diese Nachrichten warten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Klassische Synchronisationsprobleme

Was ist ein beispielhaftes Problem und wie kann es gelöst werden?

A
  • Der Zugriff auf gemeinsame Datenbank
  • Der erste Leser sperrt Datenbank und die anderen Leser werden gezählt
  • Der letzte Leser entsperrt die Datenbank
  • Die Leser haben Vorrang vor Schreibern
  • Der Schreiber muss warten, bis keine Leser mehr da sind
How well did you know this?
1
Not at all
2
3
4
5
Perfectly