In the following process state transition diagram for a uniprocessor system, assume that there are always some processes in the ready state:

Now consider the following statements:
- If a process makes a transition , it would result in another process making transition immediately.
- A process in blocked state can make transition E while another process is in running state.
- The OS uses preemptive scheduling.
- The OS uses non-preemptive scheduling.
Which of the above statements are TRUE?
View worked solution
Answer: C
To determine the correct statements, let us analyze the standard process state transitions shown in the diagram:
- Transition A: (Dispatch)
- Transition B: (Preemption/Time-out)
- Transition D: (I/O or Event Wait)
- Transition E: (I/O or Event Completion)
Now, let us evaluate the statements:
- Statement I is FALSE: When a process makes transition (Running Blocked), the CPU becomes idle. Before another user process can make transition (Ready Running), the OS scheduler must execute to select the next process. Thus, transition does not happen "immediately" without this intermediate scheduling overhead.
- Statement II is TRUE: Transition (Blocked Ready) occurs when an asynchronous I/O operation completes. This event is handled via an interrupt and can occur while another process is actively executing in the state.
- Statement III is TRUE (and IV is FALSE): The existence of transition (Running Ready) indicates that a process can be taken off the CPU and placed back into the ready queue before it finishes or blocks. This is the defining characteristic of preemptive scheduling.
Therefore, statements II and III are TRUE.
Free practice · Your answers on this page are not saved.
