Apart from above modules, the communication over IPC gets differs for different modules (its like logical entity). Example ftok function get used from unix flavor perspective to get unique id for respective identified. When we try to use ftok across different threads they try to get same unique identifier and able to same information accessing/sharing across different threads
The reason for the system scope is that you want two or more independent processes to have access to the same IPC resources. So if you have two programs, both of which execute
key = ftok("/home/oracle/somefile", 'b');, both will get the same token and can therefor access the same resources (semaphores, shared memory, message queues). That's the whole point of Inter Process Communication.
I have shared the Cluster ware time based startup Internals - which would show how cluster communications against different modules.
Hope this will answer most of the DBA's questions now and then , how cluster startup works (interview question)
Hope it helps.