Multitasking operating systems for real-time applications
Files
TR Number
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Multitasking systems are becoming increasingly used for implementing real-time systems since they are well-suited to asynchronous, often overlapping, events. With the availability of kernels such as Hunter and Ready's VRTX Operating System components, multitasking becomes a good alternative to other implementations of real-time systems, such as interrupt-driven and polling systems. We developed a software design method and wrote a sample real-time system with many of the characteristics of typical real-time systems. This multitasking system uses a standard printer port to output bits which indicate the various activities of the tasks in the system. It also allows the user to interactively change the priorities of the tasks and to modify parameters which determine how long and how often the tasks execute. Through the use of the printer port connected to a logic analyzer and the ability to change various parameters in the system dynamically, the interaction between tasks was studied for different situations. The observed interaction between tasks was consistent with intuition. We observed task pre-emption, tasks waiting for results from other tasks and the system overhead required for context switching. When the timing restrictions were increased, we observed that data is lost during intertask communication and that higher priority tasks are the only tasks which run. This ability to observe the interaction between tasks has removed much of the mystery surrounding multitasking.