Which is the correct definition of a valid process transition in an operating system?
(A) Wake up: ready → running
(B) Dispatch: ready → running
(C) Block: ready → running
(D) Timer runout: ready → running
Explanation: The state transition diagram of a process(preemptive scheduling):
Option 1: Wake up: ready → running
It is incorrect as when a process wakes up it is shifted from blocked state to ready state and not from ready to running.
Option 2: Dispatch: ready → running
It is correct as the dispatcher selectively assigns the CPU to one of the process in the ready queue based on a well defined algorithm.
Option 3: Block: ready → running
It is incorrect as a process is blocked when it is either pre-empted by some other process or due to some i/o operation. So when a process gets blocked it shifts from running state to blocked state.
Option 4: Timer runout: ready → running
When the time duration of execution of a process expires, the timer interrupts and the process shifts from the running state to ready queue.
So, option (B) is correct.
Quiz of this Question