Operating-system processes communicate by sending and receiving messages. A message-passing mutual exclusion server can centralize ownership of a shared resource: clients request permission, wait for a grant, and release the resource when finished. Correctness depends on an explicit delivery and failure model; reliable delivery and compliant clients suffice for the basic ownership protocol.
A message-passing channel carrying protocol instructions, such as cancellation or permission to send, rather than ordinary application payloads. A reverse control channel can communicate consumer closure back to a remote producer.
Sharing one message-passing channel among multiple logical streams by attaching a stream identity to each transferred value. Independent cancellation requires a protocol that conveys which stream is ending; bounded per-stream flow control can prevent head-of-line blocking from a single unready consumer.
A message-passing channel carrying traffic for multiple logical producer-consumer pairs.
A process that receives tagged stream traffic and dispatches its values to the corresponding output ports.
A process that tags values accepted from several input ports with stream identities and forwards them through a shared message-passing channel.
A periodic indication that a peer is still communicating even when it has no application data to send. Absence beyond a deadline can suggest a failure but does not distinguish a crash from excessive delay.
A communication object with an output port used to send values and an input port used to receive them. Its contract specifies ordering, capacity, sharing and closure. In synchronous message passing, a send completes through a matching receive; a buffered message-passing channel can retain accepted values until a receiver is ready.
A process with finite positive capacity whose output sequence is a prefix of its input sequence and whose input-output length discrepancy never exceeds that capacity. While active, it offers input whenever non-full and output whenever nonempty; upstream closure drains retained data, while downstream closure cancels delivery.
Delay to otherwise serviceable work because a preceding operation cannot complete. A timer service using serial synchronous message passing can block on one unready subscriber before delivering notifications to other ready subscribers. Buffered delivery moves the issue to queue capacity and service rate rather than guaranteeing its absence.
A message passing discipline in which a send completes only when a matching receive accepts the message. This rendezvous transfers both data and control dependencies: an unready recipient can block a service and thereby delay its other clients. A reply is a separate send unless the interface supplies synchronous send-and-receive.
A system call that sends a request and commits the caller to receiving the matching reply as one coordinated operation, often named sendrec. It avoids the gap in which a client has completed a send but has not yet entered a receive. It does not make the service nonblocking or eliminate deadlock caused by other circular dependencies.

Articles by others on the same topic (0)

There are currently no matching articles.