In real-time systems preemptive priority driven schedulers are used to schedule jobs to meet the timing requirements. When different priority jobs share common resoureces, unbounded priority inversion, a situation in which a higher priority job is blocked by lower priority jobs for an indefinite period of time, can be occurred. Such unbounded priority inversion can make real-time system unpredictable.
To eliminate unbounded priority inversion some solutions have been proposed. The simplest one is to disable preemption during the excution of all critical sections(NOP). The others are priority inheritance protocol(PIP) and priority ceiling protocol(PCP). Though PIP and PCP reduce priority inversion more efficiently than NOP, they have more system overhead due to frequent context switch and kernel trap than NOP. In this thesis we evaluate the performance of the above three protocols with respect to priority inversion duration and system overhead for context switch and kernel trap.