CN102081555B - 调整时钟中断周期的方法和装置 - Google Patents
调整时钟中断周期的方法和装置 Download PDFInfo
- Publication number
- CN102081555B CN102081555B CN 201110044965 CN201110044965A CN102081555B CN 102081555 B CN102081555 B CN 102081555B CN 201110044965 CN201110044965 CN 201110044965 CN 201110044965 A CN201110044965 A CN 201110044965A CN 102081555 B CN102081555 B CN 102081555B
- Authority
- CN
- China
- Prior art keywords
- interrupt cycle
- clock
- clock interrupt
- threshold
- process number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Microcomputers (AREA)
- Power Sources (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
Abstract
本发明的实施例提供了调整时钟中断周期的方法和装置。该方法包括:确定处理器的运行队列中的进程数;基于当进程数大于参考阈值时需要使用的时钟中断周期小于当进程数不大于参考阈值时需要使用的时钟中断周期,确定处理器在运行状态中需要使用的时钟中断周期。该装置包括第一确定模块和第二确定模块。通过本发明实施例提供的方法和装置,可以动态调整时钟中断周期,使得处理器在运行状态中使用的时钟中断周期具有灵活性,便于根据需要来使用不同的时钟中断周期。并且,进程数较多时使用较小的时钟中断周期,可以提高响应速度,而进程数较少时使用较大的时钟中断周期,可以降低开销并使进程充分执行,从而,可以提高系统的处理效率。
Description
技术领域
本发明涉及系统管理领域,更具体地,涉及系统管理领域中调整时钟中断周期的方法和装置。
背景技术
时钟中断是操作系统的推动器,关系着不同任务的处理和调度等。系统利用时钟中断,可以进行负载统计、进程时间统计、促使进程的切换等。较高的时钟节拍率即较小的时钟中断周期,可以使进程得到及时的调度,使系统具有更好的交互性和响应速度。但是,时钟节拍率提高的同时,使得内核开销增大,影响操作系统的性能,并可能使一些计算量大的进程得不到及时处理。因此,为操作系统选择一个合适的时钟节拍率是非常重要的。
在现有技术中,系统在启动之后,按照用户配置的某个固定的时钟节拍率以固定的时钟中断周期运行。也就是,诸如中央处理器之类的处理器以固定的时钟中断周期来处理它的运行队列,而不考虑运行队列中进程的多少。在运行队列中可以存储等待处理器处理的进程。即便在系统中启用了动态时钟模式的tickless(无嘀嗒)功能,当处理器进入空闲状态时,系统会将时钟中断周期改变为无穷大或足够大的值来停止处理器的时钟中断,但是当处理器处于非空闲状态的运行状态中时,处理器仍然以固定的时钟中断周期来处理进程。
在运行状态中固定的时钟中断周期缺乏灵活性,可能带来诸如影响进程的调度速度、降低系统的响应时间、或者是浪费硬件资源等一系列问题,从而进一步影响系统的处理效率。
发明内容
本发明实施例提供了调整时钟中断周期的方法和装置,能够在处理器的运行状态中使得原本固定的时钟中断周期具有灵活性,从而可以动态调整时钟中断周期,提高系统的处理效率。
一方面,本发明实施例提供了一种调整时钟中断周期的方法,包括:确定处理器的运行队列中的进程数;确定处理器在运行状态中需要使用的时钟中断周期,使得进程数大于参考阈值时,需要使用的时钟中断周期小于当进程数不大于参考阈值时需要使用的时钟中断周期。
另一方面,本发明实施例提供了一种用于调整时钟中断周期的装置,包括:第一确定模块,用于确定处理器的运行队列中的进程数;第二确定模块,用于确定处理器在运行状态中需要使用的时钟中断周期,使得当进程数大于参考阈值时,需要使用的时钟中断周期小于当进程数不大于参考阈值时需要使用的时钟中断周期。
基于上述的技术方案,可以根据进程数来确定处理器在运行状态中需要使用的时钟中断周期,使得当进程数大于参考阈值时使用的时钟中断周期小于当进程数不大于参考阈值时使用的时钟中断周期。相比于现有技术,当处理器处于运行状态时,可以动态调整时钟中断周期,而不再使用固定的时钟中断周期,从而使得处理器在运行状态中使用的时钟中断周期具有灵活性,便于根据需要来使用不同的时钟中断周期。并且,进程数较多时使用较小的时钟中断周期,可以提高响应速度,而进程数较少时使用较大的时钟中断周期,可以降低时钟中断开销并使进程充分执行,从而可以提高系统的处理效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明实施例的调整时钟中断周期的方法的流程图;
图2示出了根据本发明实施例的调整时钟中断周期的另一方法的流程图;
图3示出了根据本发明实施例的使用三个时钟中断周期的例子;
图4示出了根据本发明实施例的多CPU情况下调整时钟中断周期的例子;
图5示出了根据本发明实施例的用于调整时钟中断周期的装置的结构框图;以及
图6示出了根据本发明实施例的用于调整时钟中断周期的装置的另一结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的所述实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
首先,结合图1描述根据本发明实施例的调整时钟中断周期的方法100。
如图1所示,方法100包括:在S110中,确定处理器的运行队列中的进程数;在S120中,基于当进程数大于参考阈值时需要使用的时钟中断周期小于当进程数不大于参考阈值时需要使用的时钟中断周期,确定处理器在运行状态中需要使用的时钟中断周期。
处理器可以将待处理的进程放置在它的运行队列中,并在时钟中断的触发下执行运行队列中的进程。此时,在处理器的运行状态中,处理器可以在至少两个时钟中断周期之一的触发下进行操作。随着任务的执行或添加等,运行队列中的进程数将发生变化,根据运行队列中的进程数,可以确定处理器在运行状态中需要使用的时钟中断周期,以在运行状态中可以使用可变的时钟中断周期。
根据该实施例,可以基于运行队列中的进程数来改变需要使用的时钟中断周期,使得在处理器的运行状态中,时钟中断周期不再是固定不变的时钟中断周期而具有一定的灵活性,便于根据需要来动态调整时钟中断周期。并且,在进程数大于参考阈值时使用的时钟中断周期小于在进程数不大于参考阈值时使用的时钟中断周期,可以在进程数较多时提高系统的响应速度,使得进程得到及时调度,而在进程数较少时减少时钟中断造成的系统开销,并使得进程得到充分执行,从而,可以提高系统的处理效率。
下面详细描述根据本发明实施例的S110和S120。
在S110中,确定处理器的运行队列中的进程数。
处理器可以直接查询它的运行队列中的进程数,也可以通过读取记录有运行队列相关信息的表格,从表格中提取运行队列中的进程数。
可以每隔预定时间来确定运行队列中的进程数。该预定时间可以是诸如1秒、2秒之类的等长时间,也可以是不等长时间。如果预定时间是不等长时间,那么可以根据当前进程数、系统负载、硬件开销等,来确定下一次确定进程数的时间间隔,或者直接随机地确定相邻两次确定进程数之间的时间间隔。当然,本领域技术人员还可以想到其他确定进程数所需的时间间隔。
在S120中,基于当进程数大于参考阈值时需要使用的时钟中断周期小于当进程数不大于参考阈值时需要使用的时钟中断周期,确定处理器在运行状态中需要使用的时钟中断周期。
时钟中断周期可以是提前设置好的时钟中断周期,也可以是在确定时钟中断周期的过程中动态产生的时钟中断周期。可以将S110中确定的进程数与提前设置的阈值相比较,根据进程数与阈值之间的大小关系来确定时钟中断周期。也可以根据进程数与时钟中断周期之间映射关系,查询存储有映射关系的表格或者基于映射关系动态生成时钟中断周期,从而确定与进程数相应的时钟中断周期。
可以基于当进程数大于参考阈值时需要使用的时钟中断周期小于当进程数不大于该参考阈值时需要使用的时钟中断周期,确定处理器在运行状态中需要使用的时钟中断周期。在该情况下,当进程数大于参考阈值时,需要使用一个时钟中断周期,而当进程数不大于该参考阈值时,需要使用比该一个时钟断周期大的另一时钟中断周期。由于进程数大于参考阈值时对应的时钟中断周期小于进程数不大于该参考阈值时对应的时钟中断周期,因此在进程数较多时,由于时钟中断周期更小而使得各个进程可以得到及时的调度,系统具有更快的响应时间,而在进程数较少时,由于时钟中断周期更大而使得留给每个进程的处理时间更长、时钟中断发生的次数更少,所以在每个进程得到有效调度的基础上可以更充分执行每个进程,同时可以减少时钟中断造成的上下文环境信息切换所需的时间和资源消耗。从而,能够提高系统的处理效率。
根据本发明的一个实施例,参考阈值可以不仅仅是一个特定阈值,而可以包括至少两个阈值。在具有多阈值的情况下,可以具有更多的时钟中断周期,从而更好地针对系统的处理环境来确定相适应的时钟中断周期,灵活性更大。根据本发明的一个实施例,参考阈值可以包括第一阈值和比第一阈值大的第二阈值。当进程数大于第一阈值且不大于第二阈值时,确定需要使用第一时钟中断周期;当进程数不大于第一阈值时,确定需要使用比第一时钟周期大的第二时钟中断周期;当进程数大于第二阈值时,确定需要使用比第一时钟周期小的第三时钟中断周期。这样,在三个时钟中断周期中选择与进程数相适应的时钟中断周期,使得在进程数适中时,使用兼顾调度速度和时钟中断发生频率的时钟中断周期以优化系统性能,在进程数较多时,减小时钟中断周期以使进程得到及时响应,在进程数较少时,在保证进程被及时调度的前提下,增大时钟中断周期,减少时钟中断造成的上下文信息保存时间和开销,使调度的进程更充分的执行。通过可变的时钟中断周期,可以适应不同进程数对响应速度和处理性能的要求,从而能够提高系统的处理效率。
根据本发明实施例提供的调整时钟中断周期的方法,可以根据进程数来在处理器的运行状态中确定需要使用的时钟中断周期,相比于现有技术,不再在处理器的运行状态中使用固定的时钟中断周期,而可以动态调整时钟中断周期,使得处理器在运行状态中使用的时钟中断周期具有灵活性,便于根据需要来使用不同的时钟中断周期。并且,在进程数大于参考阈值时使用的时钟中断周期小于在进程数不大于参考阈值时使用的时钟中断周期,可以在进程数较多时提高系统的响应速度,使得进程得到及时调度,而在进程数较少时减少时钟中断造成的系统开销,并使得进程得到充分执行,从而,可以提高系统的处理效率。
图2示出了根据本发明实施例的调整时钟中断周期的方法200。
相比于图1的方法100,图2中的S210和S220与图1的S110和S120基本相同,因此不再赘述。
根据本发明的一个实施例,方法300在S220之后还可以包括S230,根据所确定的时钟中断周期,更新下一时钟中断发生的时间。
根据在S220中确定的时钟中断周期,可以确定以多长的时间间隔来触发下一时钟中断,从而更新下一时钟中断发生的时间。例如,在当前的时钟中断周期是1毫秒的情况下,如果确定需要使用的时钟中断周期是4毫秒,则下一时钟中断发生的时间是当前时钟中断时间加上4毫秒,而不是当前时钟中断时间加上1毫秒。同样在该情况下,如果确定需要使用的时钟中断周期不变,则仍然以1毫秒的时间间隔来产生时钟中断触发。通过更新下一时钟中断发生的时间,可以及时对时钟中断触发时间进行动态调整,适应当前的进程数。
根据本发明的一个实施例,方法300在S220之后还可以包括S240,根据当前使用的时钟中断周期,更新指示时钟中断发生次数的中断计数。
由于系统管理、负载统计、某些任务执行等需要借助时钟中断发生次数,因此在每次发生时钟中断之后,需要更新指示时钟中断发生次数的中断计数。
因为在处理器的运行状态中需要使用至少两个时钟中断周期,每个时钟中断周期表征的中断时间不同,所以需要采用与每个时钟中断周期相应的方式来更新中断计数,以保持时钟中断次数与指示的时钟中断时间之间的对应关系,使得单位中断计数对应相同的中断时间。
根据本发明的一个实施例,在当前使用的时钟中断周期是用于计录时钟中断次数的基准时钟中断周期时,递增中断计数;在当前使用的时钟中断周期不是基准时钟中断周期时,基于当前使用的时钟中断周期和基准时钟中断周期的比例,增大中断计数。以该方式,每单位的中断计数对应的中断时间就是基准时钟中断周期。虽然在相同时间内具有不同时钟中断周期的时钟中断发生的次数不同,但是它们在相同时间内对应的计数相同。
例如,假设用于记录时钟中断次数的基准时钟中断周期是1毫秒,当前使用的时钟中断周期是4毫秒,则在当前使用的时钟中断周期是1毫秒时,中断计数可以增加1,在当前使用的时钟中断周期是4毫秒时,由于4毫秒是基准时钟中断周期的四倍,所以中断计数可以增加4。这样,在相同的20毫秒时间内,如果使用1毫秒的时钟中断周期,则发生20次时钟中断,中断计数增加20;如果使用4毫秒的时钟中断周期,则发生5次时钟中断,中断计数仍然增加20(4×5)。从而,单位中断计数在不同的时钟中断周期下对应相同的中断时间,保证了计数的统一性。
虽然在图3中示出了在S230之后执行S240,但是本领域技术人员也可以想到在S230之前执行S240,或者S230与S240同时执行。S230和S240执行的顺序没有限制,只要在S220之后执行即可。
下面结合图3,以参考阈值包括第一阈值和第二阈值为例,描述在多阈值的情况下如何调整时钟中断周期。
在图3所示的例子中,时钟中断周期包括第一时钟中断周期T1、第二时钟中断周期T2和第三时钟中断周期T3,其中T3<T1<T2。可以提前为处理器设置这三个时钟中断周期,根据进程数确定需要使用这三个时钟中断周期中的哪一个。
可以经过至少一个基准时钟中断周期,检查处理器的运行队列中的进程数N,每次检查所经过的基准时钟中断周期数可以不同。基准时钟中断周期可以是T1、T2和T3中最小的一个,也可以比T1、T2和T3都小。
确定进程数N之后,将进程数N与第一阈值N1和第二阈值N2相比较,其中N1<N2。当N1<N≤N2时,确定需要使用第一时钟中断周期T1;当N≤N1时,确定需要使用第二时钟中断周期T2;当N>N2时,确定需要使用第三时钟中断周期T3。这样,在进程数较多时,提高时钟中断节拍率即减小时钟中断周期,以较小的时钟中断周期T3来执行,从而保证每个任务都能及时得到调度,可以提高系统的响应速度。在进程数较少时,降低时钟中断节拍率即增大时钟中断周期,以较大的时钟中断周期T2来执行,在保证每个任务得到及时调度的同时,能够减小时钟中断次数,提高处理器的任务运行效率。
确定了需要使用的时钟中断周期之后,可以更新下一时钟中断发生的时间。如果需要使用的时钟中断周期是T1、T2或T3,则分别将下一时钟中断发生时间更新为当前时钟中断时间加上T1、T2或T3。如果时钟中断周期保持不变,则仍按照当前使用的时钟中断周期对下一时钟中断发生时间进行更新。
确定了需要使用的时钟中断周期之后,还可以更新中断计数。假设T2=10T3以及T1=4T3,那么可以以T3作为基准时钟中断周期。如果当前使用第一时钟中断周期T1时,则每触发一次时钟中断,中断计数增加4;如果当前使用第二时钟中断周期T2,则每触发一次时钟中断,中断计数增加10;如果当前使用第三时钟中断周期T3,则每触发一次时钟中断,终端计数增加1。这样保证中断计数每增加一对应T2的时间。
本发明实施例除了可以应用到单处理器的系统中之外,当然还可以应用到多处理器的系统中。在多处理器的系统中,针对单独的处理器使用本发明实施例提出的调整时钟中断周期的方法。图4示出了根据本发明实施例的多处理器情况下调整时钟中断周期的例子。
图4的系统中包括多个处理器,分别是处理器0、处理器1至处理器n。图4的系统可以是启用高分辨率或tickless功能的系统。系统中的每个处理器分别具有产生本地时钟中断触发的时钟设备,每个处理器基于本地的时钟设备来处理该处理器的运行队列中的进程。每个处理器的时钟设备产生局部时钟,控制相应的处理器在局部时钟的作用下处理进程。全局时钟可以由任何一个局部时钟充当。例如,在图4中,由处理器1的局部时钟充当全局时钟。那么,当处理器1的局部时钟的时钟中断周期改变时,系统的全局时钟的时钟中断周期也发生改变。
在多处理器的系统中,可以全部处理器都在可变的时钟中断周期下进行处理,也可以部分处理器在可变的时钟中断周期下进行处理。例如,在图4中,处理器1至处理器n可以基于可变的时钟中断周期运行。此时,对于处理器1至处理器n中的每个处理器,需要更新下一时钟中断发生的时间,使得相应的时钟设备每次基于更新的下一时钟中断时间来产生时钟中断触发,处理器在时钟触发下进行处理。
此外,可以通过一个特定的处理器来更新中断计数,也可以通过多个处理器来更新各自对应的中断计数。通常,由充当全局时钟的局部时钟控制下的处理器在全局时钟中断处理程序中更新中断计数。例如,在图4中,可以由处理器1更新中断计数。其他处理器的局部时钟产生本地时钟中断之后,不需要更新中断计数,而主要用来计算进程运行时间。当然,本领域技术人员也可以想到,为了系统管理等的需要,可能多个处理器需要维持自己特定的中断计数,此时,这些处理器需要通过各自的局部时钟对相应的中断计数进行更新。
另外,在具有多处理器的系统中,也可以为多个处理器设置不同的本地时钟中断周期。诸如键盘输入、鼠标输入之类的需要与用户进行交互的交互式进程可以被绑定到具有较小时钟中断周期的处理器或处理器集,从而满足交互式进程要求的快速响应速度。对计算量大、需要长时间占用处理器的批处理进程可以被绑定到具有较大时钟中断周期的处理器或处理器集,从而满足以减少时钟中断次数来提高计算性能的要求。
上面描述了根据本发明实施例的调整时钟中断周期的方法,下面结合图5和图6描述根据本发明实施例的用于调整时钟中断周期的装置的结构框图。
图5示出了根据本发明实施例的用于调整时钟中断周期的装置500的结构框图。
装置500包括第一确定模块510和第二确定模块520。第一确定模块510可用于确定处理器的运行队列中的进程数。第二确定模块520可用于基于当进程数大于参考阈值时需要使用的时钟中断周期小于当进程数不大于参考阈值时需要使用的时钟中断周期,确定处理器在运行状态中需要使用的时钟中断周期。
装置500的第一确定模块510和第二确定模块520的上述和其他操作和/或功能可以参考上述调整时钟中断周期的方法100和/或200中的相应部分,为了避免重复,在此不再赘述。
根据本发明实施例提供的用于调整时钟中断周期的装置,第二确定模块可以根据第一确定模块确定的进程数来在处理器的运行状态中确定需要使用的时钟中断周期,相比于现有技术,不再在处理器的运行状态中使用固定的时钟中断周期,而可以动态调整时钟中断周期,使得处理器在运行状态中使用的时钟中断周期具有灵活性,便于根据需要来使用不同的时钟中断周期。并且,通过第二确定模块,在进程数大于参考阈值时确定使用的时钟中断周期小于在进程数不大于参考阈值时确定使用的时钟中断周期,这样做,可以在进程数较多时提高系统的响应速度,使得进程得到及时调度,而在进程数较少时减少时钟中断造成的系统开销,并使得进程得到充分执行,从而,能够提高系统的处理效率。
图6示出了根据本发明实施例的用于调整时钟中断周期的装置600的结构框图。装置600中的第一确定模块610和第二确定模块620与图5的装置500中的第一确定模块510和第二确定模块520基本相同。
根据本发明的一个实施例,参考阈值可以包括第一阈值和比第一阈值大的第二阈值。在该情况下,第二确定模块620可以包括第一确定单元622、第二确定单元624和第三确定单元626。第一确定单元622可用于当进程数大于第一阈值且不大于第二阈值时,确定需要使用第一时钟中断周期。第二确定单元624可用于当进程数不大于第一阈值时,确定需要使用比第一时钟中断周期大的第二时钟中断周期。第三确定单元626可用于当进程数大于第二阈值时,确定需要使用比第一时钟中断周期小的第三时钟中断周期。
第一确定单元622、第二确定单元624和第三确定单元626的上述和其他功能和/或操作可以参考上述调整时钟中断周期的方法100和/或200中的相应部分,为了避免重复,在此不再赘述。
根据本发明的一个实施例,装置600还可以包括第一更新模块630。第一更新模块630可用于根据所确定的时钟中断周期,更新下一时钟中断发生的时间。
第一更新模块630的上述和其他功能和/或操作可以参考上述调整时钟中断周期的方法100和/或200中的相应部分,为了避免重复,在此不再赘述。通过第一更新模块,可以及时调整时钟中断周期,使得时钟中断触发时间得到及时改变。
根据本发明的一个实施例,装置600还可以包括第二更新模块640。第二更新模块640可用于根据当前使用的时钟中断周期,更新指示时钟中断发生次数的中断计数。
根据本发明的一个实施例,第二更新模块640可以包括第一更新单元642和第二更新单元644。第一更新单元642可用于当当前使用的时钟中断周期是用于计录时钟中断次数的基准时钟中断周期时,递增中断计数。第二更新单元644可用于当当前使用的时钟中断周期不是基准时钟中断周期时,基于当前使用的时钟中断周期和基准时钟中断周期的比例,增大中断计数。
第二更新模块640、第一更新单元642和第二更新单元644的上述和其他功能和/或操作可以参考上述调整时钟中断周期的方法100和/或200中的相应部分,为了避免重复,在此不再赘述。
通过第二更新模块,可以为系统管理、负载计算、任务执行等提供需要的参数。通过第一更新单元和第二更新单元,可以使中断计数在不同的时钟中断周期下具有统一性,每单位的中断计数对应相同的中断时间。
本领域技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法步骤可以用硬件、处理器执行的软件程序、或者二者的结合来实施。软件程序可以置于随机存取存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM或技术领域内所公知的任意其它形式的存储介质中。
尽管已示出和描述了本发明的一些实施例,但本领域技术人员应该理解,在不脱离本发明的原理和精神的情况下,可对这些实施例进行各种修改,这样的修改应落入本发明的范围内。
Claims (10)
1.一种调整时钟中断周期的方法,其特征在于,包括:
确定处理器的运行队列中的进程数;
确定所述处理器在运行状态中需要使用的时钟中断周期,使得所述进程数大于参考阈值时,需要使用的时钟中断周期小于当所述进程数不大于所述参考阈值时需要使用的时钟中断周期。
2.根据权利要求1所述的方法,其特征在于,所述参考阈值包括第一阈值和比所述第一阈值大的第二阈值,所述确定所述处理器在运行状态中需要使用的时钟中断周期包括:
当所述进程数大于所述第一阈值且不大于所述第二阈值时,确定需要使用第一时钟中断周期;
当所述进程数不大于所述第一阈值时,确定需要使用比所述第一时钟周期大的第二时钟中断周期;
当所述进程数大于所述第二阈值时,确定需要使用比所述第一时钟周期小的第三时钟中断周期。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
根据所确定的时钟中断周期,更新下一时钟中断发生的时间。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
根据当前使用的时钟中断周期,更新指示时钟中断发生次数的中断计数。
5.根据权利要求4所述的方法,其特征在于,所述根据当前使用的时钟中断周期、更新指示时钟中断发生次数的中断计数包括:
当所述当前使用的时钟中断周期是用于计录时钟中断次数的基准时钟中断周期时,递增所述中断计数;
当所述当前使用的时钟中断周期不是所述基准时钟中断周期时,基于所述当前使用的时钟中断周期和所述基准时钟中断周期的比例,增大所述中断计数。
6.一种用于调整时钟中断周期的装置,其特征在于,包括:
第一确定模块,用于确定处理器的运行队列中的进程数;
第二确定模块,用于确定所述处理器在运行状态中需要使用的时钟中断周期,使得当所述进程数大于参考阈值时,需要使用的时钟中断周期小于当所述进程数不大于所述参考阈值时需要使用的时钟中断周期。
7.根据权利要求6所述的装置,其特征在于,所述参考阈值包括第一阈值和比所述第一阈值大的第二阈值,所述第二确定模块包括:
第一确定单元,用于当所述进程数大于所述第一阈值且不大于所述第二阈值时,确定需要使用第一时钟中断周期;
第二确定单元,用于当所述进程数不大于所述第一阈值时,确定需要使用比所述第一时钟中断周期大的第二时钟中断周期;
第三确定单元,用于当所述进程数大于所述第二阈值时,确定需要使用比所述第一时钟中断周期小的第三时钟中断周期。
8.根据权利要求6或7所述的装置,其特征在于,还包括:
第一更新模块,用于根据所确定的时钟中断周期,更新下一时钟中断发生的时间。
9.根据权利要求6或7所述的装置,其特征在于,还包括:
第二更新模块,用于根据当前使用的时钟中断周期,更新指示时钟中断发生次数的中断计数。
10.根据权利要求9所述的装置,其特征在于,所述第二更新模块包括:
第一更新单元,用于当所述当前使用的时钟中断周期是用于计录时钟中断次数的基准时钟中断周期时,递增所述中断计数;
第二更新单元,用于当所述当前使用的时钟中断周期不是所述基准时钟中断周期时,基于所述当前使用的时钟中断周期和所述基准时钟中断周期的比例,增大所述中断计数。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110044965 CN102081555B (zh) | 2011-02-24 | 2011-02-24 | 调整时钟中断周期的方法和装置 |
PCT/CN2011/080577 WO2012113232A1 (zh) | 2011-02-24 | 2011-10-09 | 调整时钟中断周期的方法和装置 |
EP11859570.1A EP2551767B1 (en) | 2011-02-24 | 2011-10-09 | Method and device for adjusting clock interrupt cycle |
US13/345,042 US8381011B2 (en) | 2011-02-24 | 2012-01-06 | Adjusting period of clock interruption that triggers processing of processes in run queue at plural threshold depth levels |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110044965 CN102081555B (zh) | 2011-02-24 | 2011-02-24 | 调整时钟中断周期的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102081555A CN102081555A (zh) | 2011-06-01 |
CN102081555B true CN102081555B (zh) | 2013-02-27 |
Family
ID=44087531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110044965 Active CN102081555B (zh) | 2011-02-24 | 2011-02-24 | 调整时钟中断周期的方法和装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2551767B1 (zh) |
CN (1) | CN102081555B (zh) |
WO (1) | WO2012113232A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8381011B2 (en) | 2011-02-24 | 2013-02-19 | Huawei Technologies Co., Ltd. | Adjusting period of clock interruption that triggers processing of processes in run queue at plural threshold depth levels |
CN102081555B (zh) * | 2011-02-24 | 2013-02-27 | 华为技术有限公司 | 调整时钟中断周期的方法和装置 |
CN102760079B (zh) * | 2012-03-27 | 2014-09-03 | 无锡里外半导体科技有限公司 | 移动应用处理器的自适应中断调控方法及装置 |
CN104679583B (zh) * | 2013-11-28 | 2019-02-05 | 华为技术有限公司 | 一种动态调整时钟中断的方法及装置 |
CN105718320B (zh) | 2016-01-18 | 2020-11-06 | 华为技术有限公司 | 一种时钟任务处理方法、装置及设备 |
CN106802689B (zh) * | 2016-12-14 | 2020-01-17 | 西北工业大学 | Windows操作系统环境下可调速高精度定时器的实现方法 |
CN106685542A (zh) * | 2016-12-21 | 2017-05-17 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的时钟信号质量检测方法及系统 |
CN109086232A (zh) * | 2018-07-26 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种事务处理的方法及装置 |
CN111813531B (zh) * | 2020-08-31 | 2020-11-27 | 北京国科环宇科技股份有限公司 | 一种操作系统时钟调度方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517856A (zh) * | 2003-01-15 | 2004-08-04 | 英业达股份有限公司 | 根据系统资源调整运作时钟脉冲速度的方法 |
CN101853066A (zh) * | 2009-02-11 | 2010-10-06 | 上海芯豪微电子有限公司 | 一种自动实时调整系统时钟频率的方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6763476B1 (en) * | 2001-04-03 | 2004-07-13 | Unisys Corporation | Enhanced timer queue mechanism for dynamic capacity increase |
US6988156B2 (en) * | 2002-04-18 | 2006-01-17 | Sun Microsystems, Inc. | System and method for dynamically tuning interrupt coalescing parameters |
US7155629B2 (en) * | 2003-04-10 | 2006-12-26 | International Business Machines Corporation | Virtual real time clock maintenance in a logically partitioned computer system |
US7634589B2 (en) * | 2004-09-23 | 2009-12-15 | International Business Machines Corporation | Method for controlling peripheral adapter interrupt frequency by estimating processor load in the peripheral adapter |
JP4829177B2 (ja) * | 2007-06-11 | 2011-12-07 | ルネサスエレクトロニクス株式会社 | ディスパッチ装置 |
CN102081555B (zh) * | 2011-02-24 | 2013-02-27 | 华为技术有限公司 | 调整时钟中断周期的方法和装置 |
-
2011
- 2011-02-24 CN CN 201110044965 patent/CN102081555B/zh active Active
- 2011-10-09 WO PCT/CN2011/080577 patent/WO2012113232A1/zh active Application Filing
- 2011-10-09 EP EP11859570.1A patent/EP2551767B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517856A (zh) * | 2003-01-15 | 2004-08-04 | 英业达股份有限公司 | 根据系统资源调整运作时钟脉冲速度的方法 |
CN101853066A (zh) * | 2009-02-11 | 2010-10-06 | 上海芯豪微电子有限公司 | 一种自动实时调整系统时钟频率的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2551767B1 (en) | 2017-04-05 |
WO2012113232A1 (zh) | 2012-08-30 |
EP2551767A1 (en) | 2013-01-30 |
CN102081555A (zh) | 2011-06-01 |
EP2551767A4 (en) | 2013-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102081555B (zh) | 调整时钟中断周期的方法和装置 | |
US9086883B2 (en) | System and apparatus for consolidated dynamic frequency/voltage control | |
US7685347B2 (en) | Interrupt controller for invoking service routines with associated priorities | |
KR101029414B1 (ko) | 프로세서 상태 천이를 검출하기 위해 제공되는 장치 및방법과 머신 액세스 가능 매체와 컴퓨팅 시스템 | |
US8943252B2 (en) | Latency sensitive software interrupt and thread scheduling | |
Acun et al. | Fine-grained energy efficiency using per-core dvfs with an adaptive runtime system | |
EP2270625A1 (en) | System and method for processor utilization adjustment to improve deep c-state use | |
KR20170054485A (ko) | 운영체제에서의 휴리스틱 프로세서 전력 관리 | |
US20230127112A1 (en) | Sub-idle thread priority class | |
US10108449B2 (en) | Work item management among worker threads of a computing device | |
US11537429B2 (en) | Sub-idle thread priority class | |
CN105094826A (zh) | 用户终端系统中交互界面视图的响应方法及其装置 | |
CN111324432A (zh) | 处理器调度方法、装置、服务器及存储介质 | |
US9274827B2 (en) | Data processing apparatus, transmitting apparatus, transmission control method, scheduling method, and computer product | |
Huh et al. | Cross‐layer resource control and scheduling for improving interactivity in Android | |
CN112256419A (zh) | 一种基于定时器时钟控制的嵌入式系统多任务调度方法 | |
KR20120003088A (ko) | 결정적 프로그레스 인덱스를 이용한 스레드 프로그레스 트래킹 방법 및 장치 | |
US9058207B2 (en) | Simulation apparatus, method, and computer-readable recording medium | |
CN115756866A (zh) | 负载均衡方法、装置及存储介质 | |
KR101271854B1 (ko) | 태스크 주기 스케쥴링 장치 및 방법 | |
KR101725408B1 (ko) | 실시간 운영체제의 태스크 스케줄링 방법 | |
US8381011B2 (en) | Adjusting period of clock interruption that triggers processing of processes in run queue at plural threshold depth levels | |
KR101211817B1 (ko) | 태스크 주기 스케쥴링 장치 및 방법 | |
CN116431280A (zh) | 一种中断信号处理方法以及中断信号处理装置 | |
KR100509428B1 (ko) | 실시간 오퍼레이팅 시스템에서 스택 변경을 이용한 시스템성능 최적화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |