Interprocescommunicatie: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
k Ivm uitschakeling RFC als magische link
Geen bewerkingssamenvatting
Regel 1:
'''Interprocescommunicatie''' ('''IPC''') is de onderlinge communicatie tussen [[thread (informatica)|thread]]s in één of meerdere [[proces (informatica)|proces(sen)]] in een [[multitasking (computer)|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 mechanismesmechanismen
* ''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 (computer)|werkgeheugen]] van de computer dat voor meerdere processen toegankelijk is
Regel 8:
 
== Implementaties ==
Er zijn vele verschillende [[Application programming interface|API]]'s]], die verschillende mogelijkheden bieden. De belangrijkste platformonafhankelijke zijn:
 
* [[CORBA|Common Object Request Broker Architecture]] (CORBA)
* [[Distributed Computing Environment]] (DCE)
* [[Message Bus]] (MBUS)<ref>{{RFC|3259}}</ref>
Regel 18:
Verschillende platformspecifieke implementaties zijn:
 
* [[Apple Inc.]] - ''Apple events'' (voorheen bekend als ''Interapplication Communications'', (IAC)).
* [[Freedesktop.org]] - ''D-BUS''
* [[KDE]] - ''Desktop Communications Protocol'' (DCOP)
* [[Mach kernelMachkernel]] - [[Mach kernel|''Mach Port''s]]
* [[Microsoft]] - ''ActiveX'', ''Component Object Model'' (COM), ''Distributed Component Object Model'' (DCOM), ''Dynamic Data Exchange'' (DDE), anden ''Object Linking and Embedding'' (OLE), ''anonymous pipe'', ''named pipe''
* [[Novell]] - ''SPX''
* [[POSIX]] - ''mmap'', ''message queues'', [[semafoor (computer)|semaforen]], en ''shared memory''
* [[RISC OS]] - ''messages''
* [[Sun Microsystems]] - ''Remote Procedure Call'' (RPC)
* [[System V]] - ''message queues'', ''semaphores'', en ''shared memory''
* [[Extensible Markup Language|XML]] - ''XML-RPC'' of [[SOAP (protocol)|SOAP]]
* [[VMS (besturingssysteem)OpenVMS|VMS]] - ''mailbox'', ''event flags'' en ''locks'' (''signals''), ''shared memory''
 
== MethodesMethoden ==
{| class="wikitable"
! Methode !! Ondersteund door ([[Besturingssysteem|OSbesturingssysteem]] of omgeving)
|-
| Bestand || Alle [[besturingssysteem|besturingssystemen]].
|-
| ''Signal'' || De meeste [[besturingssysteem|besturingssystemen]]; enkele, zoals Windows, implementeren alleen ''signals'' in de C-runtime -bibliotheek, maar bieden verder geen ondersteuning voor IPC.
|-
| ''Socket'' || De meeste [[besturingssysteem|besturingssystemen]].
|-
| ''Pipes'' || Alle [[POSIX]]-systemen.
Regel 49:
| ''Shared memory'' || Alle [[POSIX]]-systemen.
|-
| ''Message passing''<br />(shared nothing) || Wordt o.a. gebruikt in het ''[[Message Passing Interface]]''- (MPI)of MPI-paradigma, [[Remote method invocation|Java RMI]], [[Common Object Request Broker Architecture|CORBA]].
|-
| ''Memory map'' (''mmap'') || Alle [[POSIX]]-systemen; een ''race condition'' kan optreden als een tijdelijk bestand wordt gebruikt. Windows ondersteunt deze techniek, maar de API is platformspecifiek.
|-
| ''Message queue'' || De meeste [[besturingssysteem|besturingssystemen]].
|-
| ''Mailbox'' || Sommige [[besturingssysteem|besturingssystemen]].
|}
 
Regel 62:
 
{{Appendix|2=
* [[W. Richard Stevens|Stevens, Richard]]. ''UNIX Network Programming, Volume 2, Second Edition: Interprocess Communications.''. Prentice Hall, 1999. {{ISBN| 0-13-081081-9}}.
{{References}}
}}