Deadline scheduling in the Linux kernel
During the last decade, there has been a considerable interest in using Linux in real time systems, especially for industrial control. The simple and elegant design of Linux guarantees reliability and very good performance, while its open source license allows to modify and change the source code according to the user needs. However, Linux has been designed to be a general purpose operating system. Therefore, it presents some issues like unpredictable latencies and limited support for real time scheduling. In this paper, we present our experience in the design and implementation of the real time scheduler that has been recently included in the Linux kernel. The scheduler is based on the Resource Reservation paradigm, which allows to enforce temporal isolation between the running tasks. We describe the genesis of the project, the challenges we have encountered, the implementation details and the API offered to the programmers. Then, we show the experimental results measured on a real hardware. Copyright (c) 2015 John Wiley Sons, Ltd.
Softw. Pract. Exp.