6th RTL Workshop: A New Application-Defined Scheduling Implementation in RTLinux
Nov 2, 1997 — by LinuxDevices Staff — from the LinuxDevices Archive — viewsScheduling theory has shown an impressive evolution due to the intensive research done in this area. As a result, a lot of scheduling algorithms has been proposed to support a large amount of applications. RTLinux uses a fixed-priority scheduler and although fixed-priority scheduling is suited for a large number of real-time applications, it has some drawbacks. Nevertheless, adding new scheduling policies is a complex and time-consuming task since the kernel's internal structure must be modified. In recent years, an Application Program Interface (API) to create Application-Defined Schedulers in a way compatible with POSIX has been proposed. This model allows the implementation of different scheduling policies in a portable way, without modifying the internal structure of the real-time operating system. In this document, the implementation of a new Application-Defined Scheduling model in RTLinux is presented. The Application-Defined schedulers are not implemented as special threads but as a set of primitive operations that are executed inside the kernel, avoiding unnecessary and costly context switches. Also in this paper, a new library of Application-Defined Schedulers and its API is presented. This library offers a wide range of scheduling policies. Using this library, the implementation of Real-Time systems can be done in an easy, efficient and consistent way. The use of the library makes possible the creation of systems with multiple schedulers working concurrently, every one at a different priority level.
Read full paper (PDF download)
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.