Concept Flow - Task starvation and priority inversion
Start Scheduler
Multiple Tasks Ready
Check Priorities
Highest Priority Task Runs
Lower Priority Tasks Wait
If Resource Held by Low Priority Task
Priority Inversion Occurs
Priority Inheritance Boosts Low Priority Task
Low Priority Task Releases Resource
Normal Priorities Resume
Starvation Avoided or Occurs if No Inheritance
Scheduler Continues
The scheduler runs the highest priority task ready. If a low priority task holds a resource needed by a high priority task, priority inversion happens. Priority inheritance temporarily boosts the low priority task to avoid starvation.