Preemptive vs non-preemptive scheduling facts Identify the false statement about CPU scheduling approaches.

Difficulty: Easy

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.

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion