INTERPROCESS COMMUNICATION

*-*Inter-process communication (IPC) is a set of techniques for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network. IPC techniques are divided into methods for message passing, synchronization, shared memory, and remote procedure calls (RPC). The method of IPC used may vary based on the bandwidth and latency of communication between the threads, and the type of data being communicated.


There are several reasons for providing an environment that allows process cooperation:
-Information sharing


-Computation speedup


-Modularity


- Convenience






1)Direct Communication


  • sender/reciever refer to each other, as seen before

  • properties of communication link

-link is associated with exactly two processes


-exactly one link for every pair of processes



  • communication is symmetric (above) or asymmetric




2)Indirect Communication



3)Synchronization-message passing maybe blocking or non-blocking (synchronous or asynchronous)




  • blocking send-sender bloked until message is recieve by receiver (orby mailbox)


  • Non-blocking send-sending process resumes operation right after sending.


  • blocking receive-reiever blocks until message is available.

  • nonblocking receive-receiver retrieves a vald message or returns an error code.

0 comments: