Übung 5 Flashcards
Welche Aussagen zu gegenseitigem Ausschluss (mutual exclusion sind wahr)?
- Mutual exclusions treten nur lokal auf
- Eine Anforderung einer Lösung von mutual exclusions ist die Gleichverteilung von Rechenzeit unter den Prozessen.
- Eine Anforderung einer Lösung für mutual exclusions ist die Garantie, dass jeder Prozess (irgendwann) in den kritischen Abschnitt eintreten kann.
- Um die korrekte Durchführung von kritischen Abschnitten (z.B. Kernoperationen) von mehreren Prozessen zu gewährleisten, wird mutual exclusion verwendet.
- Eine Anforderung einer Lösung für mutual exclusions ist die Garantie, dass jeder Prozess (irgendwann) in den kritischen Abschnitt eintreten kann.
- Um die korrekte Durchführung von kritischen Abschnitten (z.B. Kernoperationen) von mehreren Prozessen zu gewährleisten, wird mutual exclusion verwendet.
Was sind mutual exclusions?
Es sind Anforderungen an eine Lösung:
- Höchstens ein Prozess im KA
- Für beliebige Anzahl von Prozessen
- Kein Blockieren durch Prozesse außerhalb des KA
- Jeder Prozess muss (irgendwann) in KA eintreten
Mutual exclusions
Lokal
Prozesse brauchen Zugriff auf gemeinsamen Speicher für kritischen Abschnitt.
Mutual exclusions
Verteilte
Verschicken geeigneter Nachrichten
Semaphoren
Welche Aussagen über Semaphoren sind wahr?
- Semaphoren werden vom Betriebssystem bereitgestellt
- Eine Semaphore ist eine Integer-Variable mit Prozesswarteschlange
- Bei einem binären Semaphor ist der kleinste mögliche Wert des Zählers 1.
- Eine Semaphore hat zwei teilbare Funktionen, die up/V und down/P genannt werden.
- Semaphoren werden vom Betriebssystem bereitgestellt.
- Eine Semaphore ist eine Integer-Variable mit Prozesswarteschlange.
Semaphoren
Wahr oder Falsch?
Bei einem binären Semaphor ist der kleinste mögliche Wert des Zählers 1
Falsch
- Binäre Semaphore ist ein Mutex
- Mutex hat Wert von 0 und 1
Wahr oder Falsch?
Eine Semaphore hat zwei teilbare Funktionen, die up/V und down/P genannt werden.
Falsch
- up() bzw. V und down() bzw. P müssen unteilbar sein
Welche Aussage ist wahr, wenn man P(empty) mit P(mutex) vertauscht?
- Semaphor mutex = 1
- Semaphor allocated = 0
- Semaphor empty = X
Producer
- WHILE true DO
- produce(piece)
- P(empty)
- P(mutex)
- add(piece)
- V(mutex)
- V(allocated)
- END
Consumer
- WHILE true DO
- P(allocated)
- P(mutex)
- remove(piece)
- V(mutex)
- use(piece)
- END
- Es ändert sich nichts
- Es kann zu Deadlocks kommen.
- Es ändert sich nichts, sofern man V(empty) ebenfalls mit V(mutex) vertauscht.
Es kann zu Deadlocks kommen
Welche Aussage zu Mutex ist wahr?
- Ein Mutex ist eine bool’sche Variable.
- Eine binäre Semaphore ist ein Mutex.
- Durch busy waiting warten Prozesse auf das Freischalten eines Mutex.
Eine binäre Semaphore ist ein Mutex
Monitore
Welche Aussagen über Monitore sind wahr?
- Prozeduren rufen Prozesse im Monitor auf.
- In einem Monitor können mehrere Prozesse gleichzeitig aktiv sein.
- In einem Monitor sind gemeinsam genutzte Daten und ihre Zugriffsprozeduren zu einer Einheit zusammengeführt.
- Die Synchronisation von Prozessen erfolgt mithilfe einer Bedingungsvariable und den Funktionen Wait und Signal.
- In einem Monitor sind gemeinsam genutzte Daten und ihre Zugriffsprozeduren zu einer Einheit zusammengeführt.
- Die Synchronisation von Prozessen erfolgt mithilfe einer Bedingungsvariable und den Funktionen Wait und Signal.
Monitore
Nenne Fakten zu Monitore
- Ein Monitor ist ein Konstrukt einer Programmiersprache
- Immer nur ein Prozess im Monitor aktiv
- Interessierte Prozesse warten in einer Warteschlange
- Prozesse rufen Prozeduren im Monitor auf
Pfadausdrücke
P1, P2 paralleles Arbeiten
P1 und P2 können parallel ausgeführt werden
Pfadausdrücke
P1;P2 sequentielles Arbeiten
P2 erst, wenn ein P1 beendet
Pfadausdrücke
n:(P1) Einschränkung
Höchstens n aktive Inkarnationen von P1
[P1] Mehrfache Inkarnationen
Beliebig viele Inkarnationen von P1