论文部分内容阅读
随着半导体设备工艺水平的不断提高,计算机微处理器的性能也越来越高,功耗也越来越低,但代价为晶体管阈值电压和噪声容限的降低,这使得计算机系统的处理器更容易受到外界环境的影响。由于在某些特殊领域中,外部环境十分恶劣,计算机系统容易因为外界环境的干扰而出现运行错误或者停机等问题,对整个工作任务造成无法弥补的严重后果。为了提高系统的抗干扰能力,抵抗恶劣的外界环境,研究容错技术是非常必要的。现有的容错技术方案往往具有较高的时间开销,并将故障检测和恢复机制分开研究。有的模型在检测出故障后只给出警告,有的模型只讨论故障恢复。目前基于软件的故障检测绝大多数需要源码文件的支持或者修改公共库文件,缺乏用户使用透明性。本文采用进程级冗余技术,在内核空间实现进程间数据比较,增加故障检测的透明度。将双进程容错技术和检查点设置与卷回恢复技术结合,设计实现了一个透明软件容错模型,该模型能够实现对目标程序的故障检测和恢复,保障程序的可靠运行。该模型的实现方案为:任务进程复制出两个相同的进程同步执行,并定期采取检查点,保存进程状态,在任务进程执行系统调用函数时,对系统调用函数参数进行比较,当比较结果不一致时根据采取的检查点文件,恢复任务进程继续运行,否则两个进程分别执行系统调用和模拟系统调用,确保任务正常完成。该容错模型构建内核模块捕获系统调用,无需修改源程序和二进制代码,同时无需添加新的硬件支持,具有对用户透明的特点。