Polled I/O — when is it the preferred strategy? Select the condition under which a polling-based input/output scheme is generally most appropriate compared to interrupts or DMA.

Difficulty: Easy

Correct Answer: there are no priority considerations

Explanation:


Introduction / Context:
Polled I/O is a simple technique where the CPU periodically checks device status flags and services devices when they are ready. While easy to implement, it can be inefficient or unfair if multiple devices require urgent attention. Understanding when polling is acceptable helps balance simplicity and responsiveness.


Given Data / Assumptions:

  • System has one or more peripherals with status registers.
  • No strict real-time deadlines that demand immediate CPU attention.
  • CPU time is available for routine checks without starving tasks.


Concept / Approach:
Polling works best when devices have similar service needs and there is no strict priority ordering. If priority matters (e.g., emergency sensors), interrupt-driven or DMA-based solutions are better because they allow devices to signal the CPU asynchronously and with a defined priority, minimizing latency for critical events.


Step-by-Step Solution:

List system constraints → low urgency, predictable workloads.Select I/O method → polling is sufficient when no device must preempt others.Confirm → absence of priority considerations favors polling.


Verification / Alternative check:
Design guidelines in embedded systems texts recommend polling for simple, slow, or evenly weighted tasks, switching to interrupts for sporadic or high-priority events.


Why Other Options Are Wrong:

  • Frequent priority needs or random preemption require interrupts, not polling.
  • Options about “polling rate above/below 1000 s” are arbitrary thresholds and not a general rule.


Common Pitfalls:

  • Trying to scale polling to many time-critical devices; latency and jitter quickly become unacceptable.


Final Answer:
there are no priority considerations

Discussion & Comments

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