[发明专利]一种实时设备驱动恢复系统及方法有效
申请号: | 201110382083.1 | 申请日: | 2011-11-25 |
公开(公告)号: | CN102495773A | 公开(公告)日: | 2012-06-13 |
发明(设计)人: | 胡事民;马超;尹杰;赵鹏 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 设备 驱动 恢复 系统 方法 | ||
技术领域
本发明涉及操作系统技术领域,特别涉及一种实时设备驱动恢复系统及方法。
背景技术
可靠性是操作系统的一个重要目标。Windows XP操作系统85%的失效是由设备驱动造成的。Linux操作系统设备驱动失效的频率是其它部分的3-7倍以上。实时设备广泛使用于航空航天、医疗等领域。实时设备驱动发生故障可能会造成不可估计的损失,因此,提高实时设备驱动的可靠性具有重要意义。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种实时设备驱动恢复系统及方法,以便提高实时设备驱动的可靠性,进而提高实时设备整体的可靠性。
(二)技术方案
为解决上述技术问题,本发明提供一种实时设备驱动恢复系统,其包括:控制模块、备份驱动模块和模拟设备模块;所述控制模块连接正常驱动和所述备份驱动模块,用于管理所述正常驱动、备份驱动模块和模拟设备模块;所述备份驱动模块,用于对所述正常驱动的行为进行备份;所述模拟设备模块连接所述备份驱动模块,用于模拟与所述正常驱动连接的硬件设备。
优选地,所述控制模块还连接操作系统内核,并且所述控制模块还用于实现所述操作系统内核与正常驱动之间的信息交换。
本发明还提供一种实时设备驱动恢复方法,其包括步骤:
B:控制模块同时向正常驱动和备份驱动模块发送命令并接收返回值,根据所述正常驱动的返回值判断所述正常驱动是否发生故障,如果是,执行步骤C;否则,将所述正常驱动的返回值发送给操作系统内核;
C:所述控制模块控制所述正常驱动停止运行,将所述备份驱动模块切换到硬件设备上运行,控制所述模拟设备模块停止运行;
D:所述控制模块恢复所述正常驱动,并控制恢复后的所述正常驱动在所述模拟设备模块上运行。
优选地,在所述步骤B之前还包括步骤A:所述控制模块同时对所述正常驱动和备份驱动模块进行初始化。
5、如权利要求3所述的方法,其特征在于,所述步骤B具体包括步骤:
B1:所述控制模块从所述操作系统内核获得所述命令后,将所述命令进行拷贝,其中一份发送给所述正常驱动,另一份同时发送给所述备份驱动模块;
B2:所述控制模块接收所述正常驱动和备份驱动模块的返回值,对于所述备份驱动模块的返回值不做处置;根据所述正常驱动的返回值,判断所述正常驱动是否发生故障,如果是,执行所述步骤C;否则,将所述正常驱动的返回值发送给所述操作系统内核。
优选地,所述步骤C具体包括步骤:
C1:所述控制模块控制所述正常驱动停止运行,不再向所述正常驱动发送命令;
C2:所述控制模块改变所述备份驱动模块的参数,使所述备份驱动模块在所述硬件设备上运行;
C3:所述控制模块控制所述模拟设备模块停止运行。
优选地,所述步骤D具体包括步骤:
D1:所述控制模块采用重新启动所述正常驱动的方式,或者根据所述备份驱动模块修正所述正常驱动的方式,恢复所述正常驱动;
D2:所述控制模块改变所述正常驱动的参数,使所述正常驱动在所述模拟设备模块上运行。
(三)有益效果
本发明所述实时设备驱动恢复系统及方法,通过所述控制模块、备份驱动模块和模拟设备模块的协调配合,在所述正常驱动出现故障时,能够及时顶替和恢复,提高了实时设备驱动的可靠性,进而提高实时设备整体的可靠性。
附图说明
图1是本发明实施例所述的实时设备驱动恢复系统模块结构示意图;
图2是本发明实施例所述的实时设备驱动恢复方法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明实施例所述的实时设备驱动恢复系统模块结构示意图。如图1所示,所述系统包括:控制模块200、备份驱动模块300和模拟设备模块400,即图1中虚线所围区域。所述控制模块200连接正常驱动500和所述备份驱动模块300,用于管理所述正常驱动500、备份驱动模块300和模拟设备模块400;所述备份驱动模块300,用于对所述正常驱动500的行为进行备份;所述模拟设备模块400连接所述备份驱动模块300,用于模拟与所述正常驱动500连接的硬件设备600。所述控制模块200还连接操作系统内核100,并且所述控制模块200还用于实现所述操作系统内核200与正常驱动500之间的信息交换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110382083.1/2.html,转载请声明来源钻瓜专利网。