The design and implementation of real-time schedulers in RED-Linux

Kwei Jay Lin*, Yu Chung Wang

*Corresponding author for this work

Research output: Contribution to journalJournal Article peer-review

16 Scopus citations

Abstract

Researchers in the real-time system community have designed and studied many advanced scheduling algorithms. However, most of these algorithms have not been implemented since it is very difficult to support new scheduling algorithms on most operating systems. To address this problem, we enhance the scheduling mechanism in Linux to provide a flexible scheduling framework. In the real-time and embedded Linux (RED-Linux) project, we implement a general scheduling framework which divides the system scheduler into two components: dispatcher and allocator. The dispatcher provides the mechanism of system scheduling and resides in the kernel space. The allocator is used to define the scheduling policy and implemented as a user space function. This framework allows users to implement application-specific schedulers in the user space which is easy to program and to debug. The framework also relieves the deficiency from the stock Linux scheduler which is not designed for real-time applications. To further enhance its power, a hierarchical scheduling mechanism has been provided in RED-Linux to allow a system designer to integrate different real-time applications together. Using scheduling groups, real-time jobs can be managed and scheduled in a hierarchical manner. In this paper, we discuss how the group mechanism is implemented in RED-Linux.

Original languageEnglish
Pages (from-to)1114-1130
Number of pages17
JournalProceedings of the IEEE
Volume91
Issue number7
DOIs
StatePublished - 07 2003
Externally publishedYes

Keywords

  • Allocator
  • Dispatcher
  • Hierarchical scheduling
  • Linux kernel
  • Priority-driven scheduling
  • Real-time operating systems
  • Real-time schedulers
  • Scheduling group

Fingerprint

Dive into the research topics of 'The design and implementation of real-time schedulers in RED-Linux'. Together they form a unique fingerprint.

Cite this