The Evolution of Real-Time Linux
In October, 2004, some people at MontaVista announced a Real-Time Linux Kernel prototype on the Linux Kernel mailing list. The Real-Time Linux prototype introduced preemptible locking into the Linux kernel, and allowed task preemption to occur while tasks were executing within critical sections, resulting in a dramatic improvement in the Real-Time response of the Linux kernel.
This paper examines the foundations of the Real-Time Linux kernel, focusing in detail on threadcontext interrupt handling, replacement of non-preemptible locking with preemptible mutex-based locks, priority-inheritance, virtualization of interrupt-disable, integration of high-resolution timers, as well as current development on user-space extensions of the kernel real-time mutex.