第 21卷第4期
2007年 12月
河 海 大 学 常 州 分 校 学 报
J0URNAL OF HOHAI UNIVERSITY CHANGZHOU
Vo1.21 No.4
Dec.2007
文章编号 :1009—1130(2007)04—0031-04
基于 Linux+RT—Linux的数控系统研究
黄 宁,梅志千,李向国
(河海大学 机 电工 程学 院,江苏 常州 213022)
摘要:利用基于开源思想 GPL(GUN General Public License)的Linux和 RT—Linux建立实时数控系统.通过编译
RT—Linux实时 补丁 .构 造 Linux+RT—Linux系统 的基本构架 .采用异步 串口通信方式实现上位 机与下位机之 间的
通信.测试结果表明.系统具有很强的实 时性
关键词 :开源操作系统 ;实时;Linux操作系统 ;RT.Linux操作系统 ;实时数控系统
中图分类号 :TP273 5 文献标识码 :A
20世纪 90年代推出的 Linux操作系统是一种开源操作系统.Linux本身并不是实时系统.因此在高速
度、高精度和复杂工况下如何保证系统准确响应中断.实现数据采集与传输的实时性一直是业界关注的焦
点.目前虽有几种商业性实时操作系统 RTOS(Real—Time Operate System).如 VxWorks和 pSOS等,但其价
格昂贵且互不兼容.GPL协议下的Linux为构建实时系统提供了可能.目前.具有代表性的Linux实时内核
有 RT—Linux、RTAI、Monta Vista等.本文 中作者通过对 Linux的实时改造 .构建基于 Linux+RT—Linux的数
控系统的上位机操作系统平台.采用异步串行通信方式实现上位机与下位机的通信.具有很强的实时性.
1 Linux实时性能改造
Linux操作系统拥有可靠的保护机制,其设备独立于内核.但 Linux采用非抢 占式的调度方法,其内核
运行在内核态 ,应用程序运行在用户态.程序在内核态和用户态之间切换需要 消耗大量的时间 ,无法满足实
时系统的需求 ;同时 Linux中断处理机制的开销较大 ,中断有可能得不到及时响应 ,甚至丢失⋯.
对 LinUX内核的实时改造主要有 2种方案 :双 内核和
实时内核补丁.双内核 的基本思想是用一个实时内核架空
Linux内核与 中断之间的响应 .非实时 Linux核心作为一个
可抢 占的任务运行在实时核心之上 .RT—Linux的源代码
开放 。执行 POSIX1003.13标准 .是一种通过底层路线实现
对 Linux实时改造 的硬实时操作 系统.系统运行 时所有控
制信号都由RT—Linux内核处理.RT—Linux将所有的中断
分成 Linux中断和实时 中断两部分 .RT—Linux对 Ljnux
内核工作环境的改造如图 1所示.
RT.Linux实时内核与 Linux用户间的通信采用修改
过的 UNIX VIPC机制 .即实时管道(RT—FIFO)和共享 内存
(mbuf).RT—FIFO是 RT—Linux中应用最广泛的一种通信
RT-Linux实时内核
l_— !竺! 竖一J ⋯⋯RT-L~inux! ~{
图 1 RT—Linux内核结构
Fig.1 RT-Linux kernel architecture
方式.RT—Linux提供 64个 RT—FIFO.各管道都以设备文件的形式存放在 /d