新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种改进嵌入Linux实时性的新型方案

一种改进嵌入Linux实时性的新型方案

作者: 时间:2010-12-16 来源:网络 收藏

现 有的式操作系统大致可分为商用型和免费型两类:商用型操作系统由于功能稳定、可靠,有完善的技术支持和售后服务,在式市场占有一定的份额。但它同 时也存在价格昂贵、需要版权、源代码不公开等一系列问题;免费型操作系统(如)源码公开,有价格方面的优势,但在严格满足式实时应用需求方 面还有欠缺。


图2 实时内核实现机理


RTAI对

现有几种针对的实时系统解决,实现方法主要包括两种:

1)直接修改Linux内核、增加,如:Montavista;

2)在普通Linux内核之上增加实时模块、双内核结构,如:RTLinux或RTAI。

Montavista 可以满足用户的软实时要求,RTLinux或RTAI着重增强Linux的硬实时特性。软实时系统的时限是柔性灵活的,它可以容忍偶然的超时错误。失败造 成的后果并不严重,仅仅是轻微地降低了系统的吞吐量。硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至 导致系统失败、或者导致系统不能实现它的预期目标。

RTAI采用双内核方法,不直接使用Linux的任何功能,而是把需要高度时间精度的 工作写成一个驱动程序的形式,然后直接用PC时序芯片所产生的中断调用这个驱动程序。RTAI与NMT RT-Linux的最大不同之处在于,它在Linux上定义了一组实时硬件抽象层(RTHAL)。RTHAL将RTAI需要在Linux中修改的部分定义 成一组程序界面,RTAI只使用这组界面和Linux沟通。这样做的好处在于,用户可以将直接修改的Linux核心程序代码减至最小,这有可能使得将 RTHAL移植到新版Linux的工作量减至最低。

但是,RTAI虽然满足了硬要求,却没有被裁减为足够小且适用于嵌入式系统。

RTAI+uClinux的实时

uClinux 是为嵌入式应用设计的,它本身并没有更多地关注实时问题。uClinux经过小型化改造,形成了一个高度优化、代码紧凑的嵌入式Linux,并保留了 Linux大多数的优点。它专门针对无MMU的CPU,去除了普通Linux内核中的虚拟内存管理部分。更重要的是,uClinux提供了完整的 TCP/IP协议栈,并支持大量其他的网络协议,为嵌入式系统提供了强大的网络支持。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