A program is a static entity made up of program statements. The program contains the instructions.
A program exists in a single place in space and continues to exist. A program does not perform the action by itself.
When the process executes, it changes state. The process state is defined as the current activity of the process. Fig. below shows the general form of the process state transition diagram. Process state contains five states. Each process is in one of the states. The states are listed below.
New: A process that has just been created but has not yet been admitted to the pool of executable processes by the operating system.
Ready: Ready processes are waiting to have the processor allocated to them by the operating system so that they can run.
Running: The process that is currently being executed. A running process possesses all the resources needed for its execution, including the processor.
Waiting: A process that cannot execute until some event occurs such as the completion of an I/O operation. The running process may become suspended by invoking an I/O module.
Terminated(exit): A process that has been released from the pool of executable processes by the operating system either because it halted or because it aborted for some reason.
Whenever processes change state, the operating system reacts by placing the process PCB in the list that corresponds to its new state.
Only one process can be running on any processor at any instant and many processes may be ready and waiting state.