Hardware Implementation of Context Switching for Hard Real-Time Operating Systems
Nowadays more and more embedded real-time applications use multithreading. The benefits of multithreading include better throughput, improved responsiveness, and ease of development. However, these benefits come with costs and pitfalls which are unacceptable for a typical hard real-time system. These costs are mainly caused by scheduling and context switching between threads. While different scheduling algorithms have been developed to improve the overall system performance, context switching still consumes lot of processor resources and presents a major overhead, especially for hard real-time applications. In this paper, we propose a new approach to improve the overall performance of embedded systems that use multithreading by moving the context switching component of the Real-Time Operating System (RTOS) to the processor hardware itself. This technique leads to savings of processor clock cycles used by context switching, which is a very important resource for a hard real-time embedded systems.
Rafla, Nader and Gauba, Deepak. (2011). "Hardware Implementation of Context Switching for Hard Real-Time Operating Systems". 2011 IEEE 54th International Midwest Symposium on Circuits and Systems (MWSCAS), 1-4. http://dx.doi.org/10.1109/MWSCAS.2011.6026348