避免实时操作系统频繁中断占用过多CPU资源的方法技术方案

技术编号:2824706 阅读:410 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种避免实时操作系统频繁中断占用过多CPU资源的方法,该方法包括:对每种类型中断分别设定一阈值,该阈值为CPU允许该类型中断产生的中断时间占全部中断时间的最大比例;当某类型中断来临时,CPU判断该类型中断已产生的中断时间占所述全部中断时间的比例是否达到对应于该类型中断所设定的阈值,如果达到,则屏蔽该类型中断;如果没有达到,则继续执行中断处理流程。本发明专利技术从系统CPU资源占用情况的全局出发,来规划中断的CPU占用,并主动进行中断抑制,能够有效地抑制频繁产生型中断,避免了CPU资源过多的被占用,达到了系统CPU资源平衡利用的效果。

【技术实现步骤摘要】

本专利技术涉及计算机领域的实时操作系统,尤其涉及一种在实时操作系统中,对于频繁产生型中断根据计算其频繁程度,进行主动中断屏蔽,出让CPU资源,使得其他任务得以运行,避免实时操作系统频繁中断占用过多CPU资源的方法
技术介绍
在实时操作系统(Real Time Operating System,RTOS)中,实时两个字就代表对响应时间有严格的要求。实时操作系统贵在实时,要求在规定的时间内完成某种操作,主要用在工业控制中。实时操作系统中一般任务数是固定的,并要保证在一定时间限制内完成特定功能。通常,实时操作系统必须有以下特征:1)多任务2)有线程优先级3)多种中断级别中断(Interrupt),是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得中央处理器(Central ProcessingUnit,CPU)暂时中断当前正在执行的程序,转而去执行相应的中断服务程序。待处理完毕中断服务程序后又返回原来被中断处继续执行或调度新的任务执行的过程。中断服务程序,指中断产生后,计算机需要停止当前的程序,转而执行的与该中断对应的服务程序。现场保护,指中断产生后,当前程序执行的状况需要记录下来,以便中断处理结束之后能够接续下去。以上三个术语可以用如下比方来辅助理解:比如,我目前在看一本小说,此时来了个电话,那么我需要先记下目前看的页数,然后去-->接电话。在接完电话之后,再接着原先记录的页数继续往下看。在这个比喻中,看小说就是我(CPU)当前正在执行的程序,电话来了代表产生了一个中断,接电话这个步骤就代表我在执行中断服务程序。而接电话之前我需要记下目前看到的页数,这个记录的动作就叫现场保护。此时如果电话来的非常频繁,并且假设每个电话我都会接,那么我(CPU),就没有时间去看小说(执行当前的任务)。时间窗口,是指一段用于记录CPU资源状况的固定时间间隔。定时器机制:可在预设的时间过后自动执行某个操作。一个通俗的比喻是定时炸弹。炸弹(定时器)在经历一定时间之后自动爆炸(执行爆炸这个操作)。保护现场的含义就是比如现在CPU在处理一个任务,此时中断进来,而中断的优先级高于任务,因此要转而处理中断,在中断处理结束之后,要能够知道原有任务的执行点,以便继续处理。那么就需要在中断处理前,进行现场保护。传统的操作系统模型中,中断处理的一般流程如图1所示,图1为常规的中断处理流程图。该流程的缺点在于,当某些系统环境中(如交换机等网络设备,在受到攻击时,会有大量的报文送到CPU,并产生相当频繁的收报文中断),中断的产生非常频繁,导致其他任务几乎得不到运行的机会。如果这些任务是用户界面相关的任务,那么这样的情况下就可能导致非常糟糕的用户体验。而在原有的流程模型中,实时操作系统本身没有提供一种机制来避免这种情况的产生。针对这种问题,现有的解决方法是通过人为的约束中断产生的次数,但是这种方法无法根据当前系统的CPU资源占用情况而作出动态调整,适应性不强。
技术实现思路
(一)要解决的技术问题有鉴于此,本专利技术的主要目的在于提供一种避免实时操作系统频繁中断占用过多CPU资源的方法,以有效抑制频繁产生型中断,避免CPU资源过多的被占用。-->(二)技术方案为达到上述目的,本专利技术提供了一种避免实时操作系统频繁中断占用过多CPU资源的方法,该方法包括:对每种类型中断分别设定一阈值,该阈值为CPU允许该类型中断产生的中断时间占全部中断时间的最大比例;当某类型中断来临时,CPU判断该类型中断已产生的中断时间占所述全部中断时间的比例是否达到对应于该类型中断所设定的阈值,如果达到,则屏蔽该类型中断;如果没有达到,则继续执行中断处理流程。优选地,所述某类型中断来临为接收到某中断请求,并执行完了关中断和现场保护,所述执行中断处理流程为:CPU执行与该中断请求对应的中断服务程序,然后执行恢复现场以及开中断流程。优选地,所述某类型中断来临为接收到某中断请求,并执行完了关中断、现场保护和相应的中断服务程序,所述执行中断处理流程为:CPU执行恢复现场以及开中断流程。优选地,在对每种类型中断分别设定一阈值时,进一步包括:建立中断的历史CPU资源占用信息数据库,用于保存各类型中断已产生的中断时间以及各类型中断所产生的全部中断时间;在当某类型中断来临时,进一步包括:CPU从所述CPU资源占用信息数据库中读取该类型中断已产生的中断时间以及各类型中断所产生的全部中断时间,并计算该类型中断已产生的中断时间占各类型中断所产生的全部中断时间的比例。优选地,所述继续执行中断处理流程进一步包括:CPU记录此次中断持续的时间,将该时间累加至所述CPU资源占用信息数据库中该类型中断已产生的中断时间,并更新所述CPU资源占用信息数据库中各类型中断所产生的全部中断时间。优选地,在对每种类型中断分别设定一阈值时,进一步包括:建立中断的历史CPU资源占用信息数据库,用于保存各类型中断在该时间段内已产生的中断时间以及该时间段内各类型中断所产生的全部中断时间;-->在当某类型中断来临时,进一步包括:CPU从所述CPU资源占用信息数据库中读取该类型中断在该时间段内已产生的中断时间以及该时间段内各类型中断所产生的全部中断时间,并计算该类型中断在该时间段内已产生的中断时间占该时间段内各类型中断所产生的全部中断时间的比例。优选地,所述继续执行中断处理流程进一步包括:CPU记录此次中断持续的时间,将该时间累加至所述CPU资源占用信息数据库中该类型中断在该时间段内已产生的中断时间,并更新所述CPU资源占用信息数据库中该时间段内各类型中断所产生的全部中断时间。优选地,所述时间段是从接收到中断请求时至一固定时间段之前的这一时间段,或者是接收到中断请求时所处的一固定时间段。优选地,所述屏蔽该类型中断的同时,还包括:启用定时器;所述方法进一步包括:在定时器到达预先设定的时间后,取消对该类型中断的屏蔽。(三)有益效果从上述技术方案可以看出,本专利技术具有以下有益效果:本专利技术提供的这种避免实时操作系统频繁中断占用过多CPU资源的方法,最大的特点就是从系统CPU资源占用情况的全局出发,来规划中断的CPU占用,并主动进行中断抑制,能够有效地抑制频繁产生型中断,避免了CPU资源过多的被占用,达到了系统CPU资源平衡利用的效果。比如在没有实施该改进前,在中断频繁发生的情况下,可能99%的CPU资源都被中断占用,而进行主动中断抑制之后,流程中判断到中断占用了过去时间窗口的75%时间之后,那么就进行中断屏蔽,这样就能够空出CPU资源给其他任务使用,如此即可达到平衡的效果。同时,此处75%这个数值是可调的,可根据实际的用户体验和需要来进行调整。-->附图说明图1为常规的中断处理流程图;图2为本专利技术提供的避免实时操作系统频繁中断占用过多CPU资源的方法流程图;图3为依照本专利技术实施例避免实时操作系统频繁中断占用过多CPU资源的方法流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术进一步详细说明。下面介绍本专利技术的解决思路:首先,基于每种类型的中断建立CPU资源占用情况的信息数据库,从中断产生至中断服务程序执行结束,在这段时间对应的时间窗口的位置中,标记为占用。在中断服务本文档来自技高网
...

【技术保护点】
一种避免实时操作系统频繁中断占用过多CPU资源的方法,其特征在于,该方法包括:    对每种类型中断分别设定一阈值,该阈值为CPU允许该类型中断产生的中断时间占全部中断时间的最大比例;    当某类型中断来临时,CPU判断该类型中断已产生的中断时间占所述全部中断时间的比例是否达到对应于该类型中断所设定的阈值,如果达到,则屏蔽该类型中断;如果没有达到,则继续执行中断处理流程。

【技术特征摘要】
1、一种避免实时操作系统频繁中断占用过多CPU资源的方法,其特征在于,该方法包括:对每种类型中断分别设定一阈值,该阈值为CPU允许该类型中断产生的中断时间占全部中断时间的最大比例;当某类型中断来临时,CPU判断该类型中断已产生的中断时间占所述全部中断时间的比例是否达到对应于该类型中断所设定的阈值,如果达到,则屏蔽该类型中断;如果没有达到,则继续执行中断处理流程。2、根据权利要求1所述的避免实时操作系统频繁中断占用过多CPU资源的方法,其特征在于,所述某类型中断来临为接收到某中断请求,并执行完了关中断和现场保护,所述执行中断处理流程为:CPU执行与该中断请求对应的中断服务程序,然后执行恢复现场以及开中断流程。3、根据权利要求1所述的避免实时操作系统频繁中断占用过多CPU资源的方法,其特征在于,所述某类型中断来临为接收到某中断请求,并执行完了关中断、现场保护和相应的中断服务程序,所述执行中断处理流程为:CPU执行恢复现场以及开中断流程。4、根据权利要求1至3中任一项所述的避免实时操作系统频繁中断占用过多CPU资源的方法,其特征在于,在对每种类型中断分别设定一阈值时,进一步包括:建立中断的历史CPU资源占用信息数据库,用于保存各类型中断已产生的中断时间以及各类型中断所产生的全部中断时间;在当某类型中断来临时,进一步包括:CPU从所述CPU资源占用信息数据库中读取该类型中断已产生的中断时间以及各类型中断所产生的全部中断时间,并计算该类型中断已产生的中断时间占各类型中断所产生的全部中断时间的比例。5、根据权利要求4所述的避免实时操作系统频繁中断占用过多CPU资源的方法,其特征在于,所述继续执行中断处理流程进一步包...

【专利技术属性】
技术研发人员:俞培源
申请(专利权)人:北京星网锐捷网络技术有限公司
类型:发明
国别省市:11[中国|北京]

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

1