Abstract

In a real-time Linux system, the critical sections are thought to be one of the main factors causing problems with the start of real-time tasks. Traditional approaches for overcoming this issue either provide less of a guarantee on the worst-case latency time of real-time tasks, or have heavy overhead on normal Linux tasks. In this paper, to guarantee the start time of a real-time task, the execution of a normal Linux task will be delayed, made to wait at the beginning of a critical section, on the assumption that the future execution of this section would lead to an unacceptable delay time in the start of the coming real-time task. In addition to this, to reduce the latency time of the real-time task, a technique is proposed in which hardware interrupts will not be prohibited in the most kernel's critical sections, so the timer interrupt can enter the kernel with no or less delay time. Experimental results showed that the worst-case start latency of a real-time task is reduced to 16.7% of that in Linux 2.6.20, and the penalty to the normal tasks is light, in contrast to traditional approaches. The proposed technique is useful not only for constructing a real-time Linux, but also for developing other real-time systems in which the critical sections are significantly long.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call