用于处理中断请求的方法和装置制造方法及图纸

技术编号:35049394 阅读:30 留言:0更新日期:2022-09-28 10:47
本申请提供了一种用于处理中断请求的方法和装置,该用于处理中断请求的方法包括:接收第一中断请求,该第一中断请求请求执行的操作中包括第一操作,且执行该第一操作需要占用临界资源,而临界资源无法同时被多个操作占用,可以至少根据接收到的第一中断请求确定该第一操作为不需要立即执行的操作,并将第一操作放入暂存区中,本申请实施例提供的用于处理中断请求的方法通过暂存不用立即执行的操作,及时响应外部的中断事件,从而提高系统响应外部事件的时效性。部事件的时效性。部事件的时效性。

【技术实现步骤摘要】
用于处理中断请求的方法和装置


[0001]本申请涉及计算机领域,并且更具体地涉及一种用于处理中断请求的方法和装置。

技术介绍

[0002]在目前系统软件中,针对某些数据进行处理时需要禁止系统对中断请求做出响应。对这些数据进行处理之前需要禁止接收中断请求,然后对这些数据进行处理。
[0003]当禁止接收中断请求后,系统就无法及时响应外部的事件,影响系统响应外部事件的时效性。受限于这些数据的处理时间,禁止接收中断请求的时间也不确定。因此如何提高系统响应外部事件的时效性,成为亟待解决的技术问题。

技术实现思路

