Generalized Deterministic Task Scheduling Algorithm for Embedded Real-Time Operating Systems

* This work was supported in part by the Leading R&D Support Project of MIC, Korea Abstract In recent years, there has been a rapid and wide spread proliferation of non-traditional embedded computing platforms such as digital camcorders, cellular phones, and portable medical devices. As applications become increasingly sophisticated and processing power increases, the application designer has to rely on the services provided by the real-time operating systems (RTOSs). These RTOSs must not only provide predictable services but must also be efficient and small in size. Kernel services should also be deterministic by specifying how long each service call will take to execute. Having this information allows the application designers to better plan their real-time application software so as not to miss the deadline of each task. In earlier work, we proposed a deterministic scheduling algorithm which can be generalized such that it makes the task scheduling time constant irrespective of the number of tasks created in an application. In this paper, we present the complete generalized algorithm to determine the highest priority in the ready list with 2 levels of priorities for an arbitrary integer number of r. The proposed algorithm eliminates the restriction on the maximum number of task priorities imposed on the existing ones, without additional memory overhead.

[1]  Cheol-Hoon Lee,et al.  Deterministic Task Scheduling for Embedded Real-Time Operating Systems , 2004, IEICE Trans. Inf. Syst..

[2]  Krithi Ramamritham,et al.  Scheduling algorithms and operating systems support for real-time systems , 1994, Proc. IEEE.

[3]  Kang G. Shin,et al.  Emeralds: a small-memory real-time microkernel , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[4]  Marc Rose,et al.  μC/OS — The real-time kernel , 1993 .

[5]  Parameswaran Ramanathan,et al.  Real-time computing: a new discipline of computer science and engineering , 1994, Proc. IEEE.

[6]  L. M. Thompson,et al.  Using pSOS/sup +/ for embedded real-time computing , 1990, Digest of Papers Compcon Spring '90. Thirty-Fifth IEEE Computer Society International Conference on Intellectual Leverage.

[7]  Dan Hildebrand,et al.  An Architectural Overview of QNX , 1992, USENIX Workshop on Microkernels and Other Kernel Architectures.