ETRI Journal | |
Kernel Thread Scheduling in Real-Time Linux for Wearable Computers | |
关键词: Kernel Thread; Real-Time System Linux; Wearable Computing; | |
Others : 1185553 DOI : 10.4218/etrij.07.0506.0019 |
|
【 摘 要 】
In Linux, real-time tasks are supported by separating real-time task priorities from non-real-time task priorities. However, this separation of priority ranges may not be effective when real-time tasks make the system calls that are taken care of by the kernel threads. Thus, Linux is considered a soft real-time system. Moreover, kernel threads are configured to have static priorities for throughputs. The static assignment of priorities to kernel threads causes trouble for real-time tasks when real-time tasks require kernel threads to be invoked to handle the system calls because kernel threads do not discriminate between real-time and non-real-time tasks. We present a dynamic kernel thread scheduling mechanism with weighted average priority inheritance protocol (PIP), a variation of the PIP. The scheduling algorithm assigns proper priorities to kernel threads at runtime by monitoring the activities of user-level real-time tasks. Experimental results show that the algorithms can greatly improve the unexpected execution latency of real-time tasks.
【 授权许可】
【 预 览 】
Files | Size | Format | View |
---|---|---|---|
20150520112246615.pdf | 586KB | download |
【 参考文献 】
- [1]Ingo Molnar Real-time Preempt Patch, http://people.redhat.com/ mingo/realtime-preempt
- [2]S.T. Dietrich and D. Walker, "The Evolution of Real-Time Linux," 7th Real-Time Linux Workshop, 2005.
- [3]L. Sha, R. Rajkumar, and J.P. Lehoczky, "Priority Inheritance Protocols: An Approach to Real-Time Synchronization," IEEE Trans. Computers, 1990, pp. 1175-1185.
- [4]R. Love, Linux Kernel Development, 2nd ed., Novel Press, 2005.
- [5]L.E. Leyva-del-Foyo, P. Mejia-Alvarez, and D. De Niz, "Predictable Interrupt Management for Real-Time Kernels over Conventional PC Hardware," Proc. 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’06), 2006.
- [6]CE Linux Forum Realtime Preemption, http://tree.celinuxforum. org/CelfPubWiki/RealtimePreemption
- [7]Patch: PREEMPT_RT and I-PIPE: The Numbers, part 4, http://lwn.net/Articles/143414/
- [8]RTAI, https://www.rtai.org/
- [9]RTLinux, http://www.fsmlabs.com/rtlinuxfree.html
- [10]L4Linux, http://os.inf.tu-dresden.de/L4/LinuxOnL4/
- [11]Montavista Real-Time Linux, http://www.mvista.com/products/ realtime.html
- [12]Wikipedia Montavista Linux, http://en.wikipedia.org/wiki/ Montavista_Linux/
- [13]Timesys Linux, http://www.realtimelinuxfoundation.org/solutions/ solutions.html#SOLUTIONS_TIMESYS
- [14]Linux /RK, http://www.cs.cmu.edu/~rajkumar/linux-rk.html
- [15]Lmbench, http://www.bitmover.com/lmbench/
- [16]D.P. Bovet and M. Cesati, Understanding the Linux Kernel, O’Reilly, 2005.
- [17]REAL-TIME LINUX BENCHMARKS, http://www.mvista. com/products/realtime_benchmarks.html
- [18]J. Mehaffey, "MontaVista Linux Open Source Real Time Project (White Paper)," MontaVista Software, 2004.