Preemptible Linux: A Reality Check
Can Linux Be A "Real-Time Operating System"? The lack of kernel preemption in Linux means that long system calls can delay high priority user process execution for relatively long periods, running into the tens of milliseconds in a 2.4 kernel. There is now a kernel preemption patch that today reduces this time down to one to two milliseconds, with further improvements planned for the future. Whether an operating system capable of these levels of responsiveness guarantees is considered "real-time" or not is a positioning rather than a technical issue. MontaVista Software's Kevin Morgan explains that this level of improvement in Linux moves it from "problematic" to "very acceptable" for the vast majority of applications that have real-time requirements (soft or hard).