Home

FAQ

Document

Download RED-Linux

Project Members

Other Links


RED-Linux White Paper

Executive Summary

The search for a powerful, flexible and open real-time operating systems continues! The real-time research group at the University of California, Irvine  has built a real-time kernel based on the popular Linux kernel. One of the most important reasons for us to choose Linux as the foundation of our real-time kernel project is the large user population. Linux has become one of the most popular OS's in a very short time after its creation. Although some of the users use Linux as one way to avoid using DOS-based products, many users are attracted to Linux because of its capability and flexibility. The open source policy behind Linux allows it to grow constantly and to become more robust and efficient due to the large number of enthusiastic and capable users whom it has attracted. We decided to make Linux even more powerful by expanding its domain from general purpose computing to also real-time and embedded applications.

Our project is called RED-Linux (Real-time and Embedded Linux). Among the novel features of RED-Linux are:

The scheduler implemented in the RED-Linux kernel is devided into two components: the Allocator and the Dispatcher. The Dispatcher implements the basic scheduling mechanism, and the Allocator implement the policy that manages the CPU time and system resources to meet the real-time constraints of user jobs. In this way, the scheduling policy may be easily modified without making changes on the low-level scheduling mechanism. The structure also allows well-designed application schedulers to be reused by other applications. We can collect the schedulers contributed by various projects implemented for different applications in a Allocator library to allow easy sharing and reuse.

The RED-Linux kernel is an open kernel. The source codes has been released. Please visit the Download RED Linux page if you are interested.



Implementating a General Real-Time Scheduling Framework
in RED-Linux

Download entire paper (ps file)

Executive Summary

Overview
Many scheduling paradigms have been proposed and studied in the literature for implementing real-time applications and real-time communication networks. Among them, the most popular paradigms include the priority-driven, time-driven and share-driven paradigms. Each of the paradigms has its unique capabilities in meeting certain aspects of application QoS requirements.

In this paper, we investigate a general scheduling framework which is aimed at integrating the three paradigms into one framework. The framework is implemented in our real-time extension of the Linux kernel, or RED-Linux. The general scheduling framework not only can accommodate existing popular scheduling schemes but also may allow new scheduling algorithms to be implemented.

Two scheduler functional units are used to implement the framework: the Allocator and Dispatcher. The framework identifies four basic scheduling attributes: priority, start_time, finish_time, and budget. We show that the framework can be used to implement most well-known scheduling paradigms, as well as some integrations of them. We also measure and analyst the performance of our frameowrk.

News About Us Issues & Articles Published Works Our Members FAQ Photo Gallery Contact us Homepage