【技术实现步骤摘要】
本专利技术涉及通信技术,特别是涉及一种检测操作系统(OS, Operating System)故障的方法和装置。
技术介绍
目前,微处理器技术得到了飞速的发展,出现了多核处理器。简单说来, 多核处理器就是在同一个硅晶片上集成了多个独立物理核心,在实际工作 中,多颗核心能够分别独立完成工作,从而达到了性能倍增的目的。基于多核处理器具有多个核心,每个核心能够分别独立完成工作的特 点,在具有多核处理器的设备上运行多个操作系统则成为了可能。图l是现 有技术中多核双系统的结构示意图。参见图1,以目前出现的一种多核双系 统(MCDS, Multi-Core Dual-System)为例,设备中配置有多核处理器,多 核处理器中的一部分核运行OSl,另一部分核运行OS2,比如OSl为防火 墙处理所对应的操作系统,OS2为防病毒处理所对应的:t喿作系统,这样,运 行OSl的核和运行OS2的核则可以分别完成对应的防火墙和防病毒的业务 处理,从而使得设备不仅能够因为具有多核处理器而极大地提高其处理性 能,而且还能够因为具有双操作系统而完成多种业务处理,极大地提高了设 备的处理性能。诸如多核双系统的多核多系统中包括多个OS,每一个OS独立运行互 不干扰,分别实现各自的业务处理功能。当其中任意一个OS发生故障无法 运行时,其对应的功能则无法实现。这样,为了保证业务处理功能的正常实 现,则要求能够检测出OS的故障,以便于采取对应的故障恢复措施。然而, 诸如多核双系统的多核多系统是一种新出现的技术,目前还没有一种检测多 核多系统中os故障的方法。由此可见,提供一种检测多核多系统中o ...
【技术保护点】
一种检测操作系统故障的方法,应用于具有多核多系统的设备中,其特征在于,该方法包括:从内存中划分出用于实现故障检测的共享内存区;多核多系统中的第二OS在正常时将正常状态字写入所述共享内存区中;多核多系统中的第一OS判断是否能够从所述共享内存区中读取到正常状态字,如果否,则确定第二OS故障。
【技术特征摘要】
1、一种检测操作系统故障的方法,应用于具有多核多系统的设备中,其特征在于,该方法包括从内存中划分出用于实现故障检测的共享内存区;多核多系统中的第二OS在正常时将正常状态字写入所述共享内存区中;多核多系统中的第一OS判断是否能够从所述共享内存区中读取到正常状态字,如果否,则确定第二OS故障。2、 才艮据权利要求1所述的方法,其特征在于,该方法进一步包括在共享 内存区中定义包括比特位BitO的状态变量ulHeartFlag,并且,定义BitO的值包 括正常状态字和故障状态字,并将BitO的初始值设置为故障状态字;所述第二 OS在正常时将正常状态字写入所述共享内存区中的步骤包括 第二 OS初始化完成后,如果正常则每当到达第二定时器的定时时间后访问共 享内存区中的状态变量ulHeartFlag,将比特位BitO的值置为正常状态字;所述第一 OS判断是否能够从所述共享内存区中读取到正常状态字的步骤 包括第一 OS初始化完成后,每当到达第一定时器的定时时间后访问共享内 存区中的状态变量ulHeartFlag,判断比特位BitO的值是否为正常状态字;在第一OS判断出比特位Bit0的值为正常状态字之后,进一步包括第一 OS将共享内存区中状态变量ulHeartFlag的比特位BitO的值置为故障状态字。3、 根据权利要求2所述的方法,其特征在于,在第一 OS判断出比特位 BitO的值不是正常状态字之后,并在确定第二 OS故障之前,进一步包括第 一 OS判断已连续检测到比特位BitO的值不是正常状态字的次数是否达到预先 设定的次数阈值,如果是,则继续执行所述的确定第二OS故障的步骤,否贝'J, 返回执行所述的每当到达第一定时器的定时时间后访问共享内存区中的状态变 量ulHeartFlag的步骤。4、 根据权利要求2所述的方法,其特征在于,该方法进一步包括定义状 态变量ulHeartFlag中包括比特位Bitl,并且,定义Bitl的值包括初始态状态字和运行态状态字,并将Bitl的初始值设置为初始态状态字;第二OS如果初始 化完成,则访问共享内存区中的状态变量ulHeartFlag,将比特位Bitl的值置为 运行态状态字;在到达第一定时器的定时时间之后,并在判断比特位BitO的值是否为正常 状态字之前,进一步包括第一 OS判断共享内存区中状态变量ulHeartFlag的 比特位Bitl的值是否为初始态状态字,如果是,则直接确定第二OS处于初始 化故障态,结束当前流程,否则,继续执行所述的判断比特位BitO的值是否为 正常状态字的步骤;则,所述的确定第二 OS故障为确定第二 OS为运行故障态。5、 根据权利要求4所述的方法,其特征在于,在第一 OS判断出比特位 Bitl的值为初始态状态字之后,并在确定第二 OS处于初始化故障态之前,进 一步包括第一 OS判断已连续检测到比特位Bitl的值为初始态状态字的次数是否达 到预先设定的次数阈值,如果是,则继续执行所述的确定第二 OS处于初始化 故障态的步骤,否则,返回执行所述的每当到达第一定时器的定时时间后访问 共享内存区中的状态变量ulHeartFlag的步骤。6、 根据权利要求1至5中任意一项所述的方法,其特征在于,该方法进一 步包括在共享内存区中定义自旋锁变量ulHeartLock,并且,定义ulHeartLock 的值包括锁定状态字和解锁状态字,并将ulHeartLock的初始值设置为解锁状态 字;在第一OS和第二OS每次访...
【专利技术属性】
技术研发人员:郭武,武建中,
申请(专利权)人:杭州华三通信技术有限公司,
类型:发明
国别省市:86[中国|杭州]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。