-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

The Complete Edition - Software Engineering for Real-Time Systems
By :

The previous section has shown that tasks can safely share resources as long as we employ robust mutual exclusion techniques. Unfortunately, there is the possibility that the use of these mechanisms can accidentally produce serious runtime problems (the law of unintended consequences?). For us, the two most important ones are deadlock and priority inversion. But (and this is a significant but) these problems cannot arise where tasks share one resource only; they must share at least two resources.
Deadlock is the subject of this section; priority inversion is dealt with in the following one. To illustrate these effects, we'll look at the runtime behavior of the example system shown in Figure 5.22:
Figure 5.22: Example system tasking diagram
Its operation should be self-explanatory, but please check that you do understand it. The scheduling policy is a priority...
Change the font size
Change margin width
Change background colour