When a process is created, it will enter the NEW state. This is where it will perform:
- Admission control, and
- Allocate and initiate a process control block and initial resources
Provided the resources are available, the process will be admitted and it will be READY to start executing. It will wait in this ready state until the schedule is ready. Then it will be put into the
RUNNING state. From the running state, a number of things can happen:
It can be interrupted to be context switched. It will then be moved into the READY state again.
It may go to initiate some longer operation, such as reading data from disk (I/O or event completion). Here it will go into a WAITING state.
If it finishes the program or encounters an error, it can go into the TERMINATED state.