A Reconfigurable Scheduler Model for Supporting Various Real-Time Scheduling Algorithms

This paper proposes a reconfigurable scheduler model that can support various real-time scheduling algorithms. The proposed model consists of two hierarchical upper and lower components, task scheduler and scheduling framework, respectively. The scheduling framework provides a job dispatcher and software timers. The task scheduler implements an appropriate scheduling algorithm, which supports a specific real-time application, based on the scheduling framework. If system developers observe internal kernel interfaces to communicate between two hierarchical components, they can implement a new scheduling algorithm independent of complex low kernel mechanism. Once a task scheduler is developed, it can be reused in a new real-time system in future. In Real-Time Linux (5), we implemented the proposed scheduling framework and several representative real-time scheduling algorithms. Throughout these implementations, we confirmed that a new scheduling algorithm could be developed independently without updates of complex low kernel modules. In order to confirm efficiency of the proposed model, we measured the performance of representative task schedulers. The results showed that the scheduling overhead of proposed model, which has two separated components, is similar to that of a classic monolithic kernel scheduler.