浅谈面向航天系统的嵌入式操作系统实时性评测
2019-10-14李苗伟冯东
李苗伟 冯东
摘 要:目前航天系统中的嵌入式操作性系统还存在一定的问题,因此本文主要对航天系统星载计算机实时性需求进行了分析,并提出了一个对实时性进行评测的体系,根据评价体系中的各个指标,以SPARC架构为基础的S689-MIL嵌入式平台评测了航天领域中较为典型的嵌入式操作系统。相关结果表明,该类评价系统能够全面评价和分析嵌入式操作系统的实时性,并能为选择合适的嵌入式操作系统提供更加真实、可靠的决策。
关键词:航天系统 嵌入式操作系统 评测体系 实时性
中图分类号:TP316 文献标识码:A 文章编号:1674-098X(2019)08(b)-0007-02
1 论述主流嵌入式操作系统
目前在市场中比较常用的嵌入式实时操作系统包括eCos、VxWorks以及RTEMS等,其中VxWorks最小的尺寸只有8kB,有基于优先级抢占式调度,并支持256个任务的优先级,在该类系统中其虚拟内存支持是可选项,一般用于没有MMU的系统;ucLinux嵌入式操作系统的最小尺寸为100kB,其是非抢占式调度,一共支持40个任务优先级,该系统不支持虚拟的内存。
本文主要评测的嵌入式操作系统包括RTEMS和VxWorks,并且由于在市场中ucLinux也受到了比较广泛的应用,因此本文主要选取了RTEMS、VxWork以及ucLinux这3类嵌入式操作系统对其性能和实时性进行评测、分析及比较,为选择合适的嵌入式操作系统提供一定的参考依据。
2 分析实时性的度量指标
实时性衡量指标包括任务切换时间、中断延迟时间、抢占时间、信号量混洗时间等,为了能够将嵌入式操作系统的实时性能全面反映出来,本文主要对任务切换时间以及中断延迟时间进行了较为深入的探讨。其中任务切换时间主要是指CPU的控制权,从执行任务时转移到将要被执行的任务所花费时间整个过程的时间开销,包括保存当前任务的上下文以及选择调度新的任务和恢复新任务;中断延迟时间主要是指从发生到中断系统执行相关任务所需的时间,中断就是整个反应式系统中的重要部分,在很多的应用场景中都需要触发中断来达到实时处理的目的。
3 面向航天系统的嵌入式操作系统实时性评测
3.1 实验的平台
本文研究的硬件环境是一种以LEON-2芯片SPARC V8为基础的嵌入式实验开发板S698-MIL。CPU的频率为20MHz,ROM为512kB,Flash为16MB。
该类开发板由于使用了32位SOC芯片,所以具有较高的性能、集成度以及可靠性,在S698-MIL的内部还配置了整数处理单元和浮点处理单元。
3.2 计时使用的方法
计时采用的是所使用设备内自带的定时器,在该类设备上的定时器有4个,可以通过读取寄存器了解到对应定时器上的数值,在读取寄存器值时,可以选择计时开始和计时结束两种情况,这样能够有效计算出对应的延迟时间。在该定时器内其频率可以到达20Hz,所以计时的精度可以精确到0.05μs,使计时更加精确和可靠。
4 实验结果及分析
4.1 实验的结果
本文主要对RTEMS、VxWorks以及ucLincx进行评测分析,将测评的任务数分别定为4、20、50、150,其内存负载都在1kB,要进行反复的测试,一般需要测试100次左右,然后对平均值进行统计。所有的测试都在S698-MIL上进行,其所得到的测试结果如表1、表2所示。
4.2 分析评测结果
4.2.1 分析实时性
为了能够对实验结果进行更加直观的分析,将上述实验结果制成如图2所示的样式,由于在同一测试数据中不同系统表现的数量级存在一定的差异,所以底取对数是以自然对数e为标准,单位为μs,图2中所有纵坐标内对数时间就是表示在实际是按中取对数的值。
由图2可以看出,在实时性度量指标的任务切换指标中,Vx-Works拥有最优的表现,随后是RTEMS和ucLinux,其中RTEMS与Vx-Works的差距不大。
由图3可以看出,实时性度量指标的中断延迟时间指标中,Vx-Linux拥有最优的表现,RTEMS与其的差距較大,ucLinux与以上两类嵌入式操作系统的差距都相对较大,而且当任务数在不断上升时,会出现比较明显的增大情况,因此可以知道该类嵌入式操作系统比较容易受到任务数量的影响。
4.2.2 分析实时稳定性
根据相关研究可以知道,一般情况下Vx-Works的实时性能指标在不同荷载下的标准差相对较小,说明其波动情况也较小,实时稳定性比其他两个嵌入式操作系统更优;RTEMS在不同的负荷下,分析其任务切换时间和中断延迟时间,可以知道延迟的时间会随着任务量负载的增大而出现波动情况,一般其波动在10%~20%之间,这类波动属于较大的波动,但是基本上可以将其控制在规定的范围内,但是如果信息量混洗时间的数据较大,RTEMS则会出现比较大的起伏,呈现了非常高的增长趋势,表现出非常不稳定的情况,这主要是因为RTEMS的内核设计机制不合理,比如其任务管理主要是借助双向链表结构进行管理,在一般情况下,在链表中任务是按照优先级大小排列,当满足条件时,就会在有序链表中需要插入任务,而对插入定位的位置进行计算则会花费较多时间,随着不断增大任务规模,在链表中就会进入很多满足条件的任务,时间的开销也会不断增大,这样数据就会出现较大的波动情况,如果在航天系统中使用该类嵌入式操作系统,则应该将RTEMS在信号量方面的设计技术进行优化,或者可以使用其他操作系统。ucLinux的波动幅度普遍较大,因此不能够满足航天系统实时稳定性的要求。所以通过评测3个嵌入式操作系统可以知道VxWorks具有较好的稳定性和确定性,在测试相关的时间性能指标时,随着不断增大系统的负载,其延迟的时间波动都会保持在10%以内,所以时间确定性非常良好。
5 结语
本文以Rhealstone方法为基础提出了一个相对较为科学的嵌入式操作系统评价体系测量和比较目前比较主流应用于航天领域的三类嵌入式操作系统的实时性。通过对VxWorks、RTEMS以及ucLinux这3类嵌入式操作系统进行评测,可以知道:VxWorks的实时性能最优,而ucLinux的实时性能则无法满足目前航天领域实时性要求。本文对此进行研究,希望使用的评测方法和评测数据能够为航天领域选择嵌入式实时操作系统时提供一定的参考,从而在一定程度上推动航天领域的进一步发展。
参考文献
[1] 朱亚杰,王劲强,石志成,等.浅谈嵌入式操作系统在航天领域中的应用[J].单片机与嵌入式系统应用,2013,13(5):7-10.
[2] 董佳梁,李彦峰,杨秋松,等.面向航天系统的嵌入式操作系统实时性评测[J].计算机工程与设计,2013,34(1):114-120.
[3] 许璐璐.支持对称多核处理器的嵌入式实时操作系统研究与实现[D].中国航天科技集团公司第一研究院,2016.