On a Macintosh, there are many ways to communicate among different processes.
- Notification (Distributed Notification)
- Remote Object (Distributed Object)
- Shared memory
The first 3s are supported by the Objective-C or the Cocoa, while the latter 3s are supported by the Unix foundation.
Have you ever wondered why there are so many different mechanism and what to use? Why doesn’t Apple document explain about them more explicitly?
Although I have my own opinion for that question, I found one in the Preferece Pane document from the Apple Inc. It is not solely for explaining when to use what and how they differ, but they are described in that way.