Kommunikation und Parallele Prozesse - Cheatsheet.pdf

Kommunikation und Parallele Prozesse - Cheatsheet
Kommunikation und Parallele Prozesse - Cheatsheet Prinzipien der Prozesskommunikation Definition: Grundsätze zur Interaktion zwischen Prozessen in parallelen und verteilten Systemen zur Synchronisation und zum Datenaustausch. Details: Konzepte: Nachrichtenübermittlung, gemeinsame Speicher, Semaphoren Nachrichtenübermittlung: synchronous/asynchronous, blocking/non-blocking Middleware: CORBA, MPI, J...

© StudySmarter 2024, all rights reserved.

Kommunikation und Parallele Prozesse - Cheatsheet

Prinzipien der Prozesskommunikation

Definition:

Grundsätze zur Interaktion zwischen Prozessen in parallelen und verteilten Systemen zur Synchronisation und zum Datenaustausch.

Details:

  • Konzepte: Nachrichtenübermittlung, gemeinsame Speicher, Semaphoren
  • Nachrichtenübermittlung: synchronous/asynchronous, blocking/non-blocking
  • Middleware: CORBA, MPI, JMS
  • Gemeinsamer Speicher: Shared Memory, Message-Passing
  • Probleme: Deadlocks, Race Conditions
  • Mechanismen zur Synchronisation: Mutex, Monitore, Barrieren

Parallelität und Concurrency

Definition:

Parallelität: Gleichzeitige Ausführung mehrerer Aufgaben. Concurrency: Strukturierung von Aufgaben, die scheinbar gleichzeitig ablaufen.

Details:

  • Kontextwechsel (\textit{context switch}) bei Concurrency
  • \textit{Thread}- und \textit{Prozess}-Parallelität
  • Ressourcenkonflikte und Synchronisation
  • Nutzt Mehrkernprozessoren effizient
  • Wichtig für Systemleistung und -verfügbarkeit

Synchrone vs. Asynchrone Kommunikation

Definition:

Synchrone Kommunikation: Sender und Empfänger agieren gleichzeitig. Asynchrone Kommunikation: Sender und Empfänger agieren unabhängig voneinander.

Details:

  • Synchrone Kommunikation: Synchronisation erforderlich.
  • Asynchrone Kommunikation: Verwendung von Puffer oder Queues.
  • Synchrone Operationsblockierung bis zur Bestätigung.
  • Asynchrone Operationen erlauben parallele Ausführung.
  • Beispiele: synchrone RPCs, asynchrone Message Queues.

Deadlock-Verhinderung und -Auflösung

Definition:

Techniken zur Vermeidung und Lösung von Deadlocks (Verklemmungen) in parallelen und verteilten Systemen.

Details:

  • Deadlock: Zustand, in dem Prozesse gegenseitig auf Ressourcen warten, wodurch keine Fortschritte erzielt werden.
  • Klauseln für Deadlock: Mutual Exclusion, Hold and Wait, No Preemption, Circular Wait.
  • Vermeidung: Bankier-Algorithmus, Ressourcen-Hierarchie.
  • Erkennung: Graph-basierte Methoden.
  • Auflösung: Prozessabbruch, Ressourcenentzug.

Client-Server-Modelle

Definition:

Basismodell der Netzwerkkommunikation, bei dem der Client Anfragen an den Server stellt und der Server darauf antwortet.

Details:

  • Client: Initiiert die Kommunikation, stellt Anfragen.
  • Server: Antwortet auf Anfragen, bietet Dienste an.
  • Verbindung: Meistens über TCP/IP.
  • Zustandslosigkeit: HTTP-Anfragen sind zustandslos, jede Anfrage ist unabhängig.
  • Latenz und Bandbreite: Entscheidende Faktoren für Leistungsfähigkeit.
  • Schnittstellen: Standardisierte Protokolle wie HTTP, FTP.
  • Beispielanwendungen: Webdienste, Datenbankanfragen.

Kritische Abschnitte und Semaphore

Definition:

Kritische Abschnitte bezeichnen Programmabschnitte, in denen auf gemeinsam genutzte Ressourcen zugegriffen wird. Semaphore sind Synchronisationsmechanismen zur Verwaltung des Zugriffs auf diese Ressourcen.

Details:

  • Kritische Abschnitte: Bereiche, die nur von einem Prozess/Thread gleichzeitig betreten werden dürfen.
  • Problem: Vermeidung von Race Conditions.
  • Semaphore: Variablen zur Zählung von Ressourcen, initialisiert mit der Anzahl verfügbarer Ressourcen.
  • Operationen: wait(S) (P-Operation) und signal(S) (V-Operation).
  • Synchronisation: wait(S) dekrementiert, signal(S) inkrementiert den Semaphorwert.

Shared Memory vs. Message Passing

Definition:

Vergleich von zwei parallelen Kommunikationsmethoden in parallelen Systemen: Gemeinsamer Speicher (Shared Memory) vs. Nachrichtenübermittlung (Message Passing).

Details:

  • Shared Memory: Prozesse teilen sich einen gemeinsamen Adressraum.
  • Vorteile: Schnellerer Zugriff (keine Kopieroperationen).
  • Nachteile: Synchronisationsprobleme (Race Conditions, Deadlocks).
  • Message Passing: Prozesse kommunizieren durch den Austausch von Nachrichten.
  • Vorteile: Kein gemeinsamer Speicher, daher keine Synchronisationsprobleme.
  • Nachteile: Höherer Kommunikationsaufwand (Kopieroperationen).
  • Verwendung: Shared Memory oft in Multithreading, Message Passing oft in verteilten Systemen.

Fehlertoleranz und Wiederherstellung

Definition:

Techniken und Methoden zur Sicherstellung der Systemfunktionalität und Datenintegrität trotz Fehlern oder Ausfällen.

Details:

  • Fehlertoleranz: Fähigkeit eines Systems, nach Fehlern weiterhin korrekt zu funktionieren.
  • Wiederherstellung: Rückführung des Systems in einen konsistenten Zustand nach Fehlern.
  • Redundanz: Einsatz mehrfach vorhandener Komponenten zur Kompensation von Fehlern.
  • Checkpointing: Regelmäßiges Speichern des Systemzustands zur Minimierung von Datenverlust.
  • Transaktionsprotokollierung: Aufzeichnung aller Änderungen zur nachträglichen Korrektur von Fehlern.
  • Fehlerklassifikation: Unterscheidung von transienten, intermittierenden und permanenten Fehlern.
  • Fehlertypen: Hardwarefehler, Softwarefehler, Netzwerkfehler.
  • Rekonfigurationsmechanismen: Dynamische Anpassung des Systems zur Umgehung fehlerhafter Bereiche.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden