FreeRTOS - Task SchedulingA task with priority 2 never runs even though it is ready. The system uses preemptive scheduling. What could be wrong?AThe scheduler is not startedBThe task stack size is too largeCThe task was created with priority 0DA higher priority task is always running or readyCheck Answer
Step-by-Step SolutionSolution:Step 1: Analyze why a ready task doesn't runIn preemptive scheduling, a lower priority task won't run if a higher priority task is always ready or running.Step 2: Check other optionsStack size or priority 0 would affect creation or cause errors; scheduler not started means no tasks run at all.Final Answer:A higher priority task is always running or ready -> Option DQuick Check:Higher priority tasks block lower ones from running [OK]Quick Trick: Higher priority tasks always run first [OK]Common Mistakes:Ignoring priority effects on schedulingAssuming stack size blocks schedulingForgetting to start the scheduler
Master "Task Scheduling" in FreeRTOS9 interactive learning modes - each teaches the same concept differentlyLearnWhyDeepVisualTryChallengeProjectRecallTime
More FreeRTOS Quizzes RTOS Fundamentals - Why RTOS over bare-metal - Quiz 14medium RTOS Fundamentals - Real-time vs general-purpose OS - Quiz 10hard RTOS Fundamentals - Tick timer and scheduler - Quiz 11easy Task Creation and Management - Why tasks are the building blocks - Quiz 14medium Task Creation and Management - Task priority assignment - Quiz 12easy Task Creation and Management - Task function signature - Quiz 4medium Task Scheduling - vTaskDelay() for periodic tasks - Quiz 9hard Task Scheduling - Why scheduling determines real-time behavior - Quiz 7medium Task Scheduling - vTaskDelayUntil() for precise timing - Quiz 3easy Task Scheduling - Time-slicing for equal priority tasks - Quiz 4medium