文档解析
本文探讨了实时操作系统(RTOS)在嵌入式系统设计中的抽象层次提升,与传统的裸机编程相比,RTOS提供了线程支持,简化了应用代码的复杂性并增强了代码的可重用性。然而,共享内存并发模型在表达嵌入式系统中常见的反应性和交互性行为方面存在不足。为此,提出了基于actor模型或通信顺序进程的替代并发模型,但这些模型未能提供确定性和未能解决时间问题,使得验证实现行为和以可移植方式指定时间约束变得困难。
文章介绍了Lingua Franca(LF)作为超越RTOS提供的线程编程模型的嵌入式目标,以改进嵌入式编程的现状。LF基于反应式、确定性和定时的计算反应器模型,提供了一种独立于平台的方式来表达并发性和时间。通过与Zephyr上运行的线程化C代码的性能比较,评估了LF在响应时间、定时精度、吞吐量和内存占用方面的表现。
LF通过提供轻量级并发对象——反应器,简化了嵌入式设计模式的表达。反应器通过网络组合,不共享状态而是通过命名端口的消息传递进行通信,确保了基于反应器网络拓扑的确定性并发。LF具有语义上的时间概念,允许指定程序的任意定时行为。作为协调语言而非通用编程语言,LF允许程序员用他们选择的目标语言来表达计算。本文实现并评估的Zephyr支持基于C目标。
文章还讨论了与相关工作的比较,包括SynchronVM、MicroPython、Medusa、xC等,并详细介绍了LF在Zephyr OS上的设计和实现。最后,通过对Thread-Metric和Savina基准测试的评估,展示了LF在微控制器上与使用Zephyr线程API的基线实现相比的性能表现。
猜您喜欢
推荐内容
开源项目推荐 更多
热门活动
热门器件
用户搜过
随便看看
热门下载
热门标签
评论