CS 3733 Operating Systems
Lecture 22 [3/5/98]: Interprocess Communication
Read Section 4.6 of SG and 12.1 of PUP
Basic issues
- How are links established?
- Can links be associated with more than two processes (e.g. broadcast or
multicast)?
- What is the link capacity?
- What size messages are allowed.
- Is the link unidirectional (each process can only send or receive)
or bidirectional (each process can send or receive on the link)?
Naming
- Direct Communication: process explicitly names the other
process involved (e.g. send P, msg or receive P, msg where
P is the message).
- Connectionless: the process is explicitly
named in each send
or receive.
- Connection-oriented: the process is named when a link is
established. Once the link is set up, the process is implied by
using the link.
- Indirect Communication: a mailbox is an object into which
messages can be placed. Processes that want to communicate must
share a common mailbox. Vax VMS process communication was based
on mailboxes.
Client-server protocols:
- Connectionless:
- Server receives all requests from a single, well-known port.
- Each request identifies the sending client.
- The server uses the request to respond to the client.
- Connection-oriented:
- Server receives a connection request from a client via a well-known port.
- Server responds by establishing a private, two-way communication channel
between server and client.
- Server receives client requests from a single, well-known port.
Revision Date: 3/5/98