嵌入式并发软件的中断嵌套和线程交织等程序的随机性和不确定性( Randomicity and Nondeterminism)会引起数据竟争( Data race)和原子性违背( Atomicity Violations)等并发缺陷问题,并且这些问题很难被修复和重新构建。针对嵌入式软件中的数据竟争和原子性违背这类并发缺陷问题,文中提出了瘦中断处理( Thin Interrupt Service routine, Thin Isr)方式。首先,利用状态迁移矩阵( State transition matriⅸx,STM)进行建模,把中断处理程序中与访问共享变量相关的程序段移植到主程序中,即中断处理程序只负责将外界中断请求数据存到缓冲区中,中断的具体处理由主程序完成;然后,利用构建的STM模型生成对应的C代码,这样可以有效地避免原子性违背和数据竞争等并发缺陷;最后,利用排队方法对中断的到达时间与离开时间进行仿真。实验结果验证了本方法在解决数据竟争和原子性违背等并发缺陷问题方面的可行性与有效性。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !