Kapitel 3: Parallelität und Synchronisation in Systemen
48 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Was sind Race Conditions?

  • Erwünschte Prozesse innerhalb eines parallelen Systems
  • Falsche Rechenergebnisse durch gleichzeitigen Ressourcen Zugriff (correct)
  • Prozesse, die immer zur gleichen Zeit laufen
  • Eine Art von Synchronisation
  • Bei sequentiellen Systemen können Prozesse gleichzeitig berechnen.

    False

    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.

    <p>Verklemmung</p> Signup and view all the answers

    Ordnen Sie die folgenden Begriffe ihren Definitionen zu:

    <p>Sequentielle Systeme = Führen Prozesse hintereinander aus Parallele Systeme = Führen Prozesse gleichzeitig aus Race Conditions = False Ergebnisse durch gleichzeitigen Zugriff Deadlocks = Zustand der Blockierung mehrerer Prozesse</p> Signup and view all the answers

    Welche der folgenden Aussagen beschreibt echte Parallelität?

    <p>Mindestens zwei Prozesse berechnen gleichzeitig auf mehreren CPUs.</p> Signup and view all the answers

    Eine parallele Programmausführung bietet immer die gleiche Ausgabe bei identischen Eingaben.

    <p>False</p> Signup and view all the answers

    Wie kann der Zugriff auf Ressourcen zwischen Prozessen synchronisiert werden?

    <p>Durch verschiedene Synchronisationskonzepte.</p> Signup and view all the answers

    Welche der folgenden Eigenschaften sind notwendig für parallele Systeme?

    <p>Verklemmungsfreiheit</p> Signup and view all the answers

    Ein verkehrsfrei System kann in einen Verklemmungszustand geraten.

    <p>False</p> Signup and view all the answers

    Welche Phase gehört nicht zu den vier Phasen eines kritischen Abschnitts?

    <p>Der kritische Abschnitt wird ignoriert.</p> Signup and view all the answers

    Was sind kritische Abschnitte in der Programmierung?

    <p>Bereiche, in denen der Zugriff von verschiedenen Prozessen koordiniert werden muss, um Race Conditions zu vermeiden.</p> Signup and view all the answers

    Ein Prozess darf einen anderen unendlich lange daran hindern, einen kritischen Abschnitt zu betreten.

    <p>False</p> Signup and view all the answers

    Ein Prozess, der nicht zur Ausführung kommt, obwohl kein Deadlock entstanden ist, wird als __________ bezeichnet.

    <p>verhungern</p> Signup and view all the answers

    Nennen Sie einen Mechanismus zur Einschränkung der Parallelität auf Hardware-Ebene.

    <p>Unterbrechungssperre</p> Signup and view all the answers

    Was beschreibt eine Race Condition?

    <p>Konkurrenz zwischen Prozessen, die gleichzeitig auf eine Ressource zugreifen möchten.</p> Signup and view all the answers

    Nenne eine Maßnahme zur Vermeidung von Race Conditions.

    <p>Wechselseitiger Ausschluss.</p> Signup and view all the answers

    Die zwei Arten des Wartens sind aktives Warten und __________.

    <p>passives Warten</p> Signup and view all the answers

    Ordne die Begriffe den passenden Beschreibungen zu:

    <p>Determinismus = Gleiche Ergebnisse unter gleichen Bedingungen Verklemmungsfreiheit = System kann nicht in einen Deadlock geraten Ereignis = Löst eine Aktion aus Race Condition = Stake bei gleichzeitigen Zugriffen auf eine Ressource</p> Signup and view all the answers

    Ordnen Sie die folgenden Konzepte ihren Beschreibungen zu:

    <p>Semaphore = Allgemeines Konzept zur Synchronisation Mutex = Einfacher Fall einer Semaphore Aktives Warten = Wartender Prozess fragt aktiv nach einer Freigabe Passives Warten = Prozess gibt Kontrolle an das Betriebssystem ab</p> Signup and view all the answers

    Welche Aussage zu kritischen Abschnitten ist korrekt?

    <p>Die Synchronisation darf keine Annahmen über die Ausführungszeit der Prozesse machen.</p> Signup and view all the answers

    Unter __________ wird eine zyklische Warte-situation verstanden, die einen Deadlock zur Folge hat.

    <p>Verklemmung</p> Signup and view all the answers

    Test-and-Set-Lock ist ein Mechanismus auf Betriebssystem-Ebene.

    <p>False</p> Signup and view all the answers

    Was wird als aktives Warten bezeichnet?

    <p>Der wartende Prozess fragt so lange nach einer Freigabe, bis er den kritischen Abschnitt betreten kann.</p> Signup and view all the answers

    Welche Aussage über die Operation 'down' einer Semaphore ist korrekt?

    <p>Die Operation wird atomar durchgeführt.</p> Signup and view all the answers

    Ein Mutex kann mehr als zwei Zustände annehmen.

    <p>False</p> Signup and view all the answers

    Was passiert, wenn ein Prozess passiv wartet?

    <p>Der Prozess wird in den Zustand 'rechenwillig' überführt.</p> Signup and view all the answers

    Die Kontrollvariable s von wa wird mit der Maximalzahl an Prozessen n __________.

    <p>initialisiert</p> Signup and view all the answers

    Ordne die Begriffe den entsprechenden Funktionen zu:

    <p>down = Verringert den Wert der Semaphore. up = Erhöht den Wert der Semaphore. Mutex = Binärer Semaphor. Warteschlange = Hilft bei passive Warten.</p> Signup and view all the answers

    Was wird durch die Funktionen 'down' und 'up' sichergestellt?

    <p>Kritischer Abschnitt wird geschützt.</p> Signup and view all the answers

    Bei aktivem Warten wird ein wartender Prozess in den Zustand 'rechenwillig' überführt.

    <p>True</p> Signup and view all the answers

    Was sind die beiden Zustände eines Mutex?

    <p>locked und unlocked</p> Signup and view all the answers

    Was passiert, wenn ein Prozess eine zusätzliche Ressource anfordert?

    <p>Alle bisher verwendeten Ressourcen müssen freigegeben werden.</p> Signup and view all the answers

    Ein wartender Prozess darf Ressourcen belegen.

    <p>False</p> Signup and view all the answers

    Wie kann die Bedingung der nichtunterbrechbaren Ressourcen umgangen werden?

    <p>Durch Virtualisierung der Ressource.</p> Signup and view all the answers

    Ein Beispiel für eine nicht unterbrechbare Ressource ist der __________.

    <p>Drucker</p> Signup and view all the answers

    Ordne die folgenden Prozesse ihren Ressourcen zu:

    <p>P1 = R1 P2 = R2 P3 = R3 P4 = R4 P5 = R5 P6 = R6</p> Signup and view all the answers

    Wie kann zyklisches Warten verhindert werden?

    <p>Durch eine festgelegte Reihenfolge der Ressourcenausgabe.</p> Signup and view all the answers

    Ein Druckauftrag kann gleichzeitig von mehreren Prozessen bearbeitet werden.

    <p>False</p> 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.

    <p>Reihenfolge</p> Signup and view all the answers

    Was ist die Voraussetzung für eine sichere Verteilung von Ressourcen?

    <p>Mindestens ein Prozess hat 'max' viele Ressourcen.</p> Signup and view all the answers

    Ein Deadlock kann auftreten, wenn alle Deadlock-Bedingungen erfüllt sind.

    <p>True</p> Signup and view all the answers

    Welche Methode kann verwendet werden, um die Bedingung der exklusiven Ressource außer Kraft zu setzen?

    <p>Spooler</p> Signup and view all the answers

    Um Deadlocks zu vermeiden, muss ein Prozess alle nötigen Ressourcen ______, bevor er mit der Ausführung beginnt.

    <p>anfodern</p> Signup and view all the answers

    Ordnen Sie die Bedingungen für Deadlocks den richtigen Beschreibungen zu:

    <p>Exklusive Ressource = Keine Konkurrenz um Ressourcen Hold-and-Wait = Prozess hält Ressourcen und wartet auf weitere No Preemption = Ressourcen können nicht gewaltsam entzogen werden Circular Wait = Prozesse warten auf Ressourcen in einer zyklischen Reihenfolge</p> Signup and view all the answers

    Welche Aussage über die Prognose zukünftiger Systemzustände ist richtig?

    <p>Vorhersagen sind schwierig, da weder die Prozessmenge noch die Ressourcenanforderungen vorhergesagt werden können.</p> 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.

    <p>True</p> Signup and view all the answers

    Wie kann die Bedingung 'Hold-and-Wait' verhindert werden?

    <p>Indem ein Prozess alle benötigten Ressourcen vor der Ausführung anfordert.</p> 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.

    Quiz Team

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser