CPU scheduling: what is the strategy called when the operating system temporarily suspends logically runnable processes to allocate CPU time fairly or meet responsiveness goals?
-
Apreemptive scheduling
-
Bnon preemptive scheduling
-
Cshortest job first
-
Dfirst come first served
-
ENone of the above
Answer
Correct Answer: preemptive scheduling
Explanation
Introduction / Context:Schedulers decide which process runs on the CPU at a given moment. Systems that must remain responsive or share the CPU among many tasks often interrupt a running process and switch to another ready process. Understanding this policy is critical for real time design, interactive systems, and general purpose OS behavior.
Given Data / Assumptions:
- Processes are logically runnable, meaning they are in the ready state.
- The OS may suspend a running process before it blocks or finishes.
- We need the term for this class of scheduling policies.
Concept / Approach:
Preemptive scheduling allows the OS to interrupt and switch out a running task, giving the CPU to another ready task. Time slicing and priority based preemption are common mechanisms. Non preemptive policies let a process run until it voluntarily yields, blocks, or completes, which can hurt responsiveness.
Step-by-Step Solution:
Identify the behavior: a runnable process is temporarily suspended by the scheduler.Map to terminology: this is preemption; the OS preempts the current task.Note examples: round robin, priority preemptive scheduling.Conclude that the correct label is preemptive scheduling.Verification / Alternative check:
Classic OS textbooks describe Unix like and modern Windows schedulers as preemptive, using time quanta and priorities to interrupt running processes.
Why Other Options Are Wrong:
- non preemptive: the opposite behavior; no forced suspension.
- shortest job first / first come first served: specific algorithms; SJF can be either, but the described suspension is characteristic of preemption.
Common Pitfalls:
- Assuming preemptive implies unfairness; in fact, it enables fairness and responsiveness when correctly tuned.
Final Answer:
preemptive scheduling.