next up previous
Next: An Real Example of Up: Threads & Priority Inversion Previous: Unbounded Priority Inversion

A Real Example of Inversion

\epsfig{file = yogi-pres-col-2.ps, height = 6cm}



The Ingredients:     The Mars Pathfinder spacecraft was run by a uniprocessor that contained an information bus used for passing information between different components of the spacecraft. Access to the bus was synchronised using mutexes. There were (at least) three threads:

1.
a high priority bus management thread that runs frequently for a short time to control the flow of data through the bus.
2.
a long running medium priority communication task for transmitting data back to earth.
3.
a low priority meteorological thread that ran infrequently.




The Outcome:     Shortly after Pathfinder bounced down to mars, and after it began collecting meteorological data, the spacecraft began experiencing total system resets. Frequent complete reboots of the on-board computer.



ian a. mason
1998-11-20