Bird
0
0

Why must the FreeRTOS idle hook function avoid blocking calls or infinite loops?

hard📝 Conceptual Q10 of 15
FreeRTOS - Task Scheduling

Why must the FreeRTOS idle hook function avoid blocking calls or infinite loops?

ABecause the idle hook runs in the idle task, blocking it stops all lower priority tasks
BBecause blocking calls cause the idle hook to run faster
CBecause infinite loops improve system responsiveness
DBecause the idle hook runs in an interrupt context
Step-by-Step Solution
Solution:
  1. Step 1: Understand idle hook context

    The idle hook runs inside the idle task, which has the lowest priority.
  2. Step 2: Analyze blocking effects

    If the idle hook blocks or loops infinitely, it prevents the idle task from yielding, stopping lower priority tasks from running.
  3. Final Answer:

    Because the idle hook runs in the idle task, blocking it stops all lower priority tasks -> Option A
  4. Quick Check:

    Blocking idle hook blocks idle task and system = B [OK]
Quick Trick: Idle hook must never block to keep system running smoothly [OK]
Common Mistakes:
  • Thinking idle hook runs in interrupt context
  • Believing infinite loops help responsiveness
  • Assuming blocking calls speed up idle hook

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More FreeRTOS Quizzes