zusammenfassungen/Writerside/topics/BS/09_Interprozesskommunikation.md
David Schirrmeister 6d0b0a212a updatet
2024-05-10 12:26:31 +02:00

2.2 KiB

Interprozesskommunikation (IPC)

  • Mechanismen und Techniken, die es Prozessen ermöglichen miteinander zu kommunizieren
    • auf demselben Computer / über ein Netzwerk hinweg
  • Ist grundsätzlich wichtig, wenn Prozesse
    • zusammenarbeiten
    • Daten austauschen
    • miteinander interagieren
  • Wahl der Methodik hängt von Anforderung der Anwendung ab
    • Effizienz
    • Datenvolumen
    • Sicherheit
    • Komplexität

Synchrone IPC

  • Prozess, bei dem der Absender eines Signals/Nachricht auf eine Bestätigung oder eine Antwort vom Empfänger wartet
    • stellt sicher, dass
      • Absender und Empfänger synchronisiert sind
      • Ereignisse/Aufgaben sind abgeschlossen bevor andere anfangen
  • image_158.png

Asynchrone IPC

  • Prozesse, bei dem der Absender nicht auf sofortige Antwort wartet
    • Absender setzt Ausführung fort, während Empfänger verarbeitet und ggf. später antwortet
  • image_159.png

Mechanismen

Shared Memory

  • ermöglicht mehreren Prozessen auf denselben physischen Speicherbereich zuzugreifen
    • Austausch von Daten effizient ohne explizite Kommunikation
    • Speicherbereich wird im RAM erstellt
      • Kann von beteiligten Systemen gelesen und beschrieben werden
        • müssen sich selbst koordinieren

Linux-Systemaufrufe Shared Memory

  • shmget - Segment erzeugen oder auf bestehendes Zugreifen
  • shmat - Segment an anderen Prozess anhängen
  • shmdt - Segment von Prozess lösen/freigeben
  • shmctl - Status eines Segments abfragen/ändern/löschen

Dateien

  • Prozesse können auf gemeinsame Dateien zugreifen
  • Darauf muss man achten:

Message Queues