Podcast
Questions and Answers
Was sind Race Conditions?
Was sind Race Conditions?
Bei sequentiellen Systemen können Prozesse gleichzeitig berechnen.
Bei sequentiellen Systemen können Prozesse gleichzeitig berechnen.
False
Was ist eine Verklemmung?
Was ist eine Verklemmung?
Ein Zustand, in dem ein oder mehrere Prozesse nicht mehr weiter rechnen können.
Eine _____ ist ein Zustand, in dem mehrere Prozesse nicht mehr weiter rechnen können.
Eine _____ ist ein Zustand, in dem mehrere Prozesse nicht mehr weiter rechnen können.
Signup and view all the answers
Ordnen Sie die folgenden Begriffe ihren Definitionen zu:
Ordnen Sie die folgenden Begriffe ihren Definitionen zu:
Signup and view all the answers
Welche der folgenden Aussagen beschreibt echte Parallelität?
Welche der folgenden Aussagen beschreibt echte Parallelität?
Signup and view all the answers
Eine parallele Programmausführung bietet immer die gleiche Ausgabe bei identischen Eingaben.
Eine parallele Programmausführung bietet immer die gleiche Ausgabe bei identischen Eingaben.
Signup and view all the answers
Wie kann der Zugriff auf Ressourcen zwischen Prozessen synchronisiert werden?
Wie kann der Zugriff auf Ressourcen zwischen Prozessen synchronisiert werden?
Signup and view all the answers
Welche der folgenden Eigenschaften sind notwendig für parallele Systeme?
Welche der folgenden Eigenschaften sind notwendig für parallele Systeme?
Signup and view all the answers
Ein verkehrsfrei System kann in einen Verklemmungszustand geraten.
Ein verkehrsfrei System kann in einen Verklemmungszustand geraten.
Signup and view all the answers
Welche Phase gehört nicht zu den vier Phasen eines kritischen Abschnitts?
Welche Phase gehört nicht zu den vier Phasen eines kritischen Abschnitts?
Signup and view all the answers
Was sind kritische Abschnitte in der Programmierung?
Was sind kritische Abschnitte in der Programmierung?
Signup and view all the answers
Ein Prozess darf einen anderen unendlich lange daran hindern, einen kritischen Abschnitt zu betreten.
Ein Prozess darf einen anderen unendlich lange daran hindern, einen kritischen Abschnitt zu betreten.
Signup and view all the answers
Ein Prozess, der nicht zur Ausführung kommt, obwohl kein Deadlock entstanden ist, wird als __________ bezeichnet.
Ein Prozess, der nicht zur Ausführung kommt, obwohl kein Deadlock entstanden ist, wird als __________ bezeichnet.
Signup and view all the answers
Nennen Sie einen Mechanismus zur Einschränkung der Parallelität auf Hardware-Ebene.
Nennen Sie einen Mechanismus zur Einschränkung der Parallelität auf Hardware-Ebene.
Signup and view all the answers
Was beschreibt eine Race Condition?
Was beschreibt eine Race Condition?
Signup and view all the answers
Nenne eine Maßnahme zur Vermeidung von Race Conditions.
Nenne eine Maßnahme zur Vermeidung von Race Conditions.
Signup and view all the answers
Die zwei Arten des Wartens sind aktives Warten und __________.
Die zwei Arten des Wartens sind aktives Warten und __________.
Signup and view all the answers
Ordne die Begriffe den passenden Beschreibungen zu:
Ordne die Begriffe den passenden Beschreibungen zu:
Signup and view all the answers
Ordnen Sie die folgenden Konzepte ihren Beschreibungen zu:
Ordnen Sie die folgenden Konzepte ihren Beschreibungen zu:
Signup and view all the answers
Welche Aussage zu kritischen Abschnitten ist korrekt?
Welche Aussage zu kritischen Abschnitten ist korrekt?
Signup and view all the answers
Unter __________ wird eine zyklische Warte-situation verstanden, die einen Deadlock zur Folge hat.
Unter __________ wird eine zyklische Warte-situation verstanden, die einen Deadlock zur Folge hat.
Signup and view all the answers
Test-and-Set-Lock ist ein Mechanismus auf Betriebssystem-Ebene.
Test-and-Set-Lock ist ein Mechanismus auf Betriebssystem-Ebene.
Signup and view all the answers
Was wird als aktives Warten bezeichnet?
Was wird als aktives Warten bezeichnet?
Signup and view all the answers
Welche Aussage über die Operation 'down' einer Semaphore ist korrekt?
Welche Aussage über die Operation 'down' einer Semaphore ist korrekt?
Signup and view all the answers
Ein Mutex kann mehr als zwei Zustände annehmen.
Ein Mutex kann mehr als zwei Zustände annehmen.
Signup and view all the answers
Was passiert, wenn ein Prozess passiv wartet?
Was passiert, wenn ein Prozess passiv wartet?
Signup and view all the answers
Die Kontrollvariable s von wa wird mit der Maximalzahl an Prozessen n __________.
Die Kontrollvariable s von wa wird mit der Maximalzahl an Prozessen n __________.
Signup and view all the answers
Ordne die Begriffe den entsprechenden Funktionen zu:
Ordne die Begriffe den entsprechenden Funktionen zu:
Signup and view all the answers
Was wird durch die Funktionen 'down' und 'up' sichergestellt?
Was wird durch die Funktionen 'down' und 'up' sichergestellt?
Signup and view all the answers
Bei aktivem Warten wird ein wartender Prozess in den Zustand 'rechenwillig' überführt.
Bei aktivem Warten wird ein wartender Prozess in den Zustand 'rechenwillig' überführt.
Signup and view all the answers
Was sind die beiden Zustände eines Mutex?
Was sind die beiden Zustände eines Mutex?
Signup and view all the answers
Was passiert, wenn ein Prozess eine zusätzliche Ressource anfordert?
Was passiert, wenn ein Prozess eine zusätzliche Ressource anfordert?
Signup and view all the answers
Ein wartender Prozess darf Ressourcen belegen.
Ein wartender Prozess darf Ressourcen belegen.
Signup and view all the answers
Wie kann die Bedingung der nichtunterbrechbaren Ressourcen umgangen werden?
Wie kann die Bedingung der nichtunterbrechbaren Ressourcen umgangen werden?
Signup and view all the answers
Ein Beispiel für eine nicht unterbrechbare Ressource ist der __________.
Ein Beispiel für eine nicht unterbrechbare Ressource ist der __________.
Signup and view all the answers
Ordne die folgenden Prozesse ihren Ressourcen zu:
Ordne die folgenden Prozesse ihren Ressourcen zu:
Signup and view all the answers
Wie kann zyklisches Warten verhindert werden?
Wie kann zyklisches Warten verhindert werden?
Signup and view all the answers
Ein Druckauftrag kann gleichzeitig von mehreren Prozessen bearbeitet werden.
Ein Druckauftrag kann gleichzeitig von mehreren Prozessen bearbeitet werden.
Signup and view all the answers
Ressourcen dürfen nur dann angefordert werden, wenn sie sich in der __________ hinter einer Ressource befinden, die der Prozess bereits belegt hat.
Ressourcen dürfen nur dann angefordert werden, wenn sie sich in der __________ hinter einer Ressource befinden, die der Prozess bereits belegt hat.
Signup and view all the answers
Was ist die Voraussetzung für eine sichere Verteilung von Ressourcen?
Was ist die Voraussetzung für eine sichere Verteilung von Ressourcen?
Signup and view all the answers
Ein Deadlock kann auftreten, wenn alle Deadlock-Bedingungen erfüllt sind.
Ein Deadlock kann auftreten, wenn alle Deadlock-Bedingungen erfüllt sind.
Signup and view all the answers
Welche Methode kann verwendet werden, um die Bedingung der exklusiven Ressource außer Kraft zu setzen?
Welche Methode kann verwendet werden, um die Bedingung der exklusiven Ressource außer Kraft zu setzen?
Signup and view all the answers
Um Deadlocks zu vermeiden, muss ein Prozess alle nötigen Ressourcen ______, bevor er mit der Ausführung beginnt.
Um Deadlocks zu vermeiden, muss ein Prozess alle nötigen Ressourcen ______, bevor er mit der Ausführung beginnt.
Signup and view all the answers
Ordnen Sie die Bedingungen für Deadlocks den richtigen Beschreibungen zu:
Ordnen Sie die Bedingungen für Deadlocks den richtigen Beschreibungen zu:
Signup and view all the answers
Welche Aussage über die Prognose zukünftiger Systemzustände ist richtig?
Welche Aussage über die Prognose zukünftiger Systemzustände ist richtig?
Signup and view all the answers
Der Spooler speichert Aufträge für alle Prozesse in einer Warteschlange und ermöglicht den gleichzeitigen Zugriff auf Ressourcen.
Der Spooler speichert Aufträge für alle Prozesse in einer Warteschlange und ermöglicht den gleichzeitigen Zugriff auf Ressourcen.
Signup and view all the answers
Wie kann die Bedingung 'Hold-and-Wait' verhindert werden?
Wie kann die Bedingung 'Hold-and-Wait' verhindert werden?
Signup and view all the answers
Study Notes
Kapitel 3: Parallele Systeme und Synchronisation
- Rechensysteme benötigen immer mehr Leistung, gleichzeitig sind Prozessoren an ihre Grenzen gestoßen, deshalb werden vermehrt parallele Systeme eingesetzt.
- Parallele Prozesse interagieren und können auf Ressourcen (z.B. Arbeitsspeicher) gleichzeitig zugreifen.
- Dies kann zu unerwünschten Effekten (Race Conditions) führen, z.B. falsche Rechenergebnisse.
- Race Conditions werden durch Synchronisation der Prozesse vermieden.
- Abschnitt 3.2 stellt verschiedene Synchronisationskonzepte vor.
- Abschnitt 3.3 beschreibt typische Probleme (z.B. Verklemmungen).
- Abschnitt 3.5 behandelt den Umgang mit Verklemmungen (z.B. Deadlocks).
3.1 Parallele Systeme
- Sequentielle Programme liefern immer die gleichen Ergebnisse bei gleichen Eingaben (determinierte Ergebnisse).
- Parallele Programme können unterschiedliche Ergebnisse bei gleichen Eingaben liefern (nichtdeterminiert).
- Parallele Ausführung wird in nebenläufige und echt parallele Ausführung unterschieden:
- Nebenläufige Ausführung: Prozesse werden zeitlich verzahnt ausgeführt.
- Echt parallele Ausführung: Zwei oder mehr Prozesse laufen gleichzeitig ab. Dies setzt mehrere CPUs voraus (Multi-Core Systeme).
- Interaktionsformen von parallelen Prozessen:
- Kausale Beziehungen: Abhängigkeiten zwischen Aktivtäten (z.B. Ereignis löst ein anderes aus).
- Kommunikation: Nachrichtenaustausch zwischen Prozessen.
- Koordinierung: Beziehung zwischen Auftraggeber und Auftragnehmer.
- Konkurrenz: Gleichzeitiger Zugriff auf gemeinsame Ressourcen.
3.1.2 Beschreibung paralleler Systeme
- Parallele Systeme können auf verschiedenen Abstraktionsebenen beschrieben werden:
- Modell-Ebene: Abstrakte Darstellung von Aktionen und Abhängigkeiten (z.B. mittels Aktionsstrukturen, Petri-Netze).
- Programmiersprachen-Ebene: Konkrete Modellierung (z.B. durch Threads).
- Betriebssystem-Ebene: Verwaltung von parallelen Aktivitäten (Prozesse und Threads), Kommunikation und Synchronisation.
3.1.3 Synchronisation, Race Condition
- Race Conditions entstehen, wenn zwei oder mehr Prozesse gleichzeitig auf eine Ressource zugreifen.
- Das Ergebnis hängt von der Ausführungsreihenfolge ab und ist nicht determiniert.
- Kritische Abschnitte sind Codebereiche, die synchronisiert werden müssen, da diese den Zugriff verschiedener Prozesse koordinieren müssen.
- Die Ausführung der Prozesse in kritischen Abschnitten muss zeitlich sequenziert werden.
3.2 Prozesssynchronisation
- Hardware-Ebene: Unterbrechungssperren (Interrupts deaktivieren).
- Verfahren: -Aktives Warten: Prozesse überprüfen kontinuierlich, ob sie auf die Ressource zugreifen dürfen. -Passives Warten: Prozesse geben die Kontrolle an das Betriebssystem ab und warten auf ein Signal. -Semaphoren: Eine ganzzahlige Variable, um den Zugriff auf eine Ressource zu steuern. -Mutex (Atombefehl): Ein binärer Semaphor.
3.3 Beispiele für Prozesssynchronisation
- Erzeuger-Verbraucher-Problem: Ein Erzeuger produziert Daten und legt sie in einen Puffer. Ein Verbraucher holt Daten aus dem Puffer.
- Speisende Philosophen: Ein Beispiel für eine Deadlocksituation.
3.4 Verklemmungen (Deadlocks)
- Deadlocks: Prozesse warten auf Ressourcen, die blockiert sind, was zu einem Stillstand des Systems führt.
- Bedingung: Exklusiver Zugriff auf Ressourcen, Reihenfolge des Erwerbs von Ressourcen, kein Entzug der Ressource während des Wartens, zyklische Abhängigkeit.
3.5 Umgang mit Deadlocks
- Vermeidung:
- Bankier-Algorithmus
- Erkennung: Algorithmus zum Finden von Deadlocks.
- Behandlung:
- Prozesse beenden oder Ressourcen entziehen, zurückstellen.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
In diesem Quiz erfahren Sie mehr über die Konzepte der Parallelität, Synchronisation und kritischen Abschnitte in der Programmierung. Testen Sie Ihr Wissen über Race Conditions, Verklemmungen und die notwendigen Eigenschaften paralleler Systeme. Bestimmen Sie die richtigen Definitionen und lernen Sie, wie Prozesse in einem parallelen System interagieren.