一种中断处理方法及装置制造方法及图纸

技术编号:33281213 阅读:11 留言:0更新日期:2022-04-30 23:41
一种中断处理方法及装置,涉及计算机技术领域,解决了监测主机是否崩溃宕机时,硬件成本较高、监测效率较低、兼容性较差的问题。中断处理方法应用于主机,该主机包括:M个处理器核和N个虚拟定时器,M个处理器核对应N个虚拟定时器,M为正整数,N为大于或等于1,且小于或等于M的整数。具体方案包括:中断处理装置注册每个处理器核对应的回调函数,并在N个虚拟定时器中存在目标虚拟定时器超时的情况下,生成目标中断请求,且根据目标中断请求对应的中断处理函数和M个处理器核对应的回调函数,获取M个处理器核的运行异常信息。其中,每个回调函数用于被回调后存储对应的处理器核的运行异常信息。信息。

【技术实现步骤摘要】
一种中断处理方法及装置


[0001]本申请涉及计算机
,尤其涉及一种中断处理方法及装置。

技术介绍

[0002]随着科技的发展,Windows、Linux等操作系统(operating system,OS)在各个领域的应用越来越广泛。操作系统是一台主机的系统软件,处理器核是一台主机的硬件资源,操作系统运行在处理器核上,来执行主机的任务。
[0003]目前,OS在处理器核上运行时可能会出现主机崩溃宕机的问题。当主机崩溃宕机后,主机通过触发快速中断请求(fast interrupt request,FIQ)的方式,来采集运行的异常信息。
[0004]现有技术中,主机可以利用自身硬件资源包括的看门狗电路,来监测是否崩溃宕机。但是,该方案硬件成本较高。或者,主机可以利用与其连接的外部看门狗监测设备,监测主机是否崩溃宕机。但是,该方案流程复杂,会导致监测效率较低。

技术实现思路

