移动通信终端进程创建方法和移动通信终端的制作方法

文档序号:10654316阅读:171来源:国知局
移动通信终端进程创建方法和移动通信终端的制作方法
【专利摘要】本发明实施例提供一种移动通信终端进程创建方法和移动通信终端,该方法包括:判断子进程是否是应用程序启动时需要与用户交互的进程,在确定子进程为应用程序启动时需要与用户交互的进程后,确定是否存在处于空闲状态的CPU大核,若存在处于空闲状态的CPU大核,则将子进程的调度参数初始化为CPU大核的参数,以使子进程在CPU大核上运行,保证了应用程序启动时需要与用户交互的进程能在CPU大核上立即运行。从而,使得应用程序的启动瞬间能得到足够的CPU资源,提高应用程序的启动速度,进而,提高了用户体验。
【专利说明】
移动通信终端进程创建方法和移动通信终端
技术领域
[0001]本发明涉及计算机技术,尤其涉及一种移动通信终端进程创建方法和移动通信终端。
【背景技术】
[0002]随着信息技术的发展以及用户娱乐需求的日益增长,移动通信终端的使用越来越广泛,同时,移动通信终端上运行的应用程序也越来越多。现有的大部分移动通信终端中采用多个中央处理器(Central Processing Unit;简称:CPU)的多核架构方式。由于移动通信终端的CPU资源是有限的,为了能让各个应用程序正常运行,需要对应用程序的进程进行调度。
[0003]现有技术中,在应用程序启动时,操作系统会为该应用程序创建一个或者多个子进程。此处以操作系统为应用程序创建一个子进程为例进行说明。在该子进程被创建的过程中,该进程的调度参数中的数据默认为其父进程所在CPU的参数。即该子进程被创建完成后,默认在该子进程的父进程所在的CPU上运行。则此时在父进程所在的CPU上需要运行至少2个进程:父进程和该子进程。该父进程所在的CPU再根据调度策略对该子进程进行调度。
[0004]但是,采用上述的进程创建方式,由于在该子进程被创建后,父进程所在的CPU上包括至少两个进程,则该子进程在被创建后何时在CPU上运行,需要CPU根据调度策略来确定,当根据该调度策略确定优先执行父进程时,这可能导致该子进程要经过很长的时间才能被执行,使得应用程序在启动瞬间,需要等待父进程运行结束才能获取足够的CPU资源,从而,造成应用程序的启动较慢。

【发明内容】

