A process has a state property whose value changes and at any time provides some information about the current activity of the process.
A simple set of possible values of process state is
{ READY, BLOCKED, RUNNING }
The process can itself cause changes of its state. E.g., [2] A RUNNING process makes a system call to request some operating system service causing its state to become BLOCKED until [3] the service is made available.
[1] The operating system can cause the state of a READY process to become RUNNING by scheduling that process to execute.
If the operating system can get control of the cpu, it can also [4] preempt the cpu from the previously running process, sending it back to the READY state and select a different process to run.
