FreeRTOS - Task SchedulingA developer notices that two equal priority tasks are not sharing CPU time fairly. Which of the following is the most likely cause?ATasks have different stack sizesBconfigMAX_PRIORITIES is set too highCTasks use different task namesDconfigUSE_TIME_SLICING is set to 0Check Answer
Step-by-Step SolutionSolution:Step 1: Identify cause of unfair CPU sharingTime-slicing must be enabled for equal priority tasks to share CPU fairly.Step 2: Check config settingsIf configUSE_TIME_SLICING is 0, tasks won't time-slice and share CPU fairly.Final Answer:configUSE_TIME_SLICING is set to 0 -> Option DQuick Check:Unfair CPU sharing cause = B [OK]Quick Trick: Enable time-slicing to ensure fair CPU sharing [OK]Common Mistakes:Blaming stack size or namesMisunderstanding max priorities effectIgnoring time-slicing config
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