Concept:
In an Operating System, a process moves through various states during its lifecycle. The standard 5-state model includes: New, Ready, Running, Blocked (Waiting), and Terminated. Transitions between these states follow strict rules managed by the CPU Scheduler.
Step 1: Understanding the Valid Transitions.
• Running $\to$ Ready: Occurs during an interrupt or when a process's time-slice expires (Preemption).
• Ready $\to$ Running: Occurs when the scheduler selects a process from the ready queue to execute (Dispatch).
• Running $\to$ Blocked: Occurs when a process requests an I/O operation or waits for an event/signal.
• Blocked $\to$ Ready: Occurs when the I/O operation completes or the event the process was waiting for occurs.
Step 2: Why "Blocked $\to$ Running" is invalid.
In a standard multitasking system, the CPU is a highly contested resource. When a blocked process becomes unblocked (e.g., its data has arrived from the disk), it does not "jump" directly onto the CPU.
• First, it must be placed in the Ready Queue.
• It must then wait for the CPU Scheduler to pick it based on the scheduling algorithm (Priority, Round Robin, etc.).
Directly moving to "Running" would bypass the scheduler's logic and potentially interrupt a higher-priority process currently using the CPU.
Step 3: Conclusion.
The transition from Blocked state always goes to the Ready state first. Therefore, a direct jump to the Running state is not allowed in the standard process model.