论文部分内容阅读
本文总结了过去两年作者在扩展“Linux实时抢占补丁”方面所从事的研究与开发工作,包含了作者对该项目所作的贡献。本文在深入分析其实现原理之后,介绍了其在MIPS(龙芯)平台的移植与优化,并给出了评测结果与性能分析。Linux实时抢占补丁项目由Ingo Molnar于2006年发起,旨在整合其他团队(KURT, RED-Linux, low-latency)的工作,通过修改Linux让其支持完全抢占以提供实时性能。它不仅提供了POSIX的API,继承了Linux对文件系统、网络和图形的良好支持,源代码以GPL协议发布,可以自由获取与修改,有良好的可移植性,目前已支持X86、PowerPC、ARM等平台。该项目还在开发中,不支持Linux所支持的所有平台,通过本文的工作,MIPS(龙芯)将得到支持。本文在调研该项目研究进展与开发趋势后,基于其最新源码对其实现原理进行了深入学习,分析了其低延迟/自愿抢占技术、抢占技术、中断线程化、高精度时钟、实时调度策略、临界区抢占、优先级继承等实时改造技术以及Ftrace、Perf等实时调试与优化技术,从而更深入地理解了实时操作系统的原理与特点。本文所采用的目标平台是龙芯处理器,它由中国设计,自第一代于2002年面市以来,已经发展到了第三代。市面上广泛采用的是第二代的龙芯2F,该处理器采用RISC架构,基本兼容MIPS,达到中等奔四的性能,已应用于桌面、上网本、小型服务器等领域。虽然其功耗低,但是在工业自动化、数字控制、汽车电子等领域的应用还有待拓展,而这些领域都需要实时操作系统的支持。本文成功地移植了Linux实时抢占补丁到龙芯处理器平台,不仅充分验证了Linux实时抢占补丁的高度可移植性,而且为龙芯平台提供了一款安全、可靠、高效的实时操作系统,潜在地拓展了龙芯在上述实时领域,甚至是在国防、航空航天等领域的应用。该工作得到了江苏龙芯梦兰科技股份有限公司的支持,相应的研究成果已经被该项目官方接收:git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git rt/2.6.33最新的研发进展以GPL协议发布于以下两个站点:1. http://dslab.lzu.edu.cn/dslabwiki/index.php/Real_Time_Preempt_Patch(RT_PREEMPT)_for_MIPS2. http://dev.lemote.com/code/rt4ls