[0005]本发明提供一种移动通信终端进程创建方法和移动通信终端,以提高应用程序的启动速度。
[0006]第一方面,本发明实施例提供一种移动通信终端进程创建方法,包括:
[0007]判断子进程是否是应用程序启动时需要与用户交互的进程;其中,所述移动通信终端包括多个中央处理器CPU;
[0008]若确定所述子进程为应用程序启动时需要与用户交互的进程,则判断是否存在处于空闲状态的CPU大核;
[0009]若确定存在处于空闲状态的CPU大核,则将所述子进程的调度参数初始化为所述(PU大核的参数,以使所述子进程在所述CPU大核上运行。
[0010]如上所示的方法,在判断子进程是否是应用程序启动时需要与用户交互的进程之前,所述方法还包括:
[0011]确定所述子进程的父进程进程号PPID;
[0012]所述判断子进程是否是应用程序启动时需要与用户交互的进程,包括:
[0013]根据所述子进程的PPID判断所述子进程是否是应用程序启动时需要与用户交互的进程。
[0014]如上所示的方法,所述根据所述子进程的PPID判断所述子进程是否是应用程序启动时需要与用户交互的进程,包括:
[0015]若所述PPID不是守护进程的PPID且不是内核进程的PPID,则确定所述子进程是应用程序启动时需要与用户交互的进程;
[0016]若所述PPID是守护进程的PPID或者是内核进程的PPID,则确定所述子进程不是应用程序启动时需要与用户交互的进程。
[0017]如上所示的方法,若确定不存在处于空闲状态的CPU大核,则所述方法还包括:
[0018]确定忙碌状态满足预设条件的CPU;
[0019]将所述子进程的调度参数初始化为所述满足预设条件的CPU的参数,以使所述子进程在所述(PU上运行。
[0020]如上所示的方法,所述确定忙碌状态满足预设条件的CPU,包括:
[0021]确定各CPU上运行的负载的数量,确定运行的负载的数量小于预设阈值的CPU为所述忙碌状态满足预设条件的CPU;或者,
[0022]确定各CPU上运行的负载的数量,确定负载数量最小的CPU为满足预设条件的CPU。
[0023]第二方面,本发明实施例提供一种移动通信终端,包括:
[0024]第一判断模块,用于判断子进程是否是应用程序启动时需要与用户交互的进程;其中,所述移动通信终端包括多个中央处理器CPU;;
[0025]第二判断模块,用于当确定所述子进程为应用程序启动时需要与用户交互的进程时,判断是否存在处于空闲状态的CHJ大核;
[0026]第一初始化模块,用于当确定存在处于空闲状态的CPU大核时,将所述子进程的调度参数初始化为所述(PU大核的参数,以使所述子进程在所述CPU大核上运行。
[0027]如上所示的移动通信终端,还包括:
[0028]第一确定模块,用于确定所述子进程的父进程进程号PPID;
[0029]所述第一判断模块包括:
[0030]判断子模块,用于根据所述子进程的PPID判断所述子进程是否是应用程序启动时需要与用户交互的进程。
[0031]如上所示的移动通信终端,所述判断子模块具体用于:
[0032]若所述PPID不是守护进程的PPID且不是内核进程的PPID,则确定所述子进程是应用程序启动时需要与用户交互的进程;
[0033]若所述PPID是守护进程的PPID或者是内核进程的PPID,则确定所述子进程不是应用程序启动时需要与用户交互的进程。
[0034]如上所示的移动通信终端,还包括:
[0035]第二确定模块,用于当确定不存在处于空闲状态的CPU大核时,确定忙碌状态满足预设条件的CPU;
[0036]第二初始化模块,用于将所述子进程的调度参数初始化为所述满足预设条件的(PU的参数,以使所述子进程在所述CPU上运行。
[0037]如上所示的移动通信终端,所述第二确定模块具体用于:
[0038]确定各CPU上运行的负载的数量,确定运行的负载的数量小于预设阈值的CPU为所述忙碌状态满足预设条件的CPU;或者,
[0039]确定各CHJ上运行的负载的数量,确定负载的数量最小的CPU为满足预设条件的CPU。
[0040]本发明提供的移动通信终端进程创建方法和移动通信终端,通过判断子进程是否是应用程序启动时需要与用户交互的进程,在确定子进程为应用程序启动时需要与用户交互的进程后,确定是否存在处于空闲状态的CPU大核,若存在处于空闲状态的CPU大核,则将子进程的调度参数初始化为CPU大核的参数,以使子进程在CPU大核上运行,实现了在确定子进程为应用程序启动时需要与用户交互的进程后,如果存在处于空闲状态的CPU大核时,则使该子进程在CPU大核上运行,保证了应用程序启动时需要与用户交互的进程能在CPU大核上立即运行,从而,使得应用程序的启动瞬间能得到足够的CPU资源,提高应用程序的启动速度,进而,提高了用户体验。
【附图说明】
[0041]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0042]图1为本发明实施例提供的移动通信终端进程创建方法实施例一的流程示意图;
[0043]图2为本发明实施例提供的移动通信终端进程创建方法实施例二的流程示意图;
[0044]图3为本发明实施例提供的移动通信终端实施例一的结构示意图;
[0045]图4为本发明实施例提供的移动通信终端实施例二的结构示意图。
【具体实施方式】
[0046]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0048]本发明实施例提供的移动通信终端进程创建方法可以应用于采用多核架构的Linux及Unix等操作系统的移动通信终端中。本发明实施例中的移动通信终端可以是手机、笔记本电脑及平板电脑等。该移动通信终端包括多个CPU。在多核架构的系统中,把性能满足预设条件的CPU称为CPU大核,其余的CPU称为CPU小核。需要说明的是,CPU大核可以是一个或多个CPU; CPU小核也可以是一个或多个CPU ο CPU大核的性能强,功耗也高;CPU小核的性能相较于CHJ大核性能较弱,功耗也较低。
[0049]当应用程序需要启动时,父进程会为应用程序创建一个或多个子进程。如果按照现有技术默认子进程在其父进程所在的CPU上运行时,则其可能要经过较长的时间才能被运行,影响应用程序的启动速度。本发明实施例提供的移动通信终端进程创建方法,移动通信终端先判断子进程是否是应用程序启动时需要与用户交互的进程,若是,则再判断是否存在处于空闲状态的CPU大核,若存在,将该子进程的调度参数初始化为该CPU大核的参数,以使该子进程可以在该CHJ大核上运行,保证了在应用程序启动时需要与用户交互的子进程能被CPU大核立即运行,从而,使得应用程序的启动瞬间能得到足够的CPU资源,提高应用程序的启动速度,进而,提高了用户体验。
[0050]下面以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0051]图1为本发明实施例提供的移动通信终端进程创建方法实施例一的流程示意图。如图1所示,本发明实施例提供的移动通信终端进程创建方法包括如下步骤:
[0052]SlOl:判断子进程是否是应用程序启动时需要与用户交互的进程。
[0053]其中,移动通信终端包括多个CPU。
[0054]本发明实施例提供的移动通信终端进程创建方法可以由子进程的父进程所在的CPU执行。当然,也可以由其他的CPU执行。本发明实施例对此不做限制。需要首先判断子进程是否是应用程序启动时需要与用户交互的进程。需要与用户交互的进程意为该进程启动后需要和用户进行交互。例如,该进程被创建且运行后显示一个应用程序的开始用户界面,以便于用户输入指令。或者,需要与用户交互的进程意为该进程的运行过程用户可以感知得到。例如,该进程被创建且运行后显示一个应用程序的开始界面,用户可以知道该应用程序已经启动。
[0055]在操作系统中,创建进程的过程需要通过系统调用陷入内核,由内核来完成进程的底层创建。因此,移动通信终端的CPU可以判断子进程是否是应用程序的进程。举例来说,Linux操作系统中,进程分为内核进程和用户进程。用户进程中包括服务(service)进程等守护(daemon)进程以及需要与用户交互的进程。对于daemon进程和内核进程可以不采用本发明实施例提供的移动通信终端进程创建方法,因为用户感知不到daemon进程和内核进程的运行,不会影响用户体验。而只对应用程序启动时需要与用户交互的进程采用本发明实施例提供的移动通信终端进程创建方法进行优化创建,以提高用户体验。
[0056]在一种实现方式中,可以通过子进程的父进程进程号(Parent ProcessIdentity ;简称:PPID)判断该子进程是否是应用程序启动时需要与用户交互的进程。如果该子进程的PPID符合一定的预设条件,则可以确定该子进程是应用程序启动时需要与用户交互的进程。该预设条件可以是一个PPID范围,表明其PPID是该PPID范围内的子进程都是应用程序启动时需要与用户交互的进程。该PPID范围随着操作系统的不同而不同。
[°°57] 在另外一种实现方式中,可以通过子进程的进程号(Process Identity;简称:PID)来判断子进程是否是应用程序启动时需要与用户交互的进程。如果该子进程的PID符合一定的预设条件,则可以确定该子进程是应用程序启动时需要与用户交互的进程。该预设条件可以是一个PID阈值或者一个PID区间,其随着操作系统的不同而不同。
[0058]S102:若确定子进程为应用程序启动时需要与用户交互的进程,则判断是否存在处于空闲状态的CPU大核。
[0059]具体地,在多核架构的操作系统中,多个CPU的信息可以存储在列表或表格等数据结构中。
[0060]此处以CPU的信息以列表形式进行存储为例进行说明。该列表中存储有各CPU的类型,即表明其是大核还是小核。该列表中还存储有各CPU当前的状态。例如,其当前有没有运行负载以及负载的数量。负载即为CHJ上运行的进程。该列表中还可以存储有各CPU的参数信息,例如,工作频率及总线速度等信息。空闲(idle)状态的CPU大核意为该CPU为CPU大核且该CPU上没有运行负载。CPU可以只扫描该列表中的CPU大核,确定是否有处于空闲状态的CPU大核。如果扫描到有至少一个CHJ大核上没有负载,则确定存在处于空闲状态的CPU大核。
[0061]S103:若确定存在处于空闲状态的CPU大核,则将子进程的调度参数初始化为CPU大核的参数,以使子进程在(PU大核上运行。
[0062]具体地,有两种实现方式:
[0063]在一种实现方式中,如果S102中,在判断出有一个处于空闲状态的CPU大核后,停止了扫描,则将子进程的调度参数初始化为该CPU大核的参数。举例来说,可以将子进程的调度参数中的缓存参数初始化为该CPU大核的缓存参数。在该子进程的调度参数初始化完成后,子进程创建完成。之后,该子进程会在该CPU大核上运行。
[0064]在另一种实现方式中,如果S102中,移动通信终端扫描了全部CPU的信息,判断出有多个处于空闲状态的CPU大核,则CPU依照预设的规则选择其中一个处于空闲状态的CPU大核。这里预设的规则可以是操作系统中预先设置的。例如,该预设的规则可以是选择一个工作频率最高的处于空闲状态的CPU大核,或者,该预设的规则可以是选择一个总线速度最快的处于空闲状态的CPU大核。在CHJ确定了CPU大核后,将子进程的调度参数初始化为该(PU大核的参数,以使子进程在该CPU大核上运行。
[0065]需要说明的是,在本发明实施例中,如果判断子进程不是应用程序启动时需要与用户交互的进程,则对该子进程进行正常的创建操作。
[0066]本发明实施例提供的移动通信终端进程创建方法,通过判断子进程是否是应用程序启动时需要与用户交互的进程,在确定子进程为应用程序启动时需要与用户交互的进程后,确定是否存在处于空闲状态的CHJ大核,若存在处于空闲状态的CPU大核,则将子进程的调度参数初始化为CPU大核的参数,以使子进程在CPU大核上运行,实现了在确定子进程为应用程序启动时需要与用户交互的进程后,如果存在处于空闲状态的CPU大核时,则使该子进程在CPU大核上运行,保证了应用程序启动时需要与用户交互的进程能在CPU大核上立即运行,从而,使得应用程序的启动瞬间能得到足够的CPU资源,提高应用程序的启动速度,进而,提高了用户体验。
[0067]进一步地,在图1所示实施例中,S102之前还包括确定子进程的PPID,则S102具体可以通过如下方式实现:根据子进程的PPID判断子进程是否是应用程序启动时需要与用户交互的进程。
[0068]子进程在被其父进程开始创建的时候,父进程会将包括自身进程号(ProcessIdentity;简称:PID)的所有数据复制给其孩子进程,即本发明实施例中的子进程。子进程将这些数据保存在自身的结构体中。其中,父进程的PID会成为子进程的PPID。因此,移动通信终端可以在子进程的结构体中获取子进程的PPID。在一种更具体的实现方式中,可以通过调用getppidO函数来获得子进程的PPID。
[0069]根据子进程的PPID判断子进程是否是应用程序启动时需要与用户交互的进程可以采用以下方式实现:若PPID不是守护(daemon)进程的PPID且不是内核进程的PPID^lH;!定子进程是应用程序启动时需要与用户交互的进程,若PPID是守护进程的PPID或者是内核进程的PPID,则确定子进程不是应用程序启动时需要与用户交互的进程。
[0070]在一种更具体的实现方式中,在Linux操作系统中,内核启动时,会创建两个特殊的进程,即PID为I的I号内核进程和PID为2的2号内核进程。其中,I号内核进程最后演变成I号用户进程ini t进程,ini t进程负责创建所有的daemon进程。2号内核进程叫作kthreadd进程,kthreadd进程负责创建所有内核进程。在此种实现方式中,daemon进程的PPID即为I,内核进程的PPID即为2。如果子进程的PPID既不是I也不是2,这表明其既不是被init进程创建的,也不是被kthreadd进程创建的,那该子进程一定是应用程序启动时需要与用户交互的进程。如果子进程的PPID是I或者是2,这表明该子进程是被init进程创建的或者是被kthreadd进程创建的。如前所述:1nit进程负责创建所有的daemon进程,kthreadd进程负责创建所有内核进程,则说明该子进程要么是daemon进程,要么是内核进程,即其不是应用程序启动时需要与用户交互的进程。
[0071]在本实现方式中,通过确定子进程的PPID,根据子进程的PPID判断子进程是否是应用程序启动时需要与用户交互的进程,若PPID不是守护进程的PPID且不是内核进程的PPID,则确定子进程是应用程序启动时需要与用户交互的进程,若PPID是守护进程的PPID或者是内核进程的PPID,则确定子进程不是应用程序启动时需要与用户交互的进程,在确定子进程是否为应用程序启动时需要与用户交互的进程的过程中,通过其PPID进行判断,实现方便、操作简单及判断速度较快,进一步提高了用户体验。
[0072]图2为本发明实施例提供的移动通信终端进程创建方法实施例二的流程示意图。本发明实施例在图1所示实施例的基础上,对S103之后的步骤进行详细说明。如图2所示,本实施例提供的移动通信终端进程创建方法包括如下步骤:
[0073]S201:判断子进程是否是应用程序启动时需要与用户交互的进程。
[0074]S202:若确定子进程为应用程序启动时需要与用户交互的进程,则判断是否存在处于空闲状态的CPU大核。
[0075]S201-S202与S101-S102的实现过程和技术原理类似,此处不再赘述。
[0076]S203:若确定不存在处于空闲状态的CHJ大核,则确定忙碌状态满足预设条件的CPUo
[0077]具体地,在S102中,若移动通信终端扫描完全部的CPU大核,发现全部的CPU大核都处于忙碌(busy)状态,则确定不存在处于空闲状态的CPU大核。
[0078]移动通信终端再确定忙碌状态满足预设条件的CPU。
[0079]在一种实现方式中,可以通过以下方式确定忙碌状态满足预设条件的CPU:确定各CPU上运行的负载的数量。确定运行的负载的数量小于预设阈值的CPU为忙碌状态满足预设条件的CPU。
[0080]移动通信终端可以扫描存储多个CPU的信息的数据结构来确定各CPU上运行的负载的数量。如果负载的数量小于预设阈值,则确定该CHJ为忙碌状态满足预设条件的CPU。预设阈值可以根据经验数据进行设置。负载的数量小于预设阈值说明该CPU还可以在满足应用程序启动速度的情况下运行子进程,而不影响用户体验。在确定有一个忙碌状态满足预设条件的CPU时,确定该忙碌状态满足预设条件的CPU为忙碌状态满足预设条件的CPU。在确定有多个忙碌状态满足预设条件的CPU时,移动通信终端依照预设的规则选择其中一个CPU。这里预设的规则可以是在多个忙碌状态满足预设条件的CPU中,选取一个负载数量最少的CPU作为最终确定的忙碌状态满足预设条件的CPU。或者,预设的规则可以是在多个忙碌状态满足预设条件的CPU中,选择负载数量最少的CPU大核作为最终确定的忙碌状态满足预设条件的CPU。
[0081]在另一种实现方式中,预设的条件可以是负载数量最小的CPU大核。在本实现方式中,只在CPU大核中选取一个负载数量最小的CPU大核作为最终确定的忙碌状态满足预设条件的CPU。
[0082]在又一种实现方式中,预设的条件可以是负载数量最小的CPU。确定各CPU上运行的负载的数量,确定负载数量最小的CPU为满足预设条件的CPU。其与上一种实现方式的区别在于,可以比较全部的CPU的负载的数量,选取一个负载数量最小的CPU作为最终确定的忙碌状态满足预设条件的CPU。最终确定的CPU可能是CPU大核,也可能是CPU小核。
[0083]S204:将子进程的调度参数初始化为满足预设条件的CPU参数,以使子进程在CPU上运行。
[0084]将子进程的调度参数初始化为满足预设条件的CPU的参数可以是将子进程的调度参数中的缓存参数初始化为该CPU的缓存参数,也可以是将该子进程的调度参数中的标识初始化为该CHJ的标识。在将子进程的调度参数初始化后,子进程的创建完成,之后,该子进程在该忙碌状态满足预设条件的CPU运行。
[0085]本发明实施例提供的移动通信终端进程创建方法中,在确定不存在处于空闲状态的CPU大核时,确定忙碌状态满足预设条件的CPU,将子进程的调度参数初始化为忙碌状态满足预设条件的CPU,以使子进程在该忙碌状态满足预设条件的CPU上运行,保证了在应用程序启动时需要与用户交互的进程能在很短的时间内被忙碌状态满足预设条件的CPU运行,不影响应用程序的启动速度,从而,提高了用户体验。
[0086]图3为本发明实施例提供的移动通信终端实施例一的结构示意图。如图3所示,本发明实施例提供的移动通信终端包括:
[0087]第一判断模块31,用于判断子进程是否是应用程序启动时需要与用户交互的进程。
[0088]其中,该移动通信终端包括多个CPU。
[0089]第二判断模块32,用于当确定子进程为应用程序启动时需要与用户交互的进程时,判断是否存在处于空闲状态的CHJ大核。
[0090]第一初始化模块33,用于当确定存在处于空闲状态的CPU大核时,将子进程的调度参数初始化为CHJ大核的参数,以使子进程在CPU大核上运行。
[0091]本发明实施例提供的移动通信终端具体可用于执行图1所示移动通信终端进程创建方法实施例,其实现过程和技术原理类似,此处不再赘述。
[0092]本发明实施例提供的移动通信终端,通过设置第一判断模块,用于判断子进程是否是应用程序启动时需要与用户交互的进程,第二判断模块,用于当确定子进程为应用程序启动时需要与用户交互的进程,判断是否存在处于空闲状态的CHJ大核,第一初始化模块,用于当确定存在处于空闲状态的CPU大核时,将该子进程的调度参数初始化为CPU大核的参数,以使子进程在CPU大核上运行,在确定了子进程为应用程序启动时需要与用户交互的进程后,如果存在处于空闲状态的CPU大核时,则使该子进程在该CPU大核上运行,保证了在应用程序启动时需要与用户交互的进程能被CPU大核立即运行,从而,使得应用程序的启动瞬间能得到足够的(PU资源,提高应用程序的启动速度,进而,提高了用户体验。
[0093]进一步地,在图1所示实施例的基础上,移动通信终端还包括:第一确定模块,用于确定子进程的PPID。第一判断模块包括:判断子模块,用于根据子进程的PPID判断子进程是否是应用程序启动时需要与用户交互的进程。判断子模块具体用于:若PPID不是守护进程的PPID且不是内核进程的PPID,则确定子进程是应用程序启动时需要与用户交互的进程;若PPID是守护进程的PPID或者是内核进程的PPID,则确定子进程不是应用程序启动时需要与用户交互的进程。
[0094]本实现方式中通过设置第一确定模块,用于确定子进程的PPID,判断子模块,具体用于:若PPID不是守护进程的PPID且不是内核进程的PPID,则确定所述子进程是应用程序启动时需要与用户交互的进程,若PPID是守护进程的PPID或者是内核进程的PPID,则确定所述子进程不是应用程序启动时需要与用户交互的进程,在确定子进程是否为应用程序启动时需要与用户交互的进程的过程中,通过其PPID进行判断,实现方便、操作简单及判断速度较快,进一步提高了用户体验。
[0095]图4为本发明实施例提供的移动通信终端实施例二的结构示意图。如图4所示,本发明实施例提供的移动通信终端在图3所示实施例的基础上,还包括:
[0096]第二确定模块41,用于当确定不存在处于空闲状态的CPU大核时,确定忙碌状态满足预设条件的CPU。
[0097]第二初始化模块42,用于将子进程的调度参数初始化为满足预设条件的CPU的参数,以使子进程在该(PU上运行。
[0098]第二确定模块41具体用于:确定各CPU上运行的负载的数量,确定运行的负载的数量小于预设阈值的CHJ为忙碌状态满足预设条件的CPU。或者,确定各CPU上运行的负载的数量,确定负载的数量最小的(PU为满足预设条件的CPU。
[0099]本发明实施例提供的移动通信终端具体可用于执行图2所示移动通信终端进程创建方法实施例,其实现过程和技术原理类似,此处不再赘述。
[0100]本发明实施例提供的移动通信终端,通过设置第二确定模块,用于当确定不存在处于空闲状态的CPU大核时,确定忙碌状态满足预设条件的CPU,第二初始化模块,用于将子进程的调度参数初始化为满足预设条件的CPU的参数,以使子进程在该CPU上运行,保证了在应用程序启动时需要与用户交互的进程能在很短的时间内被忙碌状态满足预设条件的CPU运行,不影响应用程序的启动速度,从而,提高了用户体验。
[0101]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0102]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【主权项】
1.一种移动通信终端进程创建方法,其特征在于,包括: 判断子进程是否是应用程序启动时需要与用户交互的进程;其中,所述移动通信终端包括多个中央处理器CPU; 若确定所述子进程为应用程序启动时需要与用户交互的进程,则判断是否存在处于空闲状态的CPU大核; 若确定存在处于空闲状态的CPU大核,则将所述子进程的调度参数初始化为所述CPU大核的参数,以使所述子进程在所述(PU大核上运行。2.根据权利要求1所述的方法,其特征在于,在判断子进程是否是应用程序启动时需要与用户交互的进程之前,所述方法还包括: 确定所述子进程的父进程进程号PPID; 所述判断子进程是否是应用程序启动时需要与用户交互的进程,包括: 根据所述子进程的PPID判断所述子进程是否是应用程序启动时需要与用户交互的进程。3.根据权利要求2所述的方法,其特征在于,所述根据所述子进程的PPID判断所述子进程是否是应用程序启动时需要与用户交互的进程,包括: 若所述PPID不是守护进程的PPID且不是内核进程的PPID,则确定所述子进程是应用程序启动时需要与用户交互的进程; 若所述PPID是守护进程的PPID或者是内核进程的PPID,则确定所述子进程不是应用程序启动时需要与用户交互的进程。4.根据权利要求1-3任一项所述的方法,其特征在于,若确定不存在处于空闲状态的CHJ大核,则所述方法还包括: 确定忙碌状态满足预设条件的CPU; 将所述子进程的调度参数初始化为所述满足预设条件的CPU的参数,以使所述子进程在所述CPU上运行。5.根据权利要求4所述的方法,其特征在于,所述确定忙碌状态满足预设条件的CPU,包括: 确定各CPU上运行的负载的数量,确定运行的负载的数量小于预设阈值的CPU为所述忙碌状态满足预设条件的CPU;或者, 确定各CHJ上运行的负载的数量,确定负载数量最小的CRJ为满足预设条件的CR]。6.一种移动通信终端,其特征在于,包括: 第一判断模块,用于判断子进程是否是应用程序启动时需要与用户交互的进程;其中,所述移动通信终端包括多个中央处理器CPU;; 第二判断模块,用于当确定所述子进程为应用程序启动时需要与用户交互的进程时,判断是否存在处于空闲状态的(PU大核; 第一初始化模块,用于当确定存在处于空闲状态的CPU大核时,将所述子进程的调度参数初始化为所述(PU大核的参数,以使所述子进程在所述CPU大核上运行。7.根据权利要求6所述的移动通信终端,其特征在于,所述移动通信终端还包括: 第一确定模块,用于确定所述子进程的父进程进程号PPID; 所述第一判断模块包括: 判断子模块,用于根据所述子进程的PPID判断所述子进程是否是应用程序启动时需要与用户交互的进程。8.根据权利要求7所述的移动通信终端,其特征在于,所述判断子模块具体用于:若所述PPID不是守护进程的PPID且不是内核进程的PPID,则确定所述子进程是应用程序启动时需要与用户交互的进程; 若所述PPID是守护进程的PPID或者是内核进程的PPID,则确定所述子进程不是应用程序启动时需要与用户交互的进程。9.根据权利要求6-8任一项所述的移动通信终端,其特征在于,所述移动通信终端还包括: 第二确定模块,用于当确定不存在处于空闲状态的CPU大核时,确定忙碌状态满足预设条件的CPU; 第二初始化模块,用于将所述子进程的调度参数初始化为所述满足预设条件的CPU的参数,以使所述子进程在所述(PU上运行。10.根据权利要求9所述的移动通信终端,其特征在于,所述第二确定模块具体用于: 确定各CPU上运行的负载的数量,确定运行的负载的数量小于预设阈值的CPU为所述忙碌状态满足预设条件的CPU;或者, 确定各CHJ上运行的负载的数量,确定负载的数量最小的CRJ为满足预设条件的CR]。
【文档编号】G06F9/48GK106020957SQ201610323155
【公开日】2016年10月12日
【申请日】2016年5月16日
【发明人】王永清
【申请人】青岛海信移动通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1