| **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. |