关于嵌入式实时操作系统的实时性
嵌入式实时操作系统RTOS里实时的衡量指标到底是什么呢?1s肯定达不到实时,那需要多快呢?100ms,10ms,1ms,还是100us,10us?
还有这些指标是如何测量的呢?
一个关于1553B总线消息周期实时性指标的例子
一篇论文中关于1553B总线消息周期实时性的指标,从这个例子中可以看出,对于windows这种非实时操作系统而言,10ms的精度也很难保证。因此,实时性指标要求任务需要至少满足10ms的指标,甚至更高。
韩春慧,王煜,黄书华,许权,张珅,鲁月林. 基于BM3803的1553B总线通信软件设计 [J]. 中国空间科学技术, 2019,39(234), 05 65-72.
论文中需要完成的1553总线测试终端的消息的周期数值偏差较为严格,
对于任务1广播时间码,周期为1s,周期偏差不能超过100us,
对于任务7系统同步,周期为2s,周期偏差不能超过10 000us=10ms,如下图所示。
如果使用传统的windows+1553B-PCI板卡方案的话,不能保证以上的精度;所以,论文使用了嵌入式实时操作系统的方案,BM3803+uCOS+61580,该系统可以满足上图的精度。
下表为实际测试结果,对于任务1,采用嵌入式实时操作系统方案,周期精确度偏差平均为8us,而采用windows方案则高达13ms,超过了100us=0.1ms的精度要求。
其它任务的周期精度要求均为10ms以内,对于嵌入式实时操作系统方案,周期精度平均1.5ms,而windows则为15ms,超过了精度要求。
论文
链接:https://pan.baidu.com/s/15P6VCZqdieAlSH9Mq8anmg
提取码:o1vq
关于实时性都有哪些指标
expresslogic有一个文档Measuring RTOS Real-Time Performance,其中描述了实时性的各种指标,最后,介绍了其RTOS实时性测量软件。
https://rtos.com/wp-content/uploads/2017/10/EL_Measuring_RTOS_Real-Time_Performance.pdf
主要分为两部分,
一是中断处理实时性,主要包括以下步骤:
(1)中断当前正在执行的任务,
(2)保存当前任务上下文,
(3)开始执行中断服务程序ISR,
(4)ISR中进行一些处理,以确定需要采取的动作,
(5)保存一些中断相关的关键数据,
(6)设置一些必须的输出,
(7)确定该执行哪个任务(一般中断到来之后,需要的处理会比较多,一般中断中会处理必须的事情,剩下的处理由某个任务来处理)
(8)清除中断状态寄存器,
(9)将控制转移到要执行的任务。
二是系统服务实时性,包括
(1)在某个事件发生时调度一个任务执行,
(2)任务之间传递消息(消息队列),
(3)申明公共资源三方面(信号量等)。
TNKernel-RX/Thread-Metric/,某个操作系统使用了Thread Metric
源代码:https://github.com/msalau/TNKernel-RX/tree/master/Thread-Metric
pdf链接:https://pan.baidu.com/s/1pJH2azMJb8QNmYZwXUQpFA
提取码:t421
以上是 关于嵌入式实时操作系统的实时性 的全部内容, 来源链接: utcz.com/z/514945.html