[0004]本申请提供一种用于处理中断请求的方法,通过定义暂存操作的暂存区,及时响应外部的中断事件将中断中不需要立即执行的操作放入暂存区中,避免禁止接收中断请求,从而提高系统响应外部事件的时效性。
[0005]第一方面,提供了一种用于处理中断请求的方法,该用于处理中断请求的方法可以由处理器,或者,也可以由设置于处理器中的芯片或电路执行,本申请对此不作限定。
[0006]该用于处理中断请求的方法包括:
[0007]接收第一中断请求,该第一中断请求用于请求执行第一操作,该请求执行第一操作包括请求占用临界资源,该临界资源无法同时被多个操作占用;至少根据该第一中断请求确定该第一操作为不需要立即执行的操作,并将该第一操作放入暂存区,其中,该暂存区用于存放接收的中断请求所请求执行占用该临界资源的操作。
[0008]本申请实施例提供的用于处理中断请求的方法,在接收到的中断请求所请求在中断中执行的操作包括需要占用临界资源的第一操作的情况下,可以将该不需要立即执行的第一操作放入暂存区,避免禁止接收中断请求及时响应外部的中断事件,从而提高系统响应外部事件的时效性。
[0009]结合第一方面,在第一方面的某些实现方式中,在该接收该第一中断请求之前,该方法还包括:执行第二操作,该执行第二操作包括占用该临界资源;该至少根据该第一中断请求确定该第一操作为不需要立即执行的操作,并将该第一操作放入暂存区还包括:根据操作系统中设置的互斥标记确定该第一操作无法立即执行,并将该第一操作放入该暂存区,其中,该互斥标记指示该临界资源被占用。
[0010]作为一种可能的实现方式,当系统中有正在执行的第二操作占用了临界资源,导致第一操作无法被立即执行,可以设置互斥标记,基于该互斥标记确定将第一操作放入暂存区,从而避免禁止接收中断请求及时响应外部的中断事件,提高系统响应外部事件的时效性。
[0011]结合第一方面,在第一方面的某些实现方式中,该至少根据该第一中断请求确定
该第一操作不需要立即执行,并将该第一操作放入暂存区还包括:根据该第一中断请求对应的上下文为第一中断上下文确定将该第一操作放入暂存区。
[0012]作为另一种可能的实现方式,当确定接收到的中断请求对应的上下文为中断上下文时,可以认为第一操作不需要立即执行,基于该中断上下文确定将第一操作放入暂存区,从而避免禁止接收中断请求及时响应外部的中断事件,提高系统响应外部事件的时效性。
[0013]结合第一方面,在第一方面的某些实现方式中,在该执行该第二操作之前,该方法还包括:确定该操作系统中未设置该互斥标记;禁止任务抢占并设置该互斥标记。
[0014]本申请实施例提供的用于处理中断请求的方法,为了使得发生互斥的操作能够确定当前系统中的临界资源是否被占用,某个操作占用该临界资源时,通过设置互斥标记指示临界资源被占用。
[0015]结合第一方面,在第一方面的某些实现方式中,在该执行第二操作结束之后,该方法还包括:读取并执行该暂存区中暂存的至少一个操作,该至少一个操作包括该第一操作;当该暂存区中不包括操作时,清除该互斥标记并使能任务抢占。
[0016]本申请实施例提供的用于处理中断请求的方法,可以通过串联处理方式处理发生互斥的操作。
[0017]结合第一方面,在第一方面的某些实现方式中,该第一中断请求还用于请求执行第三操作,该第三操作为除该第一操作之外的其他操作,该方法还包括:执行该第三操作;当该第三操作执行结束时,确定返回第二中断请求对应的第二中断上下文或者确定返回任务上下文,该第二中断请求的优先级低于该第一中断请求的优先级;当确定返回该任务上下文且该任务上下文指示执行的操作未占用该临界资源时,该方法还包括:设置该互斥标记;读取并执行该暂存区中暂存的至少一个操作,该至少一个操作包括该第一操作;当该暂存区中不包括操作时,清除该互斥标记。
[0018]本申请实施例提供的用于处理中断请求的方法,当上下文为中断上下文时,高优先级的中断结束时需要确定是返回低优先级的中断还是返回任务。
[0019]结合第一方面,在第一方面的某些实现方式中,该方法还包括:接收任务请求,该任务请求用于请求执行第四操作,该请求执行第四操作包括请求占用临界资源;根据该任务请求对应的上下文为任务上下文确定禁止任务抢占并设置互斥标记,执行该第四操作,该互斥标记指示该临界资源被占用;该第四操作执行结束之后,该方法还包括:读取并执行该暂存区中暂存的至少一个操作;当该暂存区中不包括操作时,清除该互斥标记。
[0020]结合第一方面,在第一方面的某些实现方式中,设置该互斥标记之前,该方法还包括:获取自旋锁,该自旋锁用于避免多个处理器并行处理。
[0021]本申请实施例提供的用于处理中断请求的方法,当基于上下文是否为中断上下文确定是否暂存操作时,可以通过获取自旋锁将该方法应用于多核系统中。
[0022]结合第一方面,在第一方面的某些实现方式中,该读取并执行该暂存区中的至少一个操作包括:禁止接收中断请求;确定该暂存区中暂存有至少一个操作;从该第一暂存区中读取第五操作;使能接收中断请求;执行该第五操作;其中,该第五操作为该至少一个操作中的一个。
[0023]结合第一方面,在第一方面的某些实现方式中,该将该第一操作放入第一暂存区包括:禁止接收中断请求;判断该暂存区未满;将该第一操作放入第一暂存区;使能接收中
断请求。
[0024]本申请实施例提供的用于处理中断请求的方法,暂存操作以及从暂存区中读取操作的时间很短,保证系统反应外部事件的实效性。
[0025]结合第一方面,在第一方面的某些实现方式中,该暂存区结构包括以下任意一种:链表结构、堆结构、或队列结构。
[0026]本申请实施例提供的用于处理中断请求的方法,可以通过多种方式实现暂存操作,增加方案的灵活性。
[0027]第二方面,提供了一种用于处理中断请求的装置,包括:
[0028]接收单元,用于接收第一中断请求,该第一中断请求用于请求执行第一操作,该请求执行第一操作包括请求占用临界资源,该临界资源无法同时被多个操作占用;处理单元,用于至少根据该第一中断请求确定该第一操作为不需要立即执行的操作,并将该第一操作放入暂存区,其中,该暂存区用于存放接收的中断请求所请求执行占用该临界资源的操作。
[0029]结合第二方面本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理中断请求的方法,其特征在于,包括:接收第一中断请求,所述第一中断请求用于请求执行第一操作,所述请求执行第一操作包括请求占用临界资源,所述临界资源无法同时被多个操作占用;至少根据所述第一中断请求确定所述第一操作为不需要立即执行的操作,并将所述第一操作放入暂存区,其中,所述暂存区用于存放接收的中断请求所请求执行占用所述临界资源的操作。2.根据权利要求1所述的方法,其特征在于,在所述接收所述第一中断请求之前,所述方法还包括:执行第二操作,所述执行第二操作包括占用所述临界资源;所述至少根据所述第一中断请求确定所述第一操作为不需要立即执行的操作,并将所述第一操作放入暂存区还包括:根据操作系统中设置的互斥标记确定所述第一操作无法立即执行,并将所述第一操作放入所述暂存区,其中,所述互斥标记指示所述临界资源被占用。3.根据权利要求1所述的方法,其特征在于,所述至少根据所述第一中断请求确定所述第一操作不需要立即执行,并将所述第一操作放入暂存区还包括:根据所述第一中断请求对应的第一上下文为中断上下文确定将所述第一操作放入暂存区。4.根据权利要求2所述的方法,其特征在于,在所述执行所述第二操作之前,所述方法还包括:确定所述操作系统中未设置所述互斥标记;禁止任务抢占并设置所述互斥标记。5.根据权利要求4所述的方法,其特征在于,在所述执行第二操作结束之后,所述方法还包括:读取并执行所述暂存区中暂存的至少一个操作,所述至少一个操作包括所述第一操作;当所述暂存区中不包括操作时,清除所述互斥标记并使能任务抢占。6.根据权利要求3所述的方法,其特征在于,所述第一中断请求还用于请求执行第三操作,所述第三操作为除所述第一操作之外的其他操作,所述方法还包括:执行所述第三操作;当所述第三操作执行结束时,确定返回第二中断请求对应的第二中断上下文或者确定返回任务上下文,所述第二中断请求的优先级低于所述第一中断请求的优先级;当确定返回所述任务上下文且所述任务上下文指示执行的操作未占用所述临界资源时,所述方法还包括:设置所述互斥标记;读取并执行所述暂存区中暂存的至少一个操作,所述至少一个操作包括所述第一操作;当所述暂存区中不包括操作时,清除所述互斥标记。7.根据权利要求1或3或6所述的方法,其特征在于,所述方法还包括:
接收任务请求,所述任务请求用于请求执行第四操作,所述请求执行第四操作包括请求占用临界资源;根据所述任务请求对应的上下文为任务上下文确定禁止任务抢占并设置互斥标记,执行所述第四操作,所述互斥标记指示所述临界资源被占用;所述第四操作执行结束之后,所述方法还包括:读取并执行所述暂存区中暂存的至少一个操作;当所述暂存区中不包括操作时,清除所述互斥标记。8.根据权利要求6或7所述的方法,其特征在于,设置所述互斥标记之前,所述方法还包括:获取自旋锁,所述自旋锁用于避免多个处理器并行处理。9.根据权利要求5至8中任一项所述的方法,其特征在于,所述读取并执行所述暂存区中的至少一个操作包括:禁止接收中断请求;确定所述暂存区中暂存有至少一个操作;从所述第一暂存区中读取第五操作;使能接收中断请求;执行所述第五操作;其中,所述第五操作为所述至少一个操作中的一个。10.根据权利要求1至9中任一项所述的方法,其特征在于,所述将所述第一操作放入第一暂存区包括:禁止接收中断请求;判断所述暂存区未满;将所述第一操作放入第一暂存区;使能接收中断请求。11.根据权利要求1至10中任一项所述的方法,其特征在于,所述暂存区结构包括以下任意一种:链表结构、堆结构、或队列结构。12.一种用于处理中断请求的装置,其特征在于,包括:接收单元,用于接收第一中断请求,所述第一中断请求用于请求执行第一操作,所述请求执行第一操作包括请求占用临界资源,所述临界资源无法同时被多个操作占用;处理单元,用于至少根据所述第一中断请求确定所述第一操作为不需要立即执行的操作,并将所述第一操作放...

【专利技术属性】
技术研发人员:柴方明王文静黄琨
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1