实时性->阅读傻孩子的实时性迷失

系统的实时性考处理器的确定性保证的,而不是考处理的越快越好决定的。譬如频率低性能低的51单片机和频率高性能高的coretex-M的ARM做的系统都有可靠性,而基于MMU的更高频率和性能的arm-A却没有实时性,因为理论上由实现虚拟地址空间导致的存储器访问时间是不确定的

但是在处理代码确定的情况下,处理器频率越高,处理代码需要的时间就越短,当然周期调用的时间也越短,但是t处理代码时间/T周期调用时间的百分比是不变的「即该段代码相对于处理器资源总任务的时间点是确定的」。因此只要理论上确定性能保证的,实时性就有保证。

裸机下的状态机和带操作系统的时间片轮转并不能真正保证实时性。它们虽然解决了系统及时调度切换,但过度的切换调度反而损坏系统的实时性。

关于中断对实时性的影响,参考文章3:结论:

  1. 频繁开关中断不可怕,不一定影响系统实时性,关键是关中断最长时间的那部分,屏蔽时间+处理需要的时间是否超过时间系统中任意一个有实时要求的实时处理时间窗口?,若是则系统实时性就得不到保证。所以可以多次使用开关中断比一次长时间的关掉实时性要好。
  2. 在RTOS中用mutex而不要开关中断和调度器。
posted on 2020-12-08 10:18  杰瑞鼠  阅读(199)  评论(0编辑  收藏  举报