2.3 任务级动态冗余 &
nbsp; 在 实时 多任务系统中,采用另一种软件冗余方法——任务级动态冗余[3]。任务级动态冗余方法是实时系统中瞬间故障的恢复方法之一。
在实时多任务的环境下,充分利用操作系统提供的功能,对各个基本任务建立后备任务作为冗余,并对后备任务进行 容错 调度,从而起到类似于重试或卷回恢复的作用。利用检查点技术和传递日志法保持主系统和备份系统的状态的一致性,实现错误恢复,有较高的性价比。
根据应用程序,结合实时性要求,采用以下的措施:
① 把应用程序分解成多个任务,任务以过程的形式出现,各个任务进入运行的顺序是从1到n,并在每个任务的最后设置检查点,传递日志。
② 根据应用程序的要求事先给各个任务安排优先级,使得任务可以根据要求及时占有处理器,实现实时处理。
③ 为各基本任务准备一个后备任务存放在内存中,平时后备任务不建立,不占有系统资源,仅在需要时才激活使用,后备任务的优先级比相应的优先级要高。马上建立就抢占执行,是某种意义上的重试或程序卷回。
④ 为实现恢复功能的后备任务,可以和原有任务完全一样,也可以是替换算法。
下面的算法能为各个任务产生容错调度,从而实现任务冗余:

当后备任务执行了Nmax次之后还通不过检测,就认为系统出现永久故障,系统报警。Nmax是个阀门值,是由实时要求所决定的。
3 可靠性分析 在考虑了 双机 的切换问题(包括切入成功率,与此相关的切入时间和再次切入的时间及其故障判别问题)后,完整的双机容错系统的稳态可用度为[4]

其中:λ为平均失效率,β为故障诊断率,是平均诊断时间的倒数;μ为平均维修率,是平均维修时间的倒数;α为加入失效率,是平均切入时间的倒数;C为故障判别率;α′为再次切入失效率,是再次切入时间的倒数(重启双工时间的倒数);D为切入成功率。
采用对称双机系统,在典型值的计算中可以获得99.99995%的可用度。
4 结论 随着实时系统在安全领域内越来越多的应用,可靠性已经成为衡量系统优劣的重要因素之一。传统的实时系统容错只满足了系统某一方面的容错需求。为了在出现硬件或软件的暂时或永久故障的情况下,系统仍能在规定的时限范围内完成运算,并输出正确的结果,本文提出一个软、硬件结合的完整的解决方案,能满足系统的强实时性、高可靠性、服务不断流的要求。此方案应用于RTEMS中,具有很高的可靠性。
www.55dianzi.com
参考文献
1 陈宇. 高可靠 容错 实时 系统的支撑技术研究:[博士研究生论文]. 成都:电子科技大学,2003-05
2 Kim K. The Distrubuted Recovery BLOCk Scheme, in SOFtware Fault Tolerance, M.R.Lyu, ed. Wiley,1995:189~2104
3 KrishnaC, Shin K. On Scheduling Tasks with a QuICk Recovery from Failure. IEEE Trans. Computer.May,1986, C-35:448~454
4 金士尧,胡华平,李宏亮. 具有容错结构的高可用计算机双系统研究.中国工程科学,1999,1 (3) : 46~50
上一页 [1] [2]
本文关键字:嵌入式 嵌入式系统-技术,单片机-工控设备 - 嵌入式系统-技术