关于嵌入式实时操做系统的实时性

嵌入式实时操做系统RTOS里实时的衡量指标究竟是什么呢?1s确定达不到实时,那须要多快呢?100ms,10ms,1ms,仍是100us,10us?git

还有这些指标是如何测量的呢?github

一个关于1553B总线消息周期实时性指标的例子

一篇论文中关于1553B总线消息周期实时性的指标,从这个例子中能够看出,对于windows这种非实时操做系统而言,10ms的精度也很难保证。所以,实时性指标要求任务须要至少知足10ms的指标,甚至更高。express

韩春慧,王煜,黄书华,许权,张珅,鲁月林. 基于BM3803的1553B总线通讯软件设计 [J]. 中国空间科学技术, 2019,39(234), 05 65-72.windows

论文中须要完成的1553总线测试终端的消息的周期数值误差较为严格,测试

对于任务1广播时间码,周期为1s,周期误差不能超过100us,spa

对于任务7系统同步,周期为2s,周期误差不能超过10 000us=10ms,以下图所示。操作系统

若是使用传统的windows+1553B-PCI板卡方案的话,不能保证以上的精度;因此,论文使用了嵌入式实时操做系统的方案,BM3803+uCOS+61580,该系统能够知足上图的精度。设计

下表为实际测试结果,对于任务1,采用嵌入式实时操做系统方案,周期精确度误差平均为8us,而采用windows方案则高达13ms,超过了100us=0.1ms的精度要求。orm

其它任务的周期精度要求均为10ms之内,对于嵌入式实时操做系统方案,周期精度平均1.5ms,而windows则为15ms,超过了精度要求。blog

论文

连接: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

相关文章
相关标签/搜索