In the early days of DSP, much of the software written was low level assembly language that ran in a loop performing a relatively small set of functions. There are several potential problems with this approach:
• The algorithms could be running at different rates. This makes scheduling the system difficult using a “polling” or “super loop” approach.
• Some algorithms could overshadow other algorithms, effectively starving them. With no resource management, some algorithms could never run.
• There are no guarantees of meeting real-time deadlines. Polling in the fashion described is nondeterministic. The time it takes to go through the loop may be different each time because the demands may change dynamically. ...