262 <A HREF="http://en.wikipedia.org/wiki/Priority_inversion">priority inversion</A> (processes |
262 <A HREF="http://en.wikipedia.org/wiki/Priority_inversion">priority inversion</A> (processes |
263 with lower priority block processes with higher priority). If you do not prevent this problem, |
263 with lower priority block processes with higher priority). If you do not prevent this problem, |
264 then processes can behave quite erratically, as <A HREF="http://www.nasa.gov">NASA</A> found out the |
264 then processes can behave quite erratically, as <A HREF="http://www.nasa.gov">NASA</A> found out the |
265 <A HREF="http://catless.ncl.ac.uk/Risks/19.54.html#subj6">hard</A> way with their |
265 <A HREF="http://catless.ncl.ac.uk/Risks/19.54.html#subj6">hard</A> way with their |
266 <A HREF="http://www.nasa.gov/mission_pages/mars-pathfinder/index.html">Mars Pathfinder mission</A>. |
266 <A HREF="http://www.nasa.gov/mission_pages/mars-pathfinder/index.html">Mars Pathfinder mission</A>. |
267 The priority inheritance protocol is a widely used schedulling algorithm that prevents |
267 The priority inheritance protocol is a widely used scheduling algorithm that prevents |
268 priority inversion. However, the <A HREF="http://dx.doi.org/10.1109/12.57058">original paper</A> |
268 priority inversion. However, the <A HREF="http://dx.doi.org/10.1109/12.57058">original paper</A> |
269 describing this algorithm contains an incorrect algorithm and a bogus correctness proof |
269 describing this algorithm contains an incorrect algorithm and a bogus correctness proof |
270 (this seems to be the only "proof" about priority inheritance in the literature). |
270 (this seems to be the only "proof" about priority inheritance in the literature). |
271 |
271 |
272 We formalised the priority inheritance protocol, including a generalisation |
272 We formalised the priority inheritance protocol, including a generalisation |