Messages are directed and received through mailboxes. Each mailbox has a unique ID. Processes can only communicate if they share a mailbox.
The mailboxes here form the communication link, and can be shared between multiple processes. Each pair of processes may share several communication links. This link may be either uni-directional or bi-directional.
The OS provides operations to:
The main issue with a shared link such as this is determining which process receives a messsage. There are three main solutions to this: