Blocking (computing)
From Wikipedia, the free encyclopedia
| This article does not cite any references or sources. (February 2008) Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. |
| This article lacks information on the notability of the subject matter. Please help improve this article by providing context for a general audience, especially in the lead section. (December 2007) |
Blocking occurs when a function does not return until it either completes its task or results in an error.
A process that is blocked is one that waits for the completion of some event, such as an I/O operation [1]
In a two state model (running and not-running), processes would go onto the (running) queue before being dispatched for execution. Without a blocked state, if priority is measured by length of time on the queue, blocked processes would be selected even though they have nothing to execute. This is undesirable since one may wish to maximize processor utilization. Hence the desire for a blocked queue(s)/state where blocked processes can be put until the event occurs.
After receiving the event, it moves from the blocked state into a different state, such as ready.
[edit] References
- Stallings, William (2004). Operating Systems: Internals and Design Principles, 5th, Prentice Hall.

