Ü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
Pfadausdrücke
Welche Aussage beschreibt den gegeben Pfadausdruck path 2:(1:(P1),[P2]) end?
- Es können bis zu 2 Inkarnationen von P1 und 2 Inkarnationen von P2 paralell arbeiten.
- Es kann ein P1 und beliebig viele Inkarnationen von P2 parallel arbeiten, solange die Gesamtanzahl der Inkarnationen maximal 2 beträgt.
- Es können ein P1 und anschließend beliebig viele Inkarnationen von P2 arbeiten, solange die Anzahl der Inkarnationen maximal 2 beträgt.
Es kann ein P1 und beliebig viele Inkarnationen von P2 parallel arbeiten, solange die Gesamtanzahl der Inkarnationen maximal 2 beträgt.
Welche Aussagen sind richtig?
- Eine Mailbox kann beliebig oft beschrieben werden, bevor sie ausgelesen wird.
- Mit der Mailbox kann man auch über Rechnergrenzen hinweg eine Semaphore implementieren.
- In einer Barrieren-Synchronisation werden alle Prozesse, welche die Barriere erreichen, blockiert bis alle Prozesse die Barriere erreicht haben.
- Nur der erste Prozess, der eine Barriere erreicht, kann diese passieren. Der Rest wird blockiert (First Come, First Served (FCFS) Prinzip).
- Mit der Mailbox kann man auch über Rechnergrenzen hinweg eine Sempahore implementieren.
- In einer Barrieren-Synchronisation werden alle Prozesse, welche die Barriere erreichen haben, blockiert, bis alle Prozesse die Barriere erreicht haben.
Welche Aussage zu UNIX Domain Sockets ist wahr?
- Beim Erstellen eines Unix Domain Sockets wird ein Port blockiert.
- Der schreibende Prozess kann schreiben bevor der hörende Prozess gestartet wurde.
- UNIX Domain Sockets unterstützen sowohl Stream als auch Datagram Sockets. Raw Sockets werden jedoch nicht unterstützt.
UNIX Domain Sockets unterstützen sowohl Stream als auch Datagram Sockets. Raw Sockets werden jedoch nicht unterstützt.