A process is an active program. It can also be said as a program that is under execution. It is more than the program code as it includes the program counter, process stack, registers, program code etc.
A process passes through different states as it executes. A diagram that illustrates all these states is as follows −
Details about the running, waiting and terminated process are given as follows −
The process is said to be in running state when the process instructions are being executed by the processor. This is done once the process is assigned to the processor using the short-term scheduler.
The process is in blocked state if it is waiting for some event to occur. This event may be I/O as the I/O events are executed in the main memory and don't require the processor. After the event is complete, the process again goes to ready state.
The process is terminated once it finishes its execution. In the terminated state, the process is removed from main memory and its process control block is also deleted.