If a process is runnable but is temporarily stopped to let another process…
2022
If a process is runnable but is temporarily stopped to let another process run, in which state is the process said to be?
- A.
Running
- B.
Ready
- C.
Interrupted
- D.
Blocked
Attempted by 1141 students.
Show answer & explanation
Correct answer: B
Concept
An operating system tracks each process through a small set of states. A process that has everything it needs to execute and is only waiting for the CPU is in the Ready state. A process actually executing on the CPU is in the Running state. A process is Blocked (Waiting) only when it cannot proceed until some external event occurs, such as the completion of an I/O operation.
Why preemption lands in Ready
When the scheduler takes the CPU away from a process so another process can run (preemption or a time-slice expiry), the process has not stopped because it lacks anything to do; it is still perfectly runnable and simply lost its turn on the CPU. The transition is therefore Running to Ready, and the process re-joins the ready queue to wait for its next CPU allocation. It is not pushed into a waiting/blocked condition, because no I/O or external event is pending.
Contrasting the choices
Ready: a runnable process that is not currently on the CPU but is waiting only to be assigned the CPU - this matches a process stopped so another can run.
Running: describes a process that is executing on the CPU right now, which is the opposite of being temporarily stopped.
Blocked (Waiting): applies only when a process is waiting for an external event such as I/O, so it is not runnable until that event happens.
Interrupted: not a standard process state in the process-state model; it refers to the act of servicing a hardware/software interrupt, not to a runnable process waiting for the CPU.