FreeRTOS - Task SchedulingIf configUSE_TIME_SLICING is set to 0, and two tasks have equal priority, what happens when both are ready to run?ATasks switch every tick regardless of configBBoth tasks run simultaneously on separate coresCThe first task to run continues until it blocks or yieldsDThe idle task runs instead of these tasksCheck Answer
Step-by-Step SolutionSolution:Step 1: Understand effect of disabling time-slicingWith time-slicing off, tasks of equal priority do not share CPU time automatically.Step 2: Identify scheduler behaviorThe first ready task runs until it blocks or yields voluntarily.Final Answer:The first task to run continues until it blocks or yields -> Option CQuick Check:Time-slicing off behavior = B [OK]Quick Trick: Without time-slicing, first ready task runs until blocking [OK]Common Mistakes:Assuming tasks switch automaticallyThinking tasks run in parallelConfusing idle task role
Master "Task Scheduling" in FreeRTOS9 interactive learning modes - each teaches the same concept differentlyLearnWhyDeepVisualTryChallengeProjectRecallTime
More FreeRTOS Quizzes RTOS Fundamentals - Task states (Ready, Running, Blocked, Suspended) - Quiz 6medium RTOS Fundamentals - Why RTOS over bare-metal - Quiz 3easy Task Creation and Management - Task priority assignment - Quiz 13medium Task Creation and Management - Task handle usage - Quiz 7medium Task Creation and Management - Multiple tasks running concurrently - Quiz 4medium Task Creation and Management - Stack size allocation - Quiz 5medium Task Priorities - uxTaskPriorityGet() for reading priority - Quiz 2easy Task Priorities - uxTaskPriorityGet() for reading priority - Quiz 1easy Task Priorities - Choosing priorities for real applications - Quiz 10hard Task Scheduling - Priority-based scheduling - Quiz 13medium