Linux is not a real-time operating system. However, with the arrival of the Linux 2.6
kernel, real-time performance has significantly improved.
Prior to Linux 2.6, Linux used a fairness scheduling algorithm designed for time sharing,
which is neither a strict priority preemptive scheduler nor some other scheduler suitable for real-time.
Furthermore, the pre-2.6 Linux kernel is neither preemptive nor reentrant by user processes.
If one process is using a kernel facility, no other process can execute until the process finishes or
waits on something. This means that the worst-case response time for a real-time task running under the
Linux kernel is longer than the time it takes to execute the longest stretch of kernel code before a wait.
This length of time can be unacceptable for some real-time requirements.
However, you can still use standard BlueCat Linux to build your embedded application
today, and then augment its real-time functionality tomorrow if needed by migrating to the Linux-compatible
LynxOS® RTOS, thanks to the LynuxWorks™ open-standards approach.
See also: