Preemptive vs non-preemptive scheduling facts Identify the false statement about CPU scheduling approaches.
-
AA scheduling algorithm is preemptive if the CPU can be forcibly removed from a process.
-
BTime-sharing systems generally use preemptive CPU scheduling.
-
CResponse times are more predictable in preemptive systems than in non-preemptive systems.
-
DReal-time systems generally use non-preemptive CPU scheduling.
-
ENone of the above
Answer
Correct Answer: Real-time systems generally use non-preemptive CPU scheduling.
Explanation
Introduction / Context:CPU scheduling affects responsiveness, predictability, and deadline satisfaction. Preemptive schedulers can interrupt running tasks; non-preemptive schedulers let tasks run until they block or finish. This item asks which statement is false.
Given Data / Assumptions:
- Time-sharing systems emphasize responsiveness and fairness.
- Real-time systems emphasize determinism and meeting deadlines.
- Preemption allows higher priority or time-critical tasks to run immediately.
Concept / Approach:
Real-time operating systems typically use preemptive, priority-driven schedulers so that higher-priority tasks can preempt lower-priority ones to meet deadlines. Therefore, the claim that real-time systems “generally use non-preemptive” scheduling is false.
Step-by-Step Solution:
Assess each statement against standard OS behavior.a: Correct definition of preemption.b: True—preemption enables good response in time-sharing.c: True—preemption tends to bound response time variability.d: False—real-time systems generally rely on preemption to enforce priorities.Verification / Alternative check:
RTOS documentation (for example, priority-based preemptive schedulers in QNX, VxWorks, FreeRTOS) confirms heavy reliance on preemption.
Why Other Options Are Wrong:
a, b, c align with standard definitions and practice. e is incorrect because there is a false statement (d).
Common Pitfalls:
Confusing “non-preemptive real-time” with cooperative systems; while possible, it is not the general practice for hard real-time guarantees.
Final Answer:
Real-time systems generally use non-preemptive CPU scheduling.