聊聊航空航天软件中常用的SIFT(Software-Implemented Fault Tolerance)三版本方案

一、SIFT技术

在软件程序控制流程中,特别是在SIFT(Software-Implemented Fault Tolerance)系统中使用三版本编程(Three-Version Programming, 3VP)意味着为同一个任务创建三个独立的软件版本。每个版本由不同的开发团队使用不同的方法和假设来编写,以尽量减少不同版本之间的共同错误模式。这三个版本的程序并行执行相同的计算,并将结果提交给一个投票器(voter),投票器根据多数原则决定最终输出。这种设计是为了提高系统的容错能力,即使其中一个或两个版本出现故障或产生错误的结果,只要有一个版本是正确的,系统仍然可以正常运行。

SIFT系统中的具体应用

  1. 冗余任务执行:在SIFT系统中,为了实现超高的可靠性,任务会在三个处理器上重复执行。这意味着同一任务会被分解成三个独立的实例,每个实例都由一个不同的软件版本来处理。

  2. 结果投票:每次迭代后,每个处理器都会生成自己的结果。这些结果随后被送到一个3路多数投票器࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老猿讲编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值