Thanks a lot for all your suggestions and links. I am sorry that I should have meant what I want to figure out is why Linux is not a HARD REAL TIME OS, or in other words, a real RTOS. I did google for some time, but most of the materials only indicates Linux is a general OS, which cares its throughput more than the hard real time performance of some tasks. However, what I feel interested is, in the code level (or implementation level), which part of Linux introduces the non-deterministc delay. RTAI is based on ADEOS and registers itself ahead of Linux in the interrupt pipeline. Therefore the hard real time performance of RTAI tasks can be guaranteed since RTAI always gets the interrupts and events before Linux and is able to determine whether to pass them to Linux. So does it mean that the interrupt handlers in Linux cannot guarantee hard real time? As for the scheduling policy, I read from an "old" article saying the Linux scheduler gives always some time for the low priority tasks to run, which introduces some non-real-time delay for those tasks in need of hard real time performance. I am just wondering whether the scheduler in 2.6 kernel still has the same "feature". Thank you all again, and further information is welcome Yang -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/