GetWiki
Inter-process communication
ARTICLE SUBJECTS
being →
database →
ethics →
fiction →
history →
internet →
language →
linux →
logic →
method →
news →
policy →
purpose →
religion →
science →
software →
truth →
unix →
wiki →
ARTICLE TYPES
essay →
feed →
help →
system →
wiki →
ARTICLE ORIGINS
critical →
forked →
imported →
original →
Inter-process communication
please note:
- the content below is remote from Wikipedia
- it has been imported raw for GetWiki
{{Short description|How computer operating systems enable data sharing}}{{more footnotes|date=August 2015}}File:ArchitectureCloudLinksSameSite.png|thumb|upright=1.2|A grid computinggrid computingIn computer science, inter-process communication (IPC), also spelled interprocess communication, are the mechanisms provided by an operating system for processes to manage shared data. Typically, applications can use IPC, categorized as clients and servers, where the client requests data and the server responds to client requests.WEB,msdn.microsoft.com/en-us/library/windows/desktop/aa365574(v=vs.85).aspx, Interprocess Communications, Microsoft, Many applications are both clients and servers, as commonly seen in distributed computing.IPC is very important to the design process for microkernels and nanokernels, which reduce the number of functionalities provided by the kernel. Those functionalities are then obtained by communicating with servers via IPC, leading to a large increase in communication when compared to a regular monolithic kernel. IPC interfaces generally encompass variable analytic framework structures. These processes ensure compatibility between the multi-vector protocols upon which IPC models rely.JOURNAL, Camurati, P, Inter-process communications for system-level design, International Workshop on Hardware/Software Codesign, 1993, An IPC mechanism is either synchronous or asynchronous. Synchronization primitives may be used to have synchronous behavior with an asynchronous IPC mechanism.- the content below is remote from Wikipedia
- it has been imported raw for GetWiki
Approaches
Different approaches to IPC have been tailored to different software requirements, such as performance, modularity, and system circumstances such as network bandwidth and latency.{| class=“wikitable“! Method !! Short Description !! Provided by (operating systems or other environments)computer file>File | A record stored on disk, or a record synthesized on demand by a file server, which can be accessed by multiple processes. | Most operating systems |
Plan 9 from Bell Labs>Plan 9’s 9P (protocol) | >|Dartmouth Time-Sharing System |
signal (computing)>Signal; also Asynchronous System Trap | A system message sent from one process to another, not usually used to transfer data but instead used to remotely command the partnered process. | Most operating systems |
network socket>Socket | Data sent over a network interface, either to a different process on the same computer or to another computer on the network. Stream-oriented (Transmission Control Protocol | ; data written through a socket requires formatting to preserve message boundaries) or more rarely message-oriented (User Datagram Protocol>UDP, SCTP). | Most operating systems |
Unix domain socket > | inode, and multiple processes can communicate with one socket > | URL=HTTPS://BLOGS.MSDN.MICROSOFT.COM/COMMANDLINE/2018/02/07/WINDOWSWSL-INTEROP-WITH-AF_UNIX | ACCESS-DATE=25 MAY 2018, |
Message queue > | message queue without being directly connected to each other. >| Most operating systems |
Anonymous pipe> | Stdin>standard input and output. Data written to the write-end of the pipe is buffered by the operating system until it is read from the read-end of the pipe. Two-way communication between processes can be achieved by using two pipes in opposite “directions”. | All POSIX systems, Windows |
Named pipe > | | All POSIX systems, Windows, AmigaOS 2.0+ |
Shared memory (interprocess communication)>Shared memory | Multiple processes are given access to the same block of Memory (computing) | , which creates a shared buffer for the processes to communicate with each other. >| All POSIX systems, Windows |
Message passing > | Local Inter-Process Communication>LPC, Remote procedure call | , Remote method invocation>RMI, and Message Passing Interface | paradigms, Java RMI, CORBA, Component Object Model>COM, Data Distribution Service | , Microsoft Message Queuing>MSMQ, MailSlots, QNX, others |
Memory-mapped file > | RAM and can be modified by changing memory addresses directly instead of outputting to a stream. This shares the same benefits as a standard File (computing)>file. | All POSIX systems, Windows |
Applications
{{prose|date=November 2016}}Remote procedure call interfaces
- Java’s Remote Method Invocation (RMI)
- ONC RPC
- XML-RPC or SOAP
- JSON-RPC
- {{anchor|RFC 3259}}Message Bus (Mbus) (specified in RFC 3259) (not to be confused with M-Bus)
- .NET Remoting
- gRPC
Platform communication stack
The following are messaging, and information systems that utilize IPC mechanisms but don’t implement IPC themselves:{{Div col|colwidth=30em}}- KDE’s Desktop Communications Protocol (DCOP){{snd}} deprecated by D-Bus
- D-Bus
- OpenWrt uses ubus micro bus architecture
- MCAPI Multicore Communications API
- SIMPL The Synchronous Interprocess Messaging Project for Linux (SIMPL)
- 9P (Plan 9 Filesystem Protocol)
- Distributed Computing Environment (DCE)
- Thrift
- ZeroC’s Internet Communications Engine (ICE)
- ÃMQ
- Enduro/X Middleware
- YAMI4
- Enlightenment_(software) E16 uses eesh as an IPC
Operating system communication stack
The following are platform or programming language-specific APIs:{{Div col|colwidth=30em}}- Apple Computer’s Apple events, previously known as Interapplication Communications (IAC)
- ARexx ports
- Enea’s LINX for Linux (open source) and various DSP and general-purpose processors under OSE
- The Mach kernel’s Mach Ports
- Microsoft’s ActiveX, Component Object Model (COM), Microsoft Transaction Server (COM+), Distributed Component Object Model (DCOM), Dynamic Data Exchange (DDE), Object Linking and Embedding (OLE), anonymous pipes, named pipes, Local Procedure Call, MailSlots, Message loop, MSRPC, .NET Remoting, and Windows Communication Foundation (WCF)
- Novell’s SPX
- POSIX mmap, message queues, semaphores,“Concurrent programming - communication between processes” and shared memory
- RISC OS’s messages
- Solaris Doors
- System V’s message queues, semaphores, and shared memory
- Linux Transparent Inter Process Communication (TIPC)
- OpenBinder Open binder
- QNX’s PPS (Persistent Publish/Subscribe) service
Distributed object models
The following are platform or programming language specific-APIs that use IPC, but do not themselves implement it:{{Div col|colwidth=30em}}- Libt2n for C++ under Linux only, handles complex objects and exceptions
- PHP’s sessions
- Distributed Ruby
- Common Object Request Broker Architecture (CORBA)
- Electron’s asynchronous IPC, shares JSON objects between a main and a renderer processWEB,www.electronjs.org/docs/api/ipc-mainipcmain, IpcMain &124; Electron,
See also
- Berkeley sockets
- Computer network programming
- Communicating Sequential Processes (CSP paradigm)
- Data Distribution Service
- Database-as-IPC
- Protected procedure call
References
- Stevens, Richard. UNIX Network Programming, Volume 2, Second Edition: Interprocess Communications. Prentice Hall, 1999. {{ISBN|0-13-081081-9}}
- U. Ramachandran, M. Solomon, M. Vernon Hardware support for interprocess communication Proceedings of the 14th annual international symposium on Computer architecture. Pittsburgh, Pennsylvania, United States. Pages: 178 - 188. Year of Publication: 1987 {{ISBN|0-8186-0776-9}}
- Crovella, M. Bianchini, R. LeBlanc, T. Markatos, E. Wisniewski, R. Using communication-to-computation ratio in parallel program designand performance prediction 1â4 December 1992. pp. 238â245 {{ISBN|0-8186-3200-3}}
External links
- Linux ipc(5) man page describing System V IPC
- Windows IPC
- IPC available using Qt
- Unix Network Programming (Vol 2: Interprocess Communications) by W. Richard Stevens
- Interprocess Communication and Pipes in C
- DIPC, Distributed System V IPC
- content above as imported from Wikipedia
- "Inter-process communication" does not exist on GetWiki (yet)
- time: 3:58am EDT - Wed, May 22 2024
- "Inter-process communication" does not exist on GetWiki (yet)
- time: 3:58am EDT - Wed, May 22 2024
[ this remote article is provided by Wikipedia ]
LATEST EDITS [ see all ]
GETWIKI 21 MAY 2024
The Illusion of Choice
Culture
Culture
GETWIKI 09 JUL 2019
Eastern Philosophy
History of Philosophy
History of Philosophy
GETWIKI 09 MAY 2016
GetMeta:About
GetWiki
GetWiki
GETWIKI 18 OCT 2015
M.R.M. Parrott
Biographies
Biographies
GETWIKI 20 AUG 2014
GetMeta:News
GetWiki
GetWiki
© 2024 M.R.M. PARROTT | ALL RIGHTS RESERVED