| **Running** | The instructions of this [[Process]] are being currently executed on the CPU |
| --------------- | ---------------------------------------------------------------------------------------------------------------- |
| **Ready**<br> | The [[Process]] is ready to run and is ready to be swapped into the [[CPU]] for its instructions to be executed. |
| **Blocked** | The [[Process]] if waiting / paused for some kind of event, *eg.* [[IO]]. |
| **Terminated** | The [[Process]] is closing / shut down |
| **New/Created** | Right when the [[Process]] is being created & set up |
### Transitions between States
| *New* $\to$ *Ready* | The process has been created and is being put in the ready queue |
| ---------------------------- | --------------------------------------------------------------------------------------- |
| *Ready* $\to$ *Running* | The OS scheduler takes it out of the queue and runs it with the CPU |
| *Running* $\to$ *Ready* | The [[Process]] has used its allotted time and is put back into the queue |
| *Running* $\to$ *Terminated* | The [[Process]] has been completed or the system is forcefully terminating the process. |