ABSTRACT

Any kind of lock-based task interaction in a real-time system, and especially mutual exclusion, must be designed, analyzed, and used with great care because it inevitably introduces timing dependencies among tasks with different priorities.

Accordingly, this chapter tackles two extremely important issues, priority inversion and deadlock, which may impair the timings of any real-time system if its lock-based inter-task synchronization and communication mechanisms are used improperly. In both cases, we discuss appropriate suitable design-time and implementation-time methods that can solve those issues.