Advanced System Software and Security: Question 6
Syllabus 16.1
A computer's operating system must decide which of several ready processes to run next. One particular non-preemptive scheduling algorithm always selects, from every process currently in the ready queue, the one with the smallest total burst (CPU) time. Once this chosen process has been given the CPU, it always runs to completion without being interrupted, even if a process with an even smaller burst time later arrives in the ready queue.
Which scheduling algorithm is being described here?
Show worked solution Hide worked solution
Worked solution
Why C is correct
The algorithm described always looks at the burst (total CPU) time of every process waiting in the ready queue and picks the one that needs the least CPU time overall. Crucially, once it has chosen that process, it never takes the CPU away from it again. Even a process that arrives moments later with an even shorter burst time has to wait. This combination. Choosing by smallest total burst time, but never interrupting once a choice is made, is exactly Shortest Job First (SJF).
Why the other options are wrong
- A (First Come First Served): chooses purely by arrival order in the ready queue. It does not compare burst times at all, so it would not necessarily select the process with the smallest burst time. It just happens to be non-preemptive as well, which is why it can look similar at first glance.
- B (Round Robin): does not choose based on burst time either. It gives each ready process a turn lasting at most one fixed time quantum, and deliberately does interrupt a process once its quantum expires, which contradicts the “runs to completion without being interrupted” behaviour described.
- D (Shortest Remaining Time): is the preemptive counterpart of SJF. It also chooses based on burst time, but re-evaluates its choice whenever a new process arrives, interrupting the currently running process if a shorter one turns up, the opposite of what the question describes.
Final answer
C. Shortest Job First always selects the ready process with the smallest total burst time, and runs it to completion without interruption once selected.