A process can transition between various states e.g.

R - running or runnable S - sleeping, interruptible D - waiting on IO, not interruptible T - stopped (paused by a signal) Z - zombie - dead but needs cleaning up

Scheduling is concerned with moving tasks between these states, in particular from the run queue to the CPU and then from the CPU back to the run queue or the waiting state.