Talk:Inter-process communication

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Platform-independent inplementations[edit]

Why SOAP is in the list of 'platform specific APIs'?! Samokhvalov 11:21, 04 Mar 2006 (GMT)

I've moved SOAP and XML-RPC to the 'platform-independent' list, along with Internet Communications Engine. Perhaps more controversially, I've also put that list into chronological order. Cheers, CWC(talk) 14:44, 23 August 2006 (UTC)[reply]

Inter-process or intra-process[edit]

The introduction states that IPC is "a set of techniques for the exchange of data between two or more threads in one or more processes" - this makes no sense to me. If it is inter-process then it should be "two or more processes" and not "two or more threads". As far as I know, *nix OS create a new process when you fork() - not just a new thread. In general, if I have two threads that are truly within one process I don't need inter-process communication. Manassehkatz 03:38, 4 December 2006 (UTC)

It certainly makes sense... you just have to have a vague definition of "process". After all, there are different types of threads (soft/hard) as well.
What bugs me is this article makes no mention of signals. Signals are certainly a form of communication between processes. I was wondering what communication methods might be related to Ctrl-C in windows (windows doesn't have signals as far as I know, but they ought to have "something"). If parent X tells child process Y to die, how is that work? Is it in effect asking the OS to kill Y? Root4(one) 16:05, 3 May 2007 (UTC)[reply]
I take that back. The heaviest threads, called Light weight processes (see Threads (computer science)), may not strictly need IPC. They will require semaphores or some other locking mechanisms, though. Root4(one) 16:14, 3 May 2007 (UTC)[reply]
Windows has semaphores but it also has events. Events can be used across threads or processes to signal that something has happened but there is no other data exchanged by the event. For other IPC see Interprocess Communications (Windows). Console Signals Handler is my sample Windows signal handler and PostThreadMessage to Console Application shows that console programs can receive WM_COPYDATA mesages. Sam Tomato (talk) 18:41, 19 September 2017 (UTC)[reply]
Manassehkatz is correct. Inter-process communication is not communication between two or more threads in one process. That defines intra-process communication, which is the communication between two or more threads or modules within a process. Inter-process communication is the communication between two or more processes (as suggested by the composition of the name). This can be verified on all of your external links and sources, other than the source you chose to copy that statement from (the fifth external link). I will correct the article in the next few days. Spirited91 14:55, 22 October 2014 (UTC)[reply]

Does IPC include inter-system communication? This question is relevant to the Universal Windows Platform (UWP) because people say things like "In UWP the client and service need to in different machines for Interprocess communication" but it seems wrong to call communication between "different machines" IPC. Sam Tomato (talk) 18:47, 19 September 2017 (UTC)[reply]

German version[edit]

The German version of this article seems much more well-written. How about replacing the English page with a translation of the German? 194.237.142.21 12:22, 20 June 2007 (UTC)[reply]

Is there any way we can do it without obliterating too much of the content? I kinda like having a list of IPC APIs and methods. Root4(one) 19:10, 20 June 2007 (UTC)[reply]

Files[edit]

Who says that all OSs can Handle files? --92.198.37.119 (talk) 07:42, 20 April 2009 (UTC)[reply]

Quite right. While I cannot name examples, I expect there are systems that support threads but do not support files. Interrupt-driven systems like the early Palm OS might qualify. I have changed the reference from "all operating systems" to "most". --Hroðulf (or Hrothulf) (Talk) 10:29, 21 July 2009 (UTC)[reply]

Mailbox[edit]

Hmm, the article is very Unix-minded, I've just included link inmailbox article to here but it is not mentioned here, in vulgar terms the mailbox is a object of messaging mechanism. You create can create a mailbox and receive the messages from any processes, knowing its ID or in other cases have a pointer to it's contorol block, also when you try to receive a message you pass execution to other tasks. This kind of communication does not fit anywhere in any method described in here. While its implemented in uC/OS RTOS and Windows(message queue fits, but it's process-global). Gnomz007 01:39, 23 May 2005 (UTC)[reply]

I've deleted the mailbox entry from the Methods table, since it's described as a particular case of Message queue (and redirects towards this same page). G Allegre (talk) 12:18, 20 July 2009 (UTC)[reply]

what are these techniques?[edit]

would it be possible to provide single sentence descriptions of these techniques? Saganatsu (talk) 14:35, 6 October 2009 (UTC) this techniques should be avoiding those problems thats y so many relations are there. —Preceding unsigned comment added by 117.211.83.3 (talk) 17:49, 2 March 2011 (UTC)[reply]

These should be on the main table. Either that, or completely revamp the article with a heading for each major communication type, along with a link to the main article on that type. I think that would greatly improve this article. Compynerd255 (talk) 19:34, 21 May 2013 (UTC)[reply]

Monitor (synchronization)[edit]

One of the most important IPC mechanisms is not mentioned - Monitors (see Wikipedia page).

02:39, 30 January 2012 (UTC) — Preceding unsigned comment added by 203.41.222.1 (talk)

According to this article's heading, monitors are worth mentioning, since they coordinate multiple threads (but not multiple, memory-independent processes). However, monitors are very similar to mutexes as well as sephamores, so all three of those should be lumped together into the same category instead of mentioned individually. Compynerd255 (talk) 19:34, 21 May 2013 (UTC)[reply]

How would someone consider the web as an IPC Method?[edit]

IPC Shouldn't be mixed with Services, The web is based on a (client/server) design, of course there's a communication between the two, but you can't consider it a standardized general method for communication between processes, it has a specific target with a limited set of applications, Of course PHP developers would not agree as "MOST" of them don't know the security breaches they create constantly with their lazy code style and their lack of CS information, please don't mix both as most system designers would agree with me. — Preceding unsigned comment added by 41.41.228.245 (talk) 17:46, 21 October 2013 (UTC)[reply]

Approaches: Distinguishing between Windows NT and earlier Windows systems[edit]

Is it important to include whether a particular method is supported by Windows 9x and/or NT based kernels and distinguish between the two? — Preceding unsigned comment added by 174.19.110.144 (talk) 13:56, 1 June 2016 (UTC)[reply]

Table of Approaches[edit]

Is it really useful here to list approaches have no description and no examples? If there are no examples, how do we know anyone is even using approach? GeneCallahan (talk) 13:26, 27 December 2016 (UTC)[reply]

JSON representation 2403:6200:8827:DE41:5DF:FEBB:4DAA:3680 (talk) 19:57, 9 January 2022 (UTC)[reply]