基于Xenomai的Linux数控系统实时性改造研究
2018-12-21谢文彬殷红梅
谢文彬,殷红梅,张 钦
(1.淮安生物工程高等职业学校,江苏 淮安 223200;2.淮安信息职业技术学院 机械工程学院,江苏 淮安 223003)
0 引言
数控系统是一种多任务操作系统,实时性要求较高,标准的Linux系统实时性较弱,无法满足要求。根据实时性要求的不同,实时性可分为硬实时和软实时两种,无论是哪种存在问题都会给系统和机床带来严重破坏。Linux内核2.6版本在支持实时性任务方面做出了大量的改进,但仍然无法达到实时嵌入式系统的要求[1-2],如内核不具备完全可抢占性、时钟粒度粗糙不能满足要求等。Linux的实时性能改造主要通过内核内部改造与双内核实时化改造。其中,较为常用的双内核改造方案使用一定方法能够使Linux系统对硬实时性进行支持,降低了任务切换延迟和中断延迟,使应用程序的运行有了充分的时间保证。但依然存在以下缺点:①使用非实时性标准Linux内核的驱动程序来调用处理器资源,双内核改造方案过多,系统的实时可靠性受到影响;②实时和非实时任务在调用时需要分开考虑,增加了系统设计的复杂性[3-4]。当前,双内核实时性改造项目中比较具有代表性的有Xenomai、RT-Linux和RTAI等。本文针对基于FPGA数控系统的实时要求,完成基于Xenomai的Linux实时化内核的移植,为基于Linux+Xenomai的实时多任务操作系统的构建乃至数控系统整个软件平台的开发奠定基础。
1 Xenomai基本概述及工作原理
Xenomai以Adeos(Adaptive Domain Environment for Operating System)为基础,采用双内核机制——Linux内核的强实时扩展。其优先级高于Linux内核,它负责处理系统的实时任务,使开发者可以将依赖于传统RTOS的应用程序性能稳定,并快速地移植到GNU/Linux体系下,这样可以尽可能地减少应用程序的重新编写。……
