Executing a Preemptive, Priority-Based Dispatcher in a Multitasking Environment
Original Publication Date: 1987-Sep-01
Included in the Prior Art Database: 2005-Feb-01
A method is described for allowing a preemptive, priority-based dispatcher to execute in a multitasking environment. A multitasking operating system allows multiple applications to run concurrently at different priorities. The operating system controls the interrupts and passes control to the Interrupt Service Routine (ISR) of the applications running under it based on which has highest priority. The operating system expects the ISR to execute and return control promptly. The ISR cannot do any "application-specific" processing and can use only a subset of the operating system function calls. The dispatching of other tasks from an ISR under the control of a multitasking operating system is not permitted. This makes it difficult for a program to dynamically start new processes in a multitasking environment.