Which of the following statements about non-preemptive SJF scheduling is INCORRECT?
medium🐞 Bug Identification Q14 of Q15
Operating Systems - Shortest Job First (SJF) - Preemptive vs Non-Preemptive
Which of the following statements about non-preemptive SJF scheduling is INCORRECT?
AOnce a process starts executing, it cannot be preempted until completion
BIt selects the process with the shortest burst time from the ready queue when CPU is free
CIt can lead to longer average waiting time compared to preemptive SJF
DIt guarantees no starvation of any process
Step-by-Step Solution
Step 1: Understand starvation in non-preemptive SJF
Non-preemptive SJF can cause starvation if short jobs keep arriving, delaying longer jobs indefinitely.
Step 2: Analyze other options
A: Correct, non-preemptive means no interruption once started. B: Incorrect, non-preemptive SJF does not guarantee no starvation. C: Correct, it can lead to longer average waiting time compared to preemptive SJF. D: Correct, selection is based on shortest burst time when CPU is free.
Final Answer:
Option D -> Option D
Quick Check:
Non-preemptive SJF does not guarantee no starvation; starvation can occur.
Quick Trick:Non-preemptive SJF can starve long processes if short ones keep arriving [OK]
Common Mistakes:
MISTAKES
Assuming non-preemptive SJF prevents starvation
Confusing preemptive and non-preemptive behavior
Trap Explanation:
PITFALL
Option C is tempting because non-preemptive seems simpler, but starvation is still possible without preemption.
Interviewer Note:
CONTEXT
Tests ability to spot misconceptions about starvation and fairness in non-preemptive SJF.
Master "Shortest Job First (SJF) - Preemptive vs Non-Preemptive" in Operating Systems
2 interactive learning modes - each teaches the same concept differently