实时性->阅读傻孩子的实时性迷失
系统的实时性考处理器的确定性保证的,而不是考处理的越快越好决定的。譬如频率低性能低的51单片机和频率高性能高的coretex-M的ARM做的系统都有可靠性,而基于MMU的更高频率和性能的arm-A却没有实时性,因为理论上由实现虚拟地址空间导致的存储器访问时间是不确定的。
但是在处理代码确定的情况下,处理器频率越高,处理代码需要的时间就越短,当然周期调用的时间也越短,但是t处理代码时间/T周期调用时间的百分比是不变的「即该段代码相对于处理器资源总任务的时间点是确定的」。因此只要理论上确定性能保证的,实时性就有保证。
裸机下的状态机和带操作系统的时间片轮转并不能真正保证实时性。它们虽然解决了系统及时调度切换,但过度的切换调度反而损坏系统的实时性。
关于中断对实时性的影响,参考文章3:结论:
- 频繁开关中断不可怕,不一定影响系统实时性,关键是关中断最长时间的那部分,屏蔽时间+处理需要的时间是否超过时间系统中任意一个有实时要求的实时处理时间窗口?,若是则系统实时性就得不到保证。所以可以多次使用开关中断比一次长时间的关掉实时性要好。
- 在RTOS中用mutex而不要开关中断和调度器。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2017-12-08 tera term 的一个命令解析脚本
2017-12-08 终端工具