[0005]本申请提供一种中断处理方法及装置,解决了监测主机是否崩溃宕机时,硬件成本较高、监测效率较低、兼容性较差的问题。
[0006]为达到上述目的,本申请采用如下技术方案:
[0007]第一方面,本申请提供一种中断处理方法,该方法应用于主机,主机可以包括:M个处理器核和N个虚拟定时器,M个处理器核对应N个虚拟定时器,M为正整数,N为大于或等于1,且小于或等于M的整数。该方法包括:中断处理装置注册每个处理器核对应的回调函数,并在N个虚拟定时器中存在目标虚拟定时器超时的情况下,生成目标中断请求,且根据目标中断请求对应的中断处理函数和M个处理器核对应的回调函数,获取M个处理器核的运行异常信息。其中,每个回调函数用于被回调后存储对应的处理器核的运行异常信息。
[0008]这样,通过利用主机中的M个处理器核对应的N个虚拟定时器替代看门狗电路或者外部看门狗监测设备,来监测主机的各个处理器核的运行状态,不仅降低了硬件成本,而且利用虚拟定时器来监测对应的处理器核的运行状态,实现了通过软件控制的方法实现监测功能,提高了监测效率和主机的兼容性。
[0009]在本申请的一种可能的实现方式中,中断处理方法还可以包括:中断处理装置对N个虚拟定时器中的每个虚拟定时器进行中断配置,配置后的虚拟定时器用于监测对应的处理器核的运行状态。
[0010]在本申请的一种可能的实现方式中,上述中断处理装置对N个虚拟定时器中的每个虚拟定时器进行中断配置,具体包括:中断处理装置使能每个虚拟定时器,使能每个虚拟定时器中断,注册每个虚拟定时器对应的中断号,建立注册的中断号与中断类型的对应关系,以及注册每个处理器核对应的异常信息地址,异常信息地址用于存储对应的处理器核的运行异常信息。该情况下,上述中断处理装置在N个虚拟定时器中存在目标虚拟定时器超
时的情况下,生成目标中断请求,具体包括:中断处理装置在目标虚拟定时器超时,且目标虚拟定时器使能、目标虚拟定时器中断使能的情况下,生成目标中断请求。
[0011]在本申请的一种可能的实现方式中,上述中断处理装置注册每个处理器核对应的回调函数,具体包括:中断处理装置调用注册函数,注册每个处理器核对应的回调函数的地址。
[0012]在本申请的一种可能的实现方式中,上述中断处理装置生成目标中断请求,具体包括:中断处理装置获取目标虚拟定时器对应的目标中断号,并根据预存的中断号与中断类型的对应关系,获取目标中断号对应的目标中断类型,且根据目标中断类型生成目标中断请求。
[0013]在本申请的一种可能的实现方式中,上述中断处理装置根据目标中断请求对应的中断处理函数和M个处理器核对应的回调函数,获取M个处理器核的运行异常信息,具体包括:中断处理装置获取目标中断请求对应的中断处理函数,并基于中断处理函数,调用触发中断函数,且基于触发中断函数,以及M个处理器核对应的回调函数,获取M个处理器核的运行异常信息。
[0014]在本申请的一种可能的实现方式中,上述中断处理装置根据目标中断请求对应的中断处理函数和M个处理器核对应的回调函数,获取M个处理器核的运行异常信息,具体包括:中断处理装置根据中断处理函数和M个处理器核中每个处理器核对应的回调函数,获取每个处理器核的运行异常信息。或者,中断处理装置根据中断处理函数,以及目标虚拟定时器对应的处理器核中每个处理器核对应的回调函数,获取目标虚拟定时器对应的处理器核中每个处理器核对应的运行异常信息。
[0015]在本申请的一种可能的实现方式中,主机还可以包括中断控制器。上述中断处理装置在N个虚拟定时器中存在目标虚拟定时器超时的情况下,生成目标中断请求,具体可以包括:在目标虚拟定时器超时的情况下,目标虚拟定时器对应的目标处理器核生成中断消息,向中断控制器发送中断消息,中断控制器根据中断消息生成目标中断请求,中断消息包括目标虚拟定时器对应的目标中断号。或者,当M大于1,M个处理器核中包括一个主核和至少一个从核时,在目标虚拟定时器超时的情况下,目标虚拟定时器对应的目标处理器核生成中断消息,并向主核发送中断消息,主核接收到所有中断消息后向中断控制器发送中断消息,中断控制器根据所有中断消息生成目标中断请求。
[0016]第二方面,提供一种中断处理装置,该中断处理装置位于主机,主机可以包括:M个处理器核和N个虚拟定时器,M个处理器核对应N个虚拟定时器,M为正整数,N为大于或等于1,且小于或等于M的整数。中断处理装置可以包括:注册单元,用于注册每个处理器核对应的回调函数,每个回调函数用于被回调后获取对应的处理器核的运行异常信息;生成单元,用于在N个虚拟定时器中存在目标虚拟定时器超时的情况下,生成目标中断请求;获取单元,用于根据生成单元生成的目标中断请求对应的中断处理函数和注册单元注册的M个处理器核对应的回调函数,获取M个处理器核的运行异常信息。
[0017]在本申请的一种可能的实现方式中,中断处理装置还包括:配置单元。配置单元,用于对N个虚拟定时器中的每个虚拟定时器进行中断配置,配置后的虚拟定时器用于监测对应的处理器核的运行状态。
[0018]在本申请的一种可能的实现方式中,配置单元,具体用于:使能每个虚拟定时器,
使能每个虚拟定时器中断,注册每个虚拟定时器对应的中断号,建立注册的中断号与中断类型的对应关系,以及注册每个处理器核对应的异常信息地址,异常信息地址用于存储对应的处理器核的运行异常信息。生成单元,具体用于:在目标虚拟定时器超时,且目标虚拟定时器使能、目标虚拟定时器中断使能的情况下,生成目标中断请求。
[0019]在本申请的一种可能的实现方式中,注册单元,具体用于:调用注册函数,注册每个处理器核对应的回调函数的地址。
[0020]在本申请的一种可能的实现方式中,生成单元,具体用于:获取目标虚拟定时器对应的目标中断号;根据预存的中断号与中断类型的对应关系,获取目标中断号对应的目标中断类型;根据目标中断类型生成目标中断请求。
[0021]在本申请的一种可能的实现方式中,获取单元,具体用于:获取目标中断请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种中断处理方法,应用于主机,其特征在于,所述主机包括M个处理器核和N个虚拟定时器,所述M个处理器核对应所述N个虚拟定时器,M为正整数,N为大于或等于1,且小于或等于M的整数,包括:注册每个处理器核对应的回调函数,每个回调函数用于被回调后获取对应的处理器核的运行异常信息;在所述N个虚拟定时器中存在目标虚拟定时器超时的情况下,生成目标中断请求;根据所述目标中断请求对应的中断处理函数和所述M个处理器核对应的回调函数,获取所述M个处理器核的运行异常信息。2.根据权利要求1所述的中断处理方法,其特征在于,所述中断处理方法还包括:对所述N个虚拟定时器中的每个虚拟定时器进行中断配置,配置后的虚拟定时器用于监测对应的处理器核的运行状态。3.根据权利要求2所述的中断处理方法,其特征在于,所述对所述N个虚拟定时器中的每个虚拟定时器进行中断配置,包括:使能每个虚拟定时器,使能每个虚拟定时器中断,注册每个虚拟定时器对应的中断号,建立注册的中断号与中断类型的对应关系,以及注册每个处理器核对应的异常信息地址,所述异常信息地址用于存储对应的处理器核的运行异常信息;所述在所述N个虚拟定时器中存在目标虚拟定时器超时的情况下,生成目标中断请求,包括:在所述目标虚拟定时器超时,且所述目标虚拟定时器使能、所述目标虚拟定时器中断使能的情况下,生成所述目标中断请求。4.根据权利要求1

