Only one process can be running at once and we say that this process is in the "running state". A process can be in one of three states -

When a process is waiting for a device to complete we say that this is a I/O bound process. A process should not wait for an I/O operation to complete, but should relinquish control to another process.When a process requests access to a I/O device it is said to go into the blocked state. Consider the diagram below.

The OS will have different queues to monitor the three states. Imagine an internet browser which has requested data from the net on a 56kbs connection. That process could potentially be blocked for a few seconds, which in processor terms, is a lifetime.

A process will become unblocked when a interupt occurs. For example if a process is waiting for the hard drive it will be in the blocked state. When the hard drive sends an interrupt ot the CPU the process manager will change the state from blocked to ready to run.