保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

RTLinux下的一种实时应用通信机制


被非实时进程中断。所以,在实现互斥时,只须保护非实时进程对共享资源的访问即可。
  
  抽象流程如图4所示。利用共享内存区域的第一个字节作为访问标识,实现非实时模块对实时模块的互斥。
  
  非实时进程开始访问共享区域时,将此标识置位;访问结束时,复位。实时进程在访问共享区域前先检测该标识,如果标识允许访问,则执行写入操作;反之,挂起等待标识位复位,按既定周期T轮询。
  
  实时进程的既定周期T的设置十分重要,周期过长,会增加发生冲突后的等时间,导致共享内存状态改变时,无法被及时写入;周期过短,增加了系统的轮询次数,加重实时系统的负担。笔者在已实现的数据采集程序中,对T的不同设置,所获得的平均数据采集率进行了统计,结果如图5所示。
  
  注:以上实验的测试平台为PentiumIII667,5400转普通硬盘,RTLinux3.1、Linuxkernel2.4.4,数据流向为数据采集外设至共享内存然后存放硬盘,数据的产生频率为10ms。
  
  (2)非实时模块之间的互斥
  
  非实时模块中异步执行的各采集线程之间,可以利用互斥变量的加锁和解锁实现对共享内存访问的互斥。由于互斥区的执行体内,每次只允许一个线程进入,为了保证程序的执行效率,在互斥区中不宜使用耗时较长或阻塞式调用的函数。
  
  4结论
  
  在RTLinux提供的实时模块和非实时模块之间的通信接口中,RT_FIFO和共享内存较为常用,分别适用于不同的数据类型通信。本文提出的这种方法,能充分利用两者的优点,方便地实现实时与非实时之间海量数据通信。目前已在rtLinux3.1、Linuxkernel2.4.4系统平台上成功实现,并取得了令人满意的效果。 《RTLinux下的一种实时应用通信机制(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/144432.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。