3中任一项所述的中断处理方法,其特征在于,所述注册每个处理器核对应的回调函数,包括:调用注册函数,注册每个处理器核对应的回调函数的地址。5.根据权利要求1

3中任一项所述的中断处理方法,其特征在于,所述生成目标中断请求,包括:获取所述目标虚拟定时器对应的目标中断号;根据预存的中断号与中断类型的对应关系,获取所述目标中断号对应的目标中断类型;根据所述目标中断类型生成所述目标中断请求。6.根据权利要求1

3中任一项所述的中断处理方法,其特征在于,所述根据所述目标中断请求对应的中断处理函数和所述M个处理器核对应的回调函数,获取所述M个处理器核的运行异常信息,包括:获取所述目标中断请求对应的中断处理函数;基于所述中断处理函数,调用触发中断函数;基于所述触发中断函数,以及所述M个处理器核对应的回调函数,获取所述M个处理器核的运行异常信息。7.根据权利要求1

3中任一项所述的中断处理方法,其特征在于,所述根据所述目标中断请求对应的中断处理函数和所述M个处理器核对应的回调函数,获取所述M个处理器核的运行异常信息,包括:
根据所述中断处理函数和所述M个处理器核中每个处理器核对应的回调函数,获取每个处理器核的运行异常信息;或者,根据所述中断处理函数,以及所述目标虚拟定时器对应的处理器核中每个处理器核对应的回调函数,获取所述目标虚拟定时器对应的处理器核中每个处理器核对应的运行异常信息。8.根据权利要求1

3中任一项所述的中断处理方法,其特征在于,所述主机还包括中断控制器,所述在所述N个虚拟定时器中存在目标虚拟定时器超时的情况下,生成目标中断请求,包括:在所述目标虚拟定时器超时的情况下,所述目标虚拟定时器对应的目标处理器核生成中断消息,向所述中断控制器发送所述中断消息,所述中断控制器根据所述中断消息生成所述目标中断请求,所述中断消息包括所述目标虚拟定时器对应的目标中断号;或者,当M大于1,所述M个处理器核中包括一个主核和至少一个从核时,在所述目标虚拟定时器超时的情况下,所述目标虚拟...

【专利技术属性】
技术研发人员:刘莹李振宇李泓霖
申请(专利权)人:飞腾信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1