Bird
0
0

Why might time-slicing not occur between two equal priority tasks even if configUSE_TIME_SLICING is enabled?

hard📝 Conceptual Q10 of 15
FreeRTOS - Task Scheduling
Why might time-slicing not occur between two equal priority tasks even if configUSE_TIME_SLICING is enabled?
AOne task never yields or blocks, monopolizing CPU
BTasks have different stack sizes
CconfigUSE_PREEMPTION is set to 0
DThe idle task has higher priority
Step-by-Step Solution
Solution:
  1. Step 1: Understand conditions for time-slicing

    Time-slicing requires configUSE_PREEMPTION to be set to 1.
  2. Step 2: Identify why time-slicing might not happen

    If configUSE_PREEMPTION is set to 0, time-slicing is ignored even if configUSE_TIME_SLICING is 1.
  3. Final Answer:

    configUSE_PREEMPTION is set to 0 -> Option C
  4. Quick Check:

    Time-slicing requires preemption = B [OK]
Quick Trick: configUSE_PREEMPTION must be 1 for time-slicing to work [OK]
Common Mistakes:
  • Confusing preemption with time-slicing
  • Thinking stack size affects scheduling
  • Assuming idle task priority is higher

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More FreeRTOS Quizzes