CN112764889A - 进程调度方法、装置、设备以及存储介质 - Google Patents
进程调度方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN112764889A CN112764889A CN201911000456.7A CN201911000456A CN112764889A CN 112764889 A CN112764889 A CN 112764889A CN 201911000456 A CN201911000456 A CN 201911000456A CN 112764889 A CN112764889 A CN 112764889A
- Authority
- CN
- China
- Prior art keywords
- scheduling period
- cpu
- processing capacity
- scheduling
- capacity value
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 194
- 230000008569 process Effects 0.000 title claims abstract description 145
- 238000012545 processing Methods 0.000 claims abstract description 118
- 230000000737 periodic effect Effects 0.000 claims abstract description 15
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 abstract description 18
- 230000000694 effects Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本申请公开了一种进程调度方法、装置、设备及存储介质,属于操作系统领域。该方法包括:通过获取CPU的工作性能参数;根据工作性能参数确定出CPU的当前处理能力值;根据当前处理能力值计算得到预估调度周期;根据预估调度周期确定目标调度周期,并根据目标调度周期对终端中正在运行的进程进行周期性调度执行。该方法通过确定出的CPU的当前处理能力值来动态确定调度器对进程的目标调度周期,根据目标调度周期对终端中正在运行的进程进行周期性调度执行,实现调度器对进程的调度周期与CPU对进程的处理能力的动态匹配,达到降低时延,提高操作系统的响应速度的效果。
Description
技术领域
本申请涉及操作系统领域,特别涉及一种进程调度方法、装置、设备以及存储介质。
背景技术
移动终端中安装并运行有操作系统,该操作系统用于为应用程序的安装和运行提供了安全的访问环境。
该操作系统上可以并发执行或并行执行若干个进程,以实现应用程序在移动终端中的运行。该操作系统上还包括调度器,该调度器可以周期性对上述若干个进程进行调度执行,以实现处理器对应用程序上的每一个任务的响应。
但是,操作系统中已有调度器在应用程序的运行过程中,可能出现调度周期与处理器的运行能力不匹配的情况。
发明内容
本申请实施例提供了一种进程调度方法、装置、设备以及存储介质,可以解决调度器在应用程序的运行过程中,出现的调度周期与处理器的运行能力不匹配的问题。所述技术方案如下:
一个方面,提供了一种进程调度方法,应用于安装并运行有操作系统的终端中,该方法包括:
获取中央处理器(Central Processing Unit,CPU)的工作性能参数;
根据工作性能参数确定出CPU的当前处理能力值;
根据当前处理能力值计算得到预估调度周期;
根据预估调度周期确定目标调度周期,并根据目标调度周期对终端中正在运行的进程进行周期性调度执行。
另一个方面,提供了一种进程调度装置,该装置中安装并运行有操作系统,该装置包括:
获取模块,用于获取CPU的工作性能参数;
确定模块,用于根据工作性能参数确定出CPU的当前处理能力值;
计算模块,用于根据当前处理能力值计算得到预估调度周期;
调度模块,用于根据预估调度周期确定目标调度周期,并根据目标调度周期对终端中正在运行的进程进行周期性调度执行。
另一个方面,提供了一种终端设备,上述终端设备包含处理器和存储器,上述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、至少一段程序、代码集或指令集由上述处理器加载并执行以实现如上述一个方面所述的进程调度方法。
另一个方面,提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上一个方面所述的进程调度方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过获取CPU的工作性能参数;根据工作性能参数确定出CPU的当前处理能力值;根据当前处理能力值计算得到预估调度周期;根据预估调度周期确定目标调度周期,并根据目标调度周期对终端中正在运行的进程进行周期性调度执行。
该方法通过确定出的CPU的当前处理能力值来动态确定调度器对进程的目标调度周期,根据目标调度周期对终端中正在运行的进程进行周期性调度执行,实现调度器对进程的调度周期与CPU对进程的处理能力的动态匹配,达到降低时延,提高操作系统的响应速度的效果。比如,当CPU的处理能力高时,匹配更小的调度周期,使系统响应速度更快。该方法从底层机制上保证了整个操作系统的运行更流畅。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例提供的进程调度方法的流程图;
图2是本申请另一示例性实施例提供的进程调度方法的流程图;
图3是本申请另一示例性实施例提供的进程调度方法的流程图;
图4是本申请一示例性实施例提供的进程调度装置的结构框图;
图5是本申请另一示例性实施例涉及图4的进程调度装置的结构框图;
图6是本申请一个示例性实施例提供的终端的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请提供的方案,可以应用于安装并运行有操作系统的终端中,示意性的,该终端可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑、膝上型便携计算机等和台式电脑等。可选地,上述操作系统采用Linux内核作为系统内核。
请参考图1,其示出了本申请一示例性实施例提供的一种进程调度方法的流程图,应用于上述安装并运行有操作系统的终端中,该方法包括:
步骤101,获取CPU的工作性能参数。
上述工作性能参数是与CPU的工作效率相关联的参数。可选地,上述工作性能参数包括CPU的当前工作频率、CPU的最大工作频率、以及CPU的处理能力的参考系数中的至少一种;
其中,当前工作频率是指CPU在当前工作状态下的时钟频率;最大工作频率是指CPU在工作时能够达到的最大时钟频率;处理能力的参考系数是在终端中预先设置的系数,该参考系数用于确定CPU的当前处理能力值。处理能力值表示CPU对进程的处理效率,当前处理能力值则表示当前工作状态下的CPU对进程的处理效率。
需要说明的是,上述处理能力的参考系数是由CPU使用的CPU架构、以及制造工艺所决定的;不同的CPU架构、不同的制造工艺,使得CPU的处理能力不同,对应的处理能力的参考系数也不同。可选地,上述CPU架构可以包括精简指令集(Advanced Reduced-instruction-set-computer Machine,ARM)架构。
可选地,终端获取自身存储的CPU的最大工作频率与CPU的处理能力的参考系数,且动态获取CPU的当前工作频率。
步骤102,根据工作性能参数确定出CPU的当前处理能力值。
可选地,终端根据上述当前工作频率、最大工作频率与处理能力的参考系数计算得到当前处理能力值。
示意性的,上述工作性能参数用于计算CPU的当前处理能力值,将当前工作频率与最大工作频率的比值乘以处理能力的参考系数,得到当前处理能力值,公式如下:
Capacity=Freqcurr/Freqmax*efficiency;
其中,Capacity表示当前处理能力值;efficiency表示处理能力的参考系数;Freqcurr表示当前工作频率;Freqmax表示最大工作频率,“*”表示乘以,“/”表示除以,“Freqcurr/Freqmax”即为当前工作频率与最大工作频率的比值。
步骤103,根据当前处理能力值计算得到预估调度周期。
调度周期表示对终端的CPU上执行进程的连续两次调度之间的时间间隔,比如,终端中包括一个进程队列,终端的CPU对进程队列中等待执行的j个进程周期性调度执行,每10毫秒(ms)从等待执行的j个进程中取出一个进程,对CPU上正在执行的进程进行更换;其中,j为正整数。预估调度周期是指预估的与CPU的当前处理能力相匹配的调度周期。
可选地,终端中存储有处理能力值与候选调度周期的映射关系表。终端从上述映射关系表中确定出当前处理能力值对应的候选调度周期,将该候选调度周期确定为预估调度周期。
示意性的,如表1,示出了一个可选实施例提供的处理能力值与候选调度周期的映射关系表。
表1
若当前处理能力值C大于等于C0小于C1,则将候选调度周期T1确定为预估调度周期;若当前处理能力值C大于等于C1小于C2,则将候选调度周期T2确定为预估调度周期;若当前处理能力值C大于等于C2小于C3,则将候选调度周期T3确定为预估调度周期。
可选地,终端中预先设置有CPU的最小处理能力值、以及上述最小处理能力值对应的参考调度周期;终端根据上述当前处理能力值确定目标调度周期的示意性步骤可以如下:
a、终端获取CPU的最小处理能力值,以及最小处理能力值对应的参考调度周期。
其中,CPU的最小处理能力值、以及上述参考调度周期是由CPU制作厂商提供的参考调度周期的实验测试值。上述最小处理能力值是指CPU在工作时的最低工作效率,上述参考调度周期是指在CPU的工作效率处于最低状态时终端对进程的调度周期。
b、终端根据当前处理能力值、最小处理能力值与上述参考调度周期计算得到预估调度周期。
可选地,终端将最小处理能力值与当前处理能力值的比值乘以上述参考调度周期,得到预估调度周期。示意性的,对预估调度周期的计算公式如下:
T=Capacitymin/Capacity*T0;
其中,T表示预估调度周期;Capacitymin表示最小处理能力值;Capacity表示当前处理能力值;T0表示最小处理能力值对应的参考调度周期。终端通过上述公式动态确定出对进程的预估调度周期。
步骤104,根据预估调度周期确定目标调度周期,并根据目标调度周期对终端中正在运行的进程进行周期性调度执行。
目标调度周期是指终端依据CPU的当前处理能力确定出的调度周期的目标值,用于指示对终端中正在运行的k个进程进行周期性调度,k为正整数。
终端根据预估调度周期动态的确定出目标调度周期,根据目标调度周期对终端中正在运行的进程进行周期性调度执行。示意性的,终端将预估调度周期确定为目标调度周期,并通过系统内部接口将调度器的调度周期设置为目标调度周期,使调度器以目标调度周期对终端中正在运行的进程进行调度执行。
综上所述,本实施例提供的进程调度方法,终端通过获取CPU的工作性能参数;根据工作性能参数确定出CPU的当前处理能力值;根据当前处理能力值计算得到预估调度周期;根据预估调度周期确定目标调度周期,并根据目标调度周期对终端中正在运行的进程进行周期性调度执行。该方法通过确定出的CPU的当前处理能力值来动态确定调度器对进程的目标调度周期,根据目标调度周期对终端中正在运行的进程进行周期性调度执行,实现调度器对进程的调度周期与CPU对进程的处理能力的动态匹配,从而达到降低时延,提高操作系统的响应速度的效果。比如,当CPU的处理能力高时,匹配更小的调度周期,使系统响应速度更快。该方法从底层机制上保证了整个操作系统的运行更流畅。
需要说明的是,考虑到CPU的工作频率的限制,且调度器的运行也需要占用运行空间,当调度周期过小时,会导致CPU的工作频率无法支持该调度周期下的进程调度,还会导致调度器对CPU的占用率提高,使得分配给其他进程的对CPU使用资源变少;因此,需要控制调度周期的取值范围。
在终端中对应设置有周期阈值,终端根据CPU的实际处理能力对调度器的调度周期进行调整的同时,还控制调度周期不低于周期阈值,从而将调度周期控制在CPU的工作频率所能支持的范围内,且控制调度器对CPU的占用率。因此,图1中步骤104的具体实现方法可以包括以下步骤1042至步骤1046所示方法,如图2,示意性步骤如下:
步骤1042,判断预估调度周期是否小于周期阈值。
终端中设置有调度器的调度周期的周期阈值,该周期阈值用于作为判断计算出的预估值是否作为最终目标值时的判断参考对象;也就是说,该周期阈值用于确定调度周期调整为预估调度周期,或者确定调度周期的取值调整为周期阈值。
终端在对进程运行的过程中,会根据当前的性能需求调整CPU的工作频率;首先,由于对终端的进程响应速度的高要求,终端中CPU的工作频率对应有最小值,则CPU对进程调度的调度周期对应有最大值;其次,随着CPU的工作频率的增大,CPU能够支持的进程的调度周期随之变小,而终端中CPU的工作频率对应有最大值,则CPU对进程调度的调度周期对应有最小值。
因此,终端在动态确定出预估调度周期之后,判断预估调度周期是否小于周期阈值,其中,周期阈值表示了CPU能够支持的进程的调度周期的最小值;当预估调度周期大于等于周期阈值时,动态确定出的预估调度周期仍处于CPU所能够支持的进程的调度周期的取值范围内,因此,执行步骤1044,以预估调度周期为目标调度周期对终端中正在运行的进程进行调度;当预估调度周期小于周期阈值时,也就是说,动态确定出的预估调度周期已经超出了CPU所能够支持的进程的调度周期的取值范围,因此,执行步骤1046,将周期阈值确定为目标调度周期的取值,以该目标调度周期对终端中正在运行的进程进行调度。
比如,周期阈值为10ms;若预估调度周期为16ms,则执行步骤1044;若预估调度周期为10ms,则执行步骤1044;若预估调度周期为8ms,则执行步骤1046。
步骤1044,将预估调度周期确定为目标调度周期,根据目标调度周期对终端中正在运行的进程进行周期性调度执行。
终端通过调度器控制CPU对进程的执行,示意性的,在终端中对调度器的调度周期进行设置,通过调度器对正在运行的若干个进程进行周期性的调度执行。
在本实施例中,终端将预估调度周期确定为目标调度周期,即终端将调度器对进程的调度周期设置为预估调度周期,通过调度器基于预估调度周期对终端中正在运行的若干个进程进行调度,以通过CPU对若干个进程进行周期性执行。比如,操作系统中包括并发的3个进程,分别为进程1、进程2、进程3,目标调度周期为15ms,终端每隔15ms通过调度器对进程调度,使CPU在第一个15ms内执行进程1,在第二个15ms内执行进程2,在第三个15ms内执行进程3,在第四个15ms内再次执行进程1,以此类推,直至进程结束。
又比如,操作系统中包括并发的2个进程,分别为进程4和进程5,目标调度周期为20ms,终端每隔20ms通过调度器对进程进行调度,使CPU在第一个20ms内执行进程4,在第二个20ms内执行进程5,在第三个20秒内执行进程4,以此类推,直至进程结束。
步骤1046,将周期阈值确定为目标调度周期的取值,根据目标调度周期对终端中正在运行的进程进行周期性调度执行。
终端将周期阈值确定为目标调度周期的取值,即将调度器的调度周期的值设置为周期阈值,使调度器基于取值为周期阈值的目标调度周期对终端中正在运行的若干个进程进行调度,从而使CPU周期性地执行上述正在运行的若干个进程。
比如,周期阈值为10ms;若预估调度周期为8ms,则终端中的调度器基于10ms对正在运行的若干个进程进行调度执行。
综上所述,本实施例提供的进程调度方法,终端通过获取CPU的工作性能参数;根据工作性能参数确定出CPU的当前处理能力值;根据当前处理能力值计算得到预估调度周期;根据预估调度周期确定目标调度周期,并根据目标调度周期对终端中正在运行的进程进行周期性调度执行。该方法通过确定出的CPU的当前处理能力值来动态确定调度器对进程的目标调度周期,根据目标调度周期对终端中正在运行的进程进行周期性调度执行,实现调度器对进程的调度周期与CPU对进程的处理能力的动态匹配,从而达到降低时延,提高操作系统的响应速度的效果。比如,当CPU的处理能力高时,匹配更小的调度周期,使系统响应速度更快。该方法从底层机制上保证了整个操作系统的运行更流畅。
该方法还根据周期阈值对预估调度周期进行判断,从CPU的极限处理能力考虑,来对调度器的调度周期进行设置,使调度器的调度周期能够更好的匹配CPU的处理能力,进而采用更适宜的调度周期达到相应的降低时延,提高操作系统的响应速度的效果。其次,终端中调度器的运行也会占用程序运行空间,因此,终端将调度器的调度周期控制在合理范围内,可以有效地提高终端中进程的运行效率。
还需要说明的是,终端中运行的进程数量不断变化,为了适应上述进程数量的变化,终端中CPU的工作频率随之变化,以提高CPU对进程的处理速率。相应的,终端对调度器的调度周期也进行调整,以适应CPU的工作频率,从而使操作系统的响应速度适应性提高。上述过程可以基于图1或图2进行表示,示意性的,以基于图2表示为例,图2中步骤101具体包括步骤105至步骤107,如图3,步骤如下:
步骤105,检测CPU的工作频率是否被调整。
终端中设置有若干个档位的CPU工作频率,终端根据需要处理的进程数量对CPU的工作频率进行调整。示意性的,如表2,终端中设置有三个档位的工作频率,其中,当CPU并行执行的进程有2至4个时,CPU的工作效率为F1;当CPU并行执行的进程有5至6个时,CPU的工作效率为F2;当CPU并行执行的进程有7至8个时,CPU的工作效率为F3。
表2
进程数量 | 工作频率 |
2-4 | F<sub>1</sub> |
5-6 | F<sub>2</sub> |
7-8 | F<sub>3</sub> |
终端对CPU的工作频率的调整动作进行检测;当终端检测到CPU的工作频率从一个档位转换至另一个档位时,执行步骤106;当终端未检测到CPU的工作频率从一个档位转换至另一个档位时,执行步骤107。比如,当终端检测到CPU的工作频率从F1转换为F2时,执行步骤106;当终端检测到CPU的工作频率从F3转换至F1时,执行步骤106;当终端未检测到CPU的工作频率的变化时,执行步骤107。
步骤106,获取CPU的工作性能参数。
终端动态获取CPU的工作性能参数。上述工作性能参数用于动态确定终端在当前工作状态下的对进程的调度周期。该步骤的详细内容请参考步骤101,在此不再加以赘述。在执行步骤106之后,继续执行步骤102、步骤103、以及步骤1042至步骤1046。
其中,CPU的工作效率与CPU的处理能力之间是正相关关系,与调度周期之间是负相关关系;也就是说,当CPU的工作效率调高时,CPU的处理能力变高,则对应的将调度器的调度周期调低;相反的,当CPU的工作效率调低时,CPU的处理能力变低,则对应的将调度器的调度周期调高。
步骤107,仍以当前调度周期对正在运行的若干个进程进行调度执行。
综上所述,本实施例提供的进程调度方法,终端在检测到CPU的工作频率发生调整时,通过获取CPU的工作性能参数;根据工作性能参数确定出CPU的当前处理能力值;根据当前处理能力值计算得到预估调度周期;根据预估调度周期确定目标调度周期,并根据目标调度周期对终端中正在运行的进程进行周期性调度执行。该方法通过确定出的CPU的当前处理能力值来动态确定调度器对进程的目标调度周期,根据目标调度周期对终端中正在运行的进程进行周期性调度执行,实现调度器对进程的调度周期与CPU对进程的处理能力的动态匹配,从而达到降低时延,提高操作系统的响应速度的效果。比如,当CPU的处理能力高时,匹配更小的调度周期,使系统响应速度更快。该方法从底层机制上保证了整个操作系统的运行更流畅。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图4,其示出了本申请一示例性实施例提供的进程调度装置的结构框图。该装置中安装并运行有操作系统,该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:获取模块201,确定模块202、计算模块203以及调度模块204。
获取模块201,用于获取中央处理器CPU的工作性能参数;
确定模块202,用于根据工作性能参数确定出CPU的当前处理能力值;
计算模块203,用于根据当前处理能力值计算得到预估调度周期;
调度模块204,用于根据预估调度周期确定目标调度周期,并根据目标调度周期对终端中正在运行的进程进行周期性调度执行。
综上所述,本实施例提供的进程调度装置,通过获取CPU的工作性能参数;根据工作性能参数确定出CPU的当前处理能力值;根据当前处理能力值计算得到预估调度周期;根据预估调度周期确定目标调度周期,并根据目标调度周期对终端中正在运行的进程进行周期性调度执行。该装置通过确定出的CPU的当前处理能力值来动态确定调度器对进程的目标调度周期,根据目标调度周期对终端中正在运行的进程进行周期性调度执行,实现调度器对进程的调度周期与CPU对进程的处理能力的动态匹配,从而达到降低时延,提高操作系统的响应速度的效果。比如,当CPU的处理能力高时,匹配更小的调度周期,使系统响应速度更快。该装置从底层机制上保证了整个操作系统的运行更流畅。
请参考图5,在一些实施例中,计算模块203,包括:
获取子模块2031,用于获取CPU的最小处理能力值,以及最小处理能力值对应的参考调度周期;
计算子模块2032,用于根据当前处理能力值、最小处理能力值与参考调度周期计算得到预估调度周期。
在一些实施例中,计算子模块2032,用于将最小处理能力值与当前处理能力值的比值乘以参考调度周期,得到目标调度周期。
在一些实施例中,调度模块204,用于当预估调度周期大于等于周期阈值时,将预估调度周期确定为目标调度周期;当预估调度周期小于周期阈值时,将周期阈值确定为目标调度周期的取值。
在一些实施例中,工作性能参数包括CPU的当前工作频率、CPU的最大工作频率、以及CPU的处理能力的参考系数;
确定模块202,用于根据当前工作频率、最大工作频率与参考系数计算得到当前处理能力值。
在一些实施例中,获取模块201,用于当检测到对CPU的工作频率的调整时,执行获取中央处理器CPU的工作性能参数的步骤。
综上所述,本实施例提供的进程调度装置,在检测到CPU的工作频率发生调整时,通过获取CPU的工作性能参数;根据工作性能参数确定出CPU的当前处理能力值;根据当前处理能力值计算得到预估调度周期;根据预估调度周期确定目标调度周期,并根据目标调度周期对终端中正在运行的进程进行周期性调度执行。该装置通过确定出的CPU的当前处理能力值来动态确定调度器对进程的目标调度周期,根据目标调度周期对终端中正在运行的进程进行周期性调度执行,实现调度器对进程的调度周期与CPU对进程的处理能力的动态匹配,从而达到降低时延,提高操作系统的响应速度的效果。比如,当CPU的处理能力高时,匹配更小的调度周期,使系统响应速度更快。该装置从底层机制上保证了整个操作系统的运行更流畅。
该装置还根据周期阈值对目标调度周期进行判断,从CPU的极限处理能力考虑,来对调度器的调度周期进行设置,使调度器的调度周期能够更好的匹配CPU的处理能力,进而采用更适宜的调度周期达到相应的降低时延,提高操作系统的响应速度的效果。其次,该装置中调度器的运行也会占用程序运行空间,因此,该装置将调度器的调度周期控制在合理范围内,可以有效地提高装置中进程的运行效率。
请参考图6,其示出了本申请一个实施例提供的终端的结构框图。本申请实施例中的终端可以包括一个或多个如下部件:处理器310和存储器320。
处理器310可以包括一个或者多个处理核心。处理器310利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器320内的指令、程序、代码集或指令集,以及调用存储在存储器320内的数据,执行终端的各种功能和处理数据。可选地,处理器310可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器310可集成中央处理器(CentralProcessing Unit,CPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统和应用程序等;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器310中,单独通过一块芯片进行实现。
可选地,处理器310执行存储器320中的程序指令时实现上述各个方法实施例提供的进程调度方法。示意性的,存储器320中存储程序,该程序用于执行上述进程调度方法;处理器310调用并执行上述程序以动态确定出目标调度周期,并将调度器的调度周期设置为目标调度周期;继而处理器310从存储器320中调用设置后的调度器基于目标调度周期对若干个正在运行的进程进行调度执行。
存储器320可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选地,该存储器320包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器320可用于存储指令、程序、代码、代码集或指令集。存储器320可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令、用于实现上述各个方法实施例的指令等;存储数据区可存储根据终端的使用所创建的数据等。
上述终端的结构仅是示意性的,在实际实现时,终端可以包括更多或更少的组件,比如:显示屏等,本实施例对此不作限定。
本领域技术人员可以理解,图6中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上各个实施例所述的进程调度方法中,由终端执行的全部或部分步骤。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上各个实施例所述的进程调度方法,由终端执行的全部或部分步骤。
需要说明的是:上述实施例提供的进程调度方法在终端中的执行,仅以上述各实施例进行举例说明,实际程序中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种进程调度方法,其特征在于,应用于安装并运行有操作系统的终端中,所述方法包括:
获取中央处理器CPU的工作性能参数;
根据所述工作性能参数确定出所述CPU的当前处理能力值;
根据所述当前处理能力值计算得到预估调度周期;
根据所述预估调度周期确定目标调度周期,并根据所述目标调度周期对所述终端中正在运行的进程进行周期性调度执行。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前处理能力值计算得到预估调度周期,包括:
获取所述CPU的最小处理能力值,以及所述最小处理能力值对应的参考调度周期;
根据所述当前处理能力值、所述最小处理能力值与所述参考调度周期计算得到所述预估调度周期。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前处理能力值、所述最小处理能力值与所述参考调度周期计算得到所述预估调度周期,包括:
将所述最小处理能力值与所述当前处理能力值的比值乘以所述参考调度周期,得到所述预估调度周期。
4.根据权利要求1至3任一所述的方法,其特征在于,所述根据所述预估调度周期确定目标调度周期,包括:
当所述预估调度周期大于等于周期阈值时,将所述预估调度周期确定为所述目标调度周期;
当所述预估调度周期小于所述周期阈值时,将所述周期阈值确定为所述目标调度周期的取值。
5.根据权利要求1至3任一所述的方法,其特征在于,所述工作性能参数包括所述CPU的当前工作频率、所述CPU的最大工作频率、以及所述CPU的处理能力的参考系数;
所述根据所述工作性能参数确定出所述CPU的当前处理能力值,包括:
根据所述当前工作频率、所述最大工作频率与所述参考系数计算得到所述当前处理能力值。
6.根据权利要求1至3任一所述的方法,其特征在于,所述获取中央处理器CPU的工作性能参数,包括:
当检测到对所述CPU的工作频率的调整时,执行所述获取中央处理器CPU的工作性能参数的步骤。
7.一种进程调度装置,其特征在于,所述装置中安装并运行有操作系统,所述装置包括:
获取模块,用于获取中央处理器CPU的工作性能参数;
确定模块,用于根据所述工作性能参数确定出所述CPU的当前处理能力值;
计算模块,用于根据所述当前处理能力值计算得到预估调度周期;
调度模块,用于根据所述预估调度周期确定目标调度周期,并根据所述目标调度周期对所述终端中正在运行的进程进行周期性调度执行。
8.根据权利要求7所述的装置,其特征在于,所述计算模块,包括:
获取子模块,用于获取所述CPU的最小处理能力值,以及所述最小处理能力值对应的参考调度周期;
计算子模块,用于根据所述当前处理能力值、所述最小处理能力值与所述参考调度周期计算得到所述预估调度周期。
9.一种终端设备,其特征在于,所述终端设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一所述的进程调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一所述的进程调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911000456.7A CN112764889A (zh) | 2019-10-21 | 2019-10-21 | 进程调度方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911000456.7A CN112764889A (zh) | 2019-10-21 | 2019-10-21 | 进程调度方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112764889A true CN112764889A (zh) | 2021-05-07 |
Family
ID=75691636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911000456.7A Withdrawn CN112764889A (zh) | 2019-10-21 | 2019-10-21 | 进程调度方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764889A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150074673A1 (en) * | 2013-09-12 | 2015-03-12 | Kabushiki Kaisha Toshiba | Control apparatus, control system and control method |
CN106293914A (zh) * | 2016-08-01 | 2017-01-04 | 深圳市金立通信设备有限公司 | 一种任务调度的方法及终端 |
CN107870848A (zh) * | 2016-09-23 | 2018-04-03 | 腾讯科技(深圳)有限公司 | Cpu性能冲突的检测方法、装置和系统 |
CN108536538A (zh) * | 2018-03-13 | 2018-09-14 | Oppo广东移动通信有限公司 | 处理器核心调度方法、装置、终端及存储介质 |
CN108681498A (zh) * | 2018-03-23 | 2018-10-19 | 维沃移动通信有限公司 | 一种cpu占用率的监测方法、装置以及移动终端 |
US20190171460A1 (en) * | 2017-12-01 | 2019-06-06 | International Business Machines Corporation | Instructions scheduler optimization |
-
2019
- 2019-10-21 CN CN201911000456.7A patent/CN112764889A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150074673A1 (en) * | 2013-09-12 | 2015-03-12 | Kabushiki Kaisha Toshiba | Control apparatus, control system and control method |
CN106293914A (zh) * | 2016-08-01 | 2017-01-04 | 深圳市金立通信设备有限公司 | 一种任务调度的方法及终端 |
CN107870848A (zh) * | 2016-09-23 | 2018-04-03 | 腾讯科技(深圳)有限公司 | Cpu性能冲突的检测方法、装置和系统 |
US20190171460A1 (en) * | 2017-12-01 | 2019-06-06 | International Business Machines Corporation | Instructions scheduler optimization |
CN108536538A (zh) * | 2018-03-13 | 2018-09-14 | Oppo广东移动通信有限公司 | 处理器核心调度方法、装置、终端及存储介质 |
CN108681498A (zh) * | 2018-03-23 | 2018-10-19 | 维沃移动通信有限公司 | 一种cpu占用率的监测方法、装置以及移动终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9883506B2 (en) | Apparatus and methods for a bandwidth efficient scheduler | |
US20180088985A1 (en) | Scheduler and cpu performance controller cooperation | |
US8904399B2 (en) | System and method of executing threads at a processor | |
US10055259B2 (en) | Method for performing processor resource allocation in an electronic device, and associated apparatus | |
CN106919449B (zh) | 一种计算任务的调度控制方法及电子设备 | |
US20190188030A1 (en) | Terminal background application management method and apparatus | |
CN107239348B (zh) | 一种多核处理器调度方法、装置及移动终端 | |
US9323306B2 (en) | Energy based time scheduler for parallel computing system | |
CN107273130A (zh) | 加速界面绘制的方法、装置和终端 | |
CN111984391B (zh) | 任务调度方法、装置、芯片、终端及存储介质 | |
CN105930058A (zh) | 一种移动终端应用启动方法、装置及移动终端 | |
TW201541347A (zh) | 多核心處理器系統及其排程方法 | |
JP2008234638A (ja) | 処理装置用制御器 | |
TW202119207A (zh) | 調度方法及裝置、電子設備和記錄媒體 | |
CN107870792B (zh) | 一种移动终端的启动方法及移动终端和介质产品 | |
EP2482189A1 (en) | Utilization-based threshold for choosing dynamically between eager and lazy scheduling strategies in RF resource allocation | |
CN103677995B (zh) | 一种控制方法和电子设备 | |
CN112764889A (zh) | 进程调度方法、装置、设备以及存储介质 | |
CN105955816A (zh) | 一种事件调度方法及装置 | |
US20240160479A1 (en) | Hardware accelerators using shared interface registers | |
CN110750346B (zh) | 任务运行优化方法、装置、终端及存储介质 | |
CN107870818B (zh) | 多核处理器中断动态响应方法及存储介质 | |
CN100378671C (zh) | 用于实时数据处理应用中的过载检测的方法和装置 | |
CN114138444A (zh) | 一种任务调度方法、装置、设备、存储介质及程序产品 | |
US20150170317A1 (en) | Load Balancing for Consumer-Producer and Concurrent Workloads |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210507 |