Deterministic task scheduling for embedded real-time operating systems
In recent years, there has been a rapid and widespread 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 this paper, we propose a generalized deterministic scheduling algorithm that makes the task scheduling time constant irrespective of the number of tasks created in an application. The proposed algorithm eliminates the restriction on the maximum number of task priorities imposed on the existing ones, without additional memory overhead.
real-time operating system real-time task scheduling