Zur Community

Informatik Betriebssysteme – Nebenläufigkeit und Synchronisation

15 KartenInformatikatrio30.09.2026Nur mit Link

Karteikarten zum Thema „Informatik“ · 15 Karten · von atrio. Beispiele: Was ist der Unterschied zwischen Prozess und Thread bezüglich Adressraum? · Was defin…

Karten

15 Karten
STANDARD

Was ist der Unterschied zwischen Prozess und Thread bezüglich Adressraum?

Rückseite

Prozesse haben getrennte virtuelle Adressräume, Threads desselben Prozesses teilen sich Code-, Daten- und Heap-Segment, besitzen aber eigene Stacks und Register.

STANDARD

Was definiert eine Race Condition (Wettlaufsituation)?

Rückseite

Mehrere Threads greifen gleichzeitig auf gemeinsame Daten zu, mindestens einer schreibt, und das Ergebnis hängt von der Ausführungsreihenfolge ab.

STANDARD

Welche drei Bedingungen muss eine kritische Sektion erfüllen?

Rückseite

Gegenseitiger Ausschluss (Mutual Exclusion), Fortschritt (Progress) und beschränktes Warten (Bounded Waiting).

STANDARD

Wie funktioniert ein Mutex (Mutual Exclusion Lock) prinzipiell?

Rückseite

Ein Mutex bietet lock()- und unlock()-Operationen; nur der Thread, der lock() erfolgreich aufruft, hält den Lock und darf die kritische Sektion betreten.

STANDARD

Was unterscheidet einen binären Semaphor von einem Mutex?

Rückseite

Ein Mutex hat Owner-Semantik (nur lockernder Thread darf unlocken), ein binärer Semaphor nicht; Semaphoren eignen sich auch für Signalisierung zwischen Threads.

STANDARD

Welche zwei atomaren Operationen definiert ein Zählsemaphor?

Rückseite

wait() (P/Down) dekrementiert und blockiert bei negativem Wert; signal() (V/Up) inkrementiert und weckt einen wartenden Thread auf.

STANDARD

Was ist ein Monitor und wie gewährleistet er gegenseitigen Ausschluss?

Rückseite

Ein Monitor kapselt gemeinsame Daten und Operationen; nur ein Thread darf gleichzeitig eine Monitor-Prozedur ausführen, mutual exclusion ist implizit.

STANDARD

Wozu dienen Condition Variables in Monitoren?

Rückseite

Sie erlauben Threads, innerhalb des Monitors auf eine Bedingung zu warten (wait) und andere Threads zu benachrichtigen (signal/broadcast), ohne den Lock dauerhaft zu halten.

STANDARD

Nenne die vier notwendigen Bedingungen für einen Deadlock (Coffman-Bedingungen).

Rückseite

Gegenseitiger Ausschluss, Hold-and-Wait, No Preemption, Circular Wait – alle vier müssen gleichzeitig vorliegen.

STANDARD

Wie verhindert die Bankier-Algorithmus-Strategie Deadlocks?

Rückseite

Er simuliert Ressourcenzuweisung vorab und gewährt Anfragen nur, wenn das System danach in einem sicheren Zustand bleibt (existiert sichere Sequenz).

STANDARD

Was ist der Unterschied zwischen Deadlock und Starvation?

Rückseite

Deadlock: Kein beteiligter Thread kommt weiter (zirkuläres Warten). Starvation: Ein Thread wird unendlich lange übergangen, während andere Fortschritt machen.

STANDARD

Wie löst man das Producer-Consumer-Problem mit Semaphoren?

Rückseite

Drei Semaphoren: mutex für Pufferzugriff, empty (Initialwert Puffergröße) für freie Slots, full (Initialwert 0) für gefüllte Slots.

STANDARD

Was charakterisiert das Readers-Writers-Problem und eine typische Lösung?

Rückseite

Mehrere Leser dürfen gleichzeitig lesen, Schreiber benötigen exklusiven Zugriff; Lösung via Read-Counter und Mutex oder Read-Write-Locks.

STANDARD

Was bewirkt eine Memory Barrier (Speicherbarriere) in nebenläufiger Programmierung?

Rückseite

Sie erzwingt Reihenfolge von Speicheroperationen: Vor der Barrier abgeschriebene Werte sind nach der Barrier für andere Threads sichtbar (Verhindert Reordering).

STANDARD

Wann spricht man von einem Spinlock und wann ist er sinnvoll?

Rückseite

Ein Spinlock wartet aktiv (busy-wait) auf Freigabe; sinnvoll bei sehr kurzen kritischen Sektionen im Kernel-Modus, um Kontextwechsel-Kosten zu vermeiden.

Lerne diese Karten mit Spaced Repetition

Kopiere das Deck kostenlos in deine Bibliothek und starte den Lernmodus mit dem FSRS-5 Algorithmus.