《现代电子技术》2006年第23期摘录:邓玉元等:提高系统容错性的软件
-
如发现有乱码,请点击下面链接浏览原文
正文摘录:
邓玉元等:提高系统容错性的软件技术志、记录时刻、采样值、输出值、软件运行状态描述信息等。2.1.2恢复块的利用在电源瞬间掉电△f时问后,电源又恢复正常,但此时已经引起程序霞新启动(例如.从OOOO地址开始执行)。程序重启时可读取恢复块的信息。以便判断计算机是首次启动还是恢复后启动。如恢复块标志未置,说明计算机是首次启动,则程序执行初始化设置后进入工作周期;如恢复块标志已置,说明计算饥是恢复后启动,则程序应跳过初始化设置,根据恢复块记录的信息决定程序执行流程.恢复到掉电前的工作状态,使计算机不因瞬间掉电而产生输出突变,达到系统容错的目的。工程应用中.恢复块的利用与△z和计算机的时间特性关系t分密切,应根据实际情况采取不同的措施。下面就几种情况分别展开讨论:(1)△r<计算机重肩间隔计算机重启问隔指允许的计算机最长掉电而不导致程序重新启动的时长。这种情况下.程序不会重新肩动,冈此无需恢复。(2)计算机重启间隔<△f<RAM数据保持时长RAM数据保持时长指允许的计算机最长掉电而不导致内存数据丢失的时长。经过△£时问后程序重启.因为存放恢复块数据的RAM没有掉电,数据仍然保持,所以程序蓐启后.可利用RAM中的恢复块将软件运行恢复到掉电前的状态。(3)RAM数据保持时长<△f<系统控制周期系统控制周期指讨‘算机作为离散控制系统的外部输出周期。经过△r时间后程序重启.因为存放恢复块数据的RAM已经掉电.数据不能保持,这种情况下。必须依靠R()M存放恢复块,当程序重启后,可利用R()M巾的恢复块将软件恢复到掉电前的运行状态。需要说明的是,若需要采用R()M存放恢复块,因为△f时间较长,所以系统恢复后的控制输出时间需要考虑△f的时长和△r在控制周期的起点时间f…如图2所示,应用系统的控制周期丁为f。.一f,图2(a)为电源不掉电时计算的输出控制规律,吲2(b)为电源掉电△z时间后恢复供电时.软件恢复块技术需要计算的f。.时间,保证在掉电发生和恢复后,计算机仍以了、为周期进行控制输出。计算机在掉电恢复后,由软件计算首次输出控制时问z。.,其计算公式为:r。,一T一(f。+△f)。其中f。,由恢复块记录,△f则必须由不受掉电影响的硬件计时器提供,该汁时器在掉电信号出现时复位并开始计时。(4)△f>系统控制周期这种情况下,恢复供电后程序重新启动时,计算机已经错过至少一个系统控制周期而没有产生输H;或输出不受控,对系统工作已造成非预期的后果,掉电恢复已经失去意义,本文不再讨论。t|¨7”,…f”“,.1(a)IU幽!小掉IU(b)掉lU肝恢复图2系统控制周期2.2双机热备份如图3,控制系统中A。B两台计算机同时工作,装有同一一软件,A,B的角色在硬件上不是固定的,需通过软件定义:依据加电次序分别为A,B,依次为主机和备份,输出切换逻辑切断B到伺服机构的接口,只有A可输出到伺服机构。采用A,B双机热备份达到软件掉电恢复的基本过程是:当A电源没掉电时.A执行应用软件,通过采样、计算、输出完成预定功能,输出切换逻辑接通A的输出到控制接口;B则仅执行接收描述A运行状态的关键数据的程序,并检测A的掉电信号。当A电源掉电时,B检测到该信号后,立即转入执行应用软件,通过采样、计算、输出完成预定功能,同时输出切换逻辑接通B的输出剑控制接口。由于B及时得到了A的关键数据作为热备份,因此当A掉电、B接替A的工作时,B软件可利用A的热备份数据实现与A的无缝衔接,使控制接口不产生输出突变,从而增强系统的容错性。图3双机热备份2.3余度计算机如图4,控制系统中A,B.C二台完全相同的汁算机,他们运行同一软件。A,B,C的角色在硬件t不是固定的,需通过软件定义:依据加电次序分别为A,B,C,这时B,C计算机通过其软什切断经输出切换逻辑到伺服机构的接口,只有A可输出到伺服机构。采用相似余度训‘算机实现软件掉电恢复的基本过程是:当A,B.C的电源都没掉电时,他们均执行同一应用软件。通过各自的输入采样接口,完成计算、控制输出等预定功能。“交叉传输”指A,Ij.c均将反映自身状态的信息
阅读此文(图):
点击此处在线翻阅