A priority inversion occurs when a low-priority task causes the execut
ion of a higher-priority task to be delayed. The possibility of priori
ty inversions complicates the analysis of systems that use priority-ba
sed schedulers because priority inversions invalidate the assumption t
hat a task can be delayed by only higher-priority tasks. This paper fo
rmalizes priority inversion and gives sufficient conditions as well as
some new protocols for preventing priority inversions.