Interprocescommunicatie
onderlinge communicatie tussen threads in één of meerdere proces(sen) in een multitasking-besturingssysteem Van Wikipedia, de vrije encyclopedie
Interprocescommunicatie (IPC) is de onderlinge communicatie tussen threads in één of meerdere proces(sen) in een multitasking-besturingssysteem. Deze communicatie dient om data door te geven of de toegang naar gedeelde bronnen (resources) te synchroniseren.
Grofweg zijn er vier categorieën interprocescommunicatie:
- message passing - het doorgeven van berichten via pipes, mailbox of soortgelijke mechanismen
- synchronisatie - een systeem van signalen (semaphores, vlaggen, signals) die door processen gezet en uitgelezen kunnen worden
- shared memory of gedeeld geheugen - een stuk van het werkgeheugen van de computer dat voor meerdere processen toegankelijk is
- remote procedure calls (RPC) - het aanroepen van procedures (deelprogramma's) met parameters die acties in een ander proces tot gevolg hebben
Implementaties
Er zijn vele verschillende API's, die verschillende mogelijkheden bieden. De belangrijkste platformonafhankelijke zijn:
- Common Object Request Broker Architecture (CORBA)
- Distributed Computing Environment (DCE)
- Message Bus (MBUS)[1]
- Anonymous pipes en Named pipes
- Sockets
Verschillende platformspecifieke implementaties zijn:
- Apple Inc. - Apple events (voorheen bekend als Interapplication Communications, IAC)
- Freedesktop.org - D-BUS
- KDE - Desktop Communications Protocol (DCOP)
- Machkernel - Mach Ports
- Microsoft - ActiveX, Component Object Model (COM), Distributed Component Object Model (DCOM), Dynamic Data Exchange (DDE) en Object Linking and Embedding (OLE), anonymous pipe, named pipe
- Novell - SPX
- POSIX - mmap, message queues, semaforen en shared memory
- RISC OS - messages
- Sun Microsystems - Remote Procedure Call (RPC)
- System V - message queues, semaphores en shared memory
- XML - XML-RPC of SOAP
- VMS - mailbox, event flags en locks (signals), shared memory
Methoden
Wikiwand - on
Seamless Wikipedia browsing. On steroids.