0
0
FreeRTOSprogramming~5 mins

Task starvation and priority inversion in FreeRTOS - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is task starvation in FreeRTOS?
Task starvation happens when a low-priority task never gets CPU time because higher-priority tasks keep running. It means the low-priority task is 'starved' of processing time.
Click to reveal answer
intermediate
Explain priority inversion in FreeRTOS.
Priority inversion occurs when a high-priority task waits for a resource held by a low-priority task, but a medium-priority task keeps running and blocks the low-priority task from releasing the resource.
Click to reveal answer
intermediate
How does FreeRTOS help prevent priority inversion?
FreeRTOS uses priority inheritance. When a low-priority task holds a resource needed by a high-priority task, it temporarily inherits the higher priority to finish quickly and release the resource.
Click to reveal answer
beginner
What is a real-life example of task starvation?
Imagine a busy cashier (high priority) always serving customers, so the cleaner (low priority) never gets a chance to clean the floor. The cleaner is starved of time.
Click to reveal answer
beginner
Why is task starvation a problem in real-time systems?
Because some tasks may never run, causing missed deadlines or system failures. Real-time systems need all tasks to run on time to work correctly.
Click to reveal answer
What causes task starvation in FreeRTOS?
AHigh-priority tasks always running and blocking low-priority tasks
BLow-priority tasks running too fast
CAll tasks having the same priority
DUsing too many semaphores
What is priority inversion?
AA low-priority task blocking a high-priority task indirectly
BA high-priority task running before a low-priority task
CAll tasks running at the same priority
DA task losing its priority permanently
How does FreeRTOS solve priority inversion?
ABy disabling interrupts
BBy killing low-priority tasks
CBy increasing stack size
DBy using priority inheritance
Which of these is a symptom of task starvation?
AAll tasks run equally
BTasks run out of memory
CA task never gets CPU time
DTasks crash randomly
Why is priority inversion dangerous in real-time systems?
AIt speeds up low-priority tasks too much
BIt can cause high-priority tasks to miss deadlines
CIt disables interrupts
DIt causes memory leaks
Describe task starvation and how it affects system behavior in FreeRTOS.
Think about what happens when some tasks never get CPU time.
You got /3 concepts.
    Explain priority inversion and how FreeRTOS uses priority inheritance to solve it.
    Consider how a low-priority task can block a high-priority task.
    You got /3 concepts.