Interprozesskommunikation
In modernen Betriebssystemen ist der Arbeitsspeicher der Programme strikt voneinander getrennt (Speicherschutz). Um Programmen dennoch zu erlauben, miteinander zu kommunizieren, gibt es das Konzept der Interprozesskommunikation (engl. IPC).Interprozesskommunikation findet für den Benutzer oft unsichtbar statt, z.B. wenn er das Clipboard seines Betriebssystems benutzt.
Technisch kann das Problem auf verschiedenste Arten gelöst werden, auch lassen sich Vorrichtungen des Betriebssystems zur Vernetzung zu diesem Zweck gebrauchen. Beispiele für technische Vorrichtungen sind u.a.:
- UNIX pipes (unidirektionale Kanäle)
- Named Sockets
- Message Queues
- Mach messages
- Windows DDE (Nachrichten, Messages),
- MacOS Apple Events
- RPC (Remote Procedure Calls)
- Streams (Netzwerkstreams, ähnlich Pipes über Netzwerke)
- Verwendung gemeinsamer Dateien
- Verwendung gemeinsamer Speicherbereiche (Shared memory)
- Signale (asyncron auftretende Ereignisse wie z.B. Software-Interrupt)