You are on page 1of 1

Independent process cannot affect (or be affected by) the execution of another process.

Cooperating process can affect (or be affected by) the execution of another process

Advantages of process cooperation: Information sharing, Computation speed-up, Modularity

In Indirect Communication between processes: Messages are directed and received from
mailboxes

Message passing may be either blocking or non-blocking

Blocking is considered synchronous. Non-blocking is considered asynchronous

In Blocking send : the sender block until the message is received

In Blocking receive : the receiver block until a message is available

In Non-blocking send : the sender send the message and continue

In Non-blocking receive : the receiver receive a valid message or null

In buffering: Zero capacity (0 messages) means Sender must wait for receiver (rendezvous).

In buffering: Bounded capacity – finite length of n messages- means Sender must wait if link is
full

In buffering: Unbounded capacity – infinite length- means Sender never waits

A socket is defined as an endpoint for communication. Connection consists of a pair of sockets


on each side.

Sockets use client/server architecture: Server waits for incoming client requests by listening to a
specified port; Once request received, server accepts a connection from client socket to
complete connection.

A socket is concatenation of IP address and port. The socket 161.25.19.8:1625 refers to port
1625 on host 161.25.19.8.

Socket are common and efficient, but low level between distributed processes. Sockets allow
unstructured stream of bytes. Remote procedure call (RPC) and Remote method invocation
(RMI) are Higher-level method of communication.

Remote procedure call (RPC) abstracts procedure calls between processes on networked
systems.

Stub-client: client-side proxy for the actual procedure on the server. The client-side stub locates
the server and marshalls the parameters. The server-side stub receives this message, unpacks
the marshaled parameters, and performs (calls) the procedure on the server.

Remote Method Invocation (RMI) is a Java mechanism similar to RPCs. RMI allows a Java
program on one machine to invoke a method on a remote object.

You might also like