一种动态调整时钟中断的方法及装置的制造方法_2

文档序号:8361278阅读:来源:国知局
>[0057]在第二方面的第五种可能的实现方式中,所述装置还包括:
[0058]补偿模块,用于对系统时间进行同步补偿,以使得操作系统消除由于动态时钟调整而造成的系统时间差。
[0059]本发明的实施例提出一种动态调整时钟中断的方法及装置,通过动态调整时钟中断装置在对每次的时钟中断进行响应处理时,检测当前任务是否发生任务切换,若判断所述当前任务未发生任务切换,则获取所述当前任务执行的时间,该任务当前执行时间为任务上次被调度执行到当前中断的执行时间,若所述当前任务执行的时间大于预设门限值,则判断当前的第一时钟中断周期是否小于预设的最大时钟中断周期,若所述当前的第一时钟中断周期小于预设的最大时钟中断周期,则按照第一预设规则,将所述当前的第一时钟中断周期更新为第二时钟中断周期,所述第二时钟中断周期大于第一时钟中断周期,相应地,若判断所述当前的第一时钟中断周期等于预设的最大时钟中断周期,则不更新所述当前的第一时钟中断周期。所述方案通过获取当前任务执行的时间并将所述当前任务执行的时间和预置门限值以及最大时钟中断周期进行比较,确定当前的第一时钟周期还有可以继续增加的空间,进而按照第一预设规则,将所述当前的第一时钟中断周期更新为第二时钟中断周期,最终增加了当前任务的时钟中断周期,减少了频繁且不必要的周期性时钟中断对计算机操作系统带来的开销,实现动态调整时钟中断的目的。
【附图说明】
[0060]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0061]图1为本实例一提供的一种动态调整时钟中断的方法的流程图;
[0062]图2为本实例二提供的一种动态调整时钟中断的方法的流程图;
[0063]图3为本实例三提供的一种动态调整时钟中断装置的结构图;
[0064]图4为本实例三提供的一种动态调整时钟中断装置的结构图;
[0065]图5为本实例三提供的一种动态调整时钟中断装置的结构图;
[0066]图6为本实例三提供的一种动态调整时钟中断装置的结构图;
[0067]图7为本实例三提供的一种动态调整时钟中断装置的结构图;
[0068]图8为本实例四提供的一种动态调整时钟中断装置的结构图。
【具体实施方式】
[0069]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
[0070]实施例一
[0071]本发明的实施例提出一种动态调整时钟中断的方法,如图1所示,包括:
[0072]101、动态调整时钟中断装置检测当前任务是否发生任务切换。
[0073]具体的,动态调整时钟中断装置可以周期性的获取当前任务的执行信息,检测当前任务是否发生任务切换,以判断在当前任务下是否需要对时钟中断周期做出调整。
[0074]102、若所述当前任务未发生任务切换,动态调整时钟中断装置则获取所述当前任务执行的时间。
[0075]具体的,判断当前任务是否发生切换的方法可以包括:动态调整时钟中断装置可以周期性的获取当前任务的执行信息,检测当前任务是否发生任务切换,以判断在当前任务下是否需要对时钟中断周期做出调整。
[0076]其中,若当前任务未发生任务切换,动态调整时钟中断装置则获取当前任务执行的时间。该任务当前执行时间为任务上次被调度执行到当前中断的执行时间。动态调整时钟中断装置获取当前任务执行的时间的方法可以包括:首先记录在所述当前任务执行的过程中时钟中断的次数,然后根据所述时钟中断的次数以及所述当前的第一时钟中断周期计算所述当前任务执行的时间。
[0077]例如,当前运行的任务是某一输入法中的一个插件,动态调整时钟中断装置要获取所述插件运行的时间,就要记录在所述插件运行的过程中时钟中断的次数,比如当前记录是5次,那么由于每次所述插件的时钟中断都为10s,所以所述插件运行的时间为50s。
[0078]103、若所述当前任务执行的时间大于预设门限值,动态调整时钟中断装置判断当前的第一时钟中断周期是否小于预设的最大时钟中断周期。
[0079]具体的,若所述当前任务执行的时间大于预设门限值时,动态调整时钟中断装置会停止当前周期性的时钟中断,启动相对于当前任务的动态时钟中断调整模式,为所述当前任务配置最优选的时钟中断周期,首先需判断当前的第一时钟中断周期是否小于预设的最大时钟中断周期。
[0080]其中,所述预设的最大时钟中断周期的取值,可以为最小的高优先级任务时钟、最近堵塞周期、剩余时间片以及预设经验上限值中的最小值。
[0081]具体的,所述最小的高优先级任务时钟周期,为当前就绪队列中优先级高于当前任务的就绪任务的最小时钟周期;所述最近堵塞周期,为当前任务的上一次进行阻塞操作的时长;所述剩余时间片,为初始化任务部署时最初分配的执行时间在当前所剩余的时间。
[0082]例如,动态调整时钟中断装置获取当前系统中某一杀毒软件的执行时间为I分钟,而所述杀毒软件的预设门限值为30s,动态调整时钟中断装置会停止当前周期性的时钟中断,启动相对于当前任务的动态时钟中断调整模式,然后将当前的第一时钟中断周期和所述杀毒软件的预设的最大时钟中断周期进行比较,如果当前的第一时钟中断周期小于所述杀毒软件的预设的最大时钟中断周期,说明当前的第一时钟周期还有可以继续增加的空间。
[0083]104、若所述当前的第一时钟中断周期小于预设的最大时钟中断周期,动态调整时钟中断装置则按照第一预设规则,将所述当前的第一时钟中断周期更新为第二时钟中断周期。
[0084]其中,所述第二时钟中断周期大于第一时钟中断周期,且不大于最大时钟中断周期。
[0085]具体的,若所述当前的第一时钟中断周期小于预设的最大时钟中断周期,为了减少时钟中断带来的开销,动态调整时钟中断装置按照第一预设规则,将所述当前的第一时钟中断周期更新为第二时钟中断周期,第二时钟中断周期大于第一时钟中断周期。
[0086]进一步地,所述按照第一预设规则,将所述当前的第一时钟中断周期更新为第二时钟中断周期,包括:将所述当前的第一时钟中断周期更新为所述第二时钟中断周期,所述第二时钟中断周期为所述第一时钟中断周期的η倍,例如,所述第二时钟中断周期以nx的速度增长,或者所述第二时钟中断周期以2"的速度增长等。其中,X为当前第一时钟中断周期,η为任意正数值。
[0087]或者,将所述当前的第一时钟中断周期更新为所述第二时钟中断周期,所述第二时钟中断周期为所述第一时钟中断周期的η倍与预设值的和,例如,所述第二时钟中断周期以nx+k的速度增长,其中,X为当前第一时钟中断周期,η和k为任意正数值。
[0088]或者,将所述当前的第一时钟中断周期更新为所述第二时钟中断周期,所述第二时钟中断周期为预设的先验值,例如,预设的先验值为预置所述的第二时钟中断周期以标准正态分布函数的增长方式进行更新等。
[0089]105、若所述当前的第一时钟中断周期等于预设的最大时钟中断周期,动态调整时钟中断装置不更新所述当前的第一时钟中断周期。
[0090]具体的,若所述当前的第一时钟中断周期等于预设的最大时钟中断周期,则可以认为当前的第一时钟中断周期已经使当前的计算机系统的由于时钟中断带来的开销最小,因此无需对当前的第一时钟中断周期进行更新。
[0091]本发明的实施例提出一种动态调整时钟中断的方法,通过动态调整时钟中断装置在对每次的时钟中断进行响应处理时,检测当前任务是否发生任务切换,若判断所述当前任务未发生任务切换,则获取所述当前任务执行的时间,该任务当前执行时间为任务上次被调度执行到当前中断的执行时间,若所述当前任务执行的时间大于预设门限值,则判断当前的第一时钟中断周期是否小于预设的最大时钟中断周期,若所述当前的第一时钟中断周期小于预设的最大时钟中断周期,则按照第一预设规则,将所述当前的第一时钟中断周期更新为第二时钟中断周期,所述第二时钟中断周期大于第一时钟中断周期,相应地,若判断所述当前的第一时钟中断周期等于预设的最大时钟中断周期,则不更新所述当前的第一时钟中断周期。所述方案通过获取当前任务执行的时间并将所述当前任务执行的时间和预置门限值以及最大时钟中断周期进行比较,确定当前的第一时钟周期还有可以继续增加的空间,进而按照第一预设规则,将所述当前的第一时钟中断周期更新为第二时钟中断周期,最终增加了当前任务的时钟中断周期,减少了频繁且不必要的周期性时钟中断对计算机操作系统带来的开销,实现动态调整时钟中断的目的。
[0092]实施例二
[0093]本发明的实施例提出一种动态调整时钟中断的方法,如图2所示,包括:
[0094]201、动态调整时钟中断装置检测当前任务是否发生任务切换。
[0095]具体的,动态调整时钟中断装置可以周期性的获取当前任务的执行信息,检测当前任务是否发生任务切换,以判断在当前任务下是否需要对时钟中断周期做出调整。
[0096]202、若所述当前任务未发生任务切换,动态调整时钟中断装置则获取所述当前任务执行的时间。
[
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1