In Inter-Process Communication (IPC) via message passing, messages are stored in a temporary queue. The implementation of this queue, often called buffering, follows specific capacity rules.
1. Types of Queue Capacities:
Operating systems typically support three types of capacities for message queues:
• Zero capacity: The queue has a maximum length of zero; the link cannot have any messages waiting in it. In this case, the sender must block until the recipient receives the message.
• Bounded capacity: The queue has a finite length $n$; at most $n$ messages can reside in it. If the queue is not full, a new message is placed in the queue, and the sender can continue execution.
• Unbounded capacity: The queue's length is potentially infinite; thus, any number of messages can wait in it. The sender never blocks.
2. Evaluating "Blocking capacity":
"Blocking" is a property of the synchronization method (blocking vs. non-blocking), not a fundamental implementation category of the queue's capacity itself. While a zero-capacity queue results in blocking behavior, "Blocking capacity" is not a recognized technical term for implementing the buffer's size.
3. Conclusion:
Because zero, bounded, and unbounded are the three standard ways to implement message-passing queues, "Blocking capacity" is the incorrect terminology and thus the way a queue cannot be implemented.