by Amaro-Ortega, V.; Diaz-Ramirez, A.; Flores-Rios, B. L.; Gonzalez-Navarro, F. F.; Werner, F.; Burtseva, L..
Series: 2016-07, Preprints
In recent years, Linux has been employed to execute numerous real-time applications. However, it is limited to support soft real-time systems. For real-time systems with critical constraints, the soft real-time support and the scheduling policies offered by Linux are still insufficient. In this work, the Earliest Deadline First scheduling policy, which has been shown in theory to be an optimal one in uniprocessor systems, is introduced as an extension of the Linux kernel. This policy is implemented into the real-time class, without the necessity of defining an additional class. The Linux kernel affords capabilities of a hard real-time operating system by an RT-Preempt patch, enabling the use of Linux to implement hard real-time systems. The integration is compliant with the POSIX real-time and thread standards, ensuring applications portability, employing the GLIBC library. In order to validate the proposed implementation, a set of experiments is conducted, showing that a real-time system that cannot be feasibly scheduled using existing policies, attains feasibility when it is scheduled using the integrated Earliest Deadline First policy.
hard real-time task, scheduling, uniprocessor system, earliest deadline first policy, POSIX