CN104536822A - 一种进程调度优化方法、进程执行方法及相关装置 - Google Patents
一种进程调度优化方法、进程执行方法及相关装置 Download PDFInfo
- Publication number
- CN104536822A CN104536822A CN201410855806.9A CN201410855806A CN104536822A CN 104536822 A CN104536822 A CN 104536822A CN 201410855806 A CN201410855806 A CN 201410855806A CN 104536822 A CN104536822 A CN 104536822A
- Authority
- CN
- China
- Prior art keywords
- core cpu
- group
- class process
- nonreciprocal
- interactive
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种进程调度优化方法、进程执行方法及相关装置,其中方法包括:对所述电子设备当前运行的进程进行分类,确定当前运行的进程中的交互类进程和非交互类进程;将交互类进程与第一组CPU核心进行执行绑定,以使所述第一组CPU核心执行所述交互类进程,及将非交互类进程与第二组CPU核心进行执行绑定,以使所述第二组CPU核心执行所述非交互类进程;其中,所述第一组CPU核心包括至少一个CPU核心,所述第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。本发明可实现交互类进程的执行与非交互类进程的执行之间的CPU资源竞争隔离,提升交互类进程的执行速度,提升用户的交互体验。
Description
技术领域
本发明涉及进程技术领域,具体涉及一种进程调度优化方法、进程执行方法及相关装置。
背景技术
进程是操作系统结构的基础,进程可认为是一次程序的执行,是一个程序及其数据在处理机上顺序执行时所发生的活动。目前进程主要可分为交互类进程和非交互类进程,交互类进程一般与当前用户交互界面直接相关,对于用户的交互体验而言尤其重要,非交互类进程一般不与当前用户交互界面直接相关。
目前交互类进程和非交互类进程的执行主要由电子设备的CPU核心实现,因此不可避免的出现非交互类进程与交互类进程竞争电子设备资源的情况,如一个交互类进程执行时,非交互类进程的执行可能对该交互类进程的执行产生干扰,导致交互类进程的执行过程被打断,执行速度变慢等问题,严重影响用户的交互体验;例如,用户点击当前用户交互界面的某一应用图标,想要打开该应用,而当前正好存在系统服务进程的执行,则系统服务进程的执行将导致应用打开的速度变慢,甚至被打断的情况。
发明内容
有鉴于此,本发明实施例提供一种进程调度优化方法、进程执行方法及相关装置,以解决现有技术中存在非交互类进程与交互类进程竞争电子设备资源的情况,所导致的影响用户的交互体验的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种进程调度优化方法,应用于具有多个CPU核心的电子设备,所述方法包括:
对所述电子设备当前运行的进程进行分类,确定当前运行的进程中的交互类进程和非交互类进程;
将交互类进程与第一组CPU核心进行执行绑定,以使所述第一组CPU核心执行所述交互类进程,及将非交互类进程与第二组CPU核心进行执行绑定,以使所述第二组CPU核心执行所述非交互类进程;
其中,所述第一组CPU核心包括至少一个CPU核心,所述第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。
其中,对所述电子设备当前运行的进程进行分类包括:
将当前运行的进程中前台进程和绘制交互界面的进程确定为交互类进程,将当前运行的进程中非前台进程和非绘制交互界面的进程确定为非交互类进程。
其中,所述将交互类进程与第一组CPU核心进行执行绑定包括:
当第一进程由非交互类进程变为交互类进程时,将第一进程与第一组CPU核心进行执行绑定,取消第一进程与第二组CPU核心的执行绑定;
所述将非交互类进程与第二组CPU核心进行执行绑定包括:
当第二进程由交互类进程变为非交互类进程时,将第二进程与第二组CPU核心进行执行绑定,取消第二进程与第一组CPU核心的执行绑定。
其中,所述方法还包括:
在确定当前运行的进程中的交互类进程和非交互类进程后,利用控制组cgroup对交互类进程和非交互类进程进行封装管理。
其中,所述方法还包括:以第一标识对交互类进程进行标识,以第二标识对非交互类进程进行标识,以第一CUP掩码对第一组CPU核心进行标识,以第二CUP掩码对第二组CPU核心进行标识;
所述将交互类进程与第一组CPU核心进行执行绑定包括:
建立第一标识与第一CUP掩码的执行绑定关系;
所述将非交互类进程与第二组CPU核心进行执行绑定包括:
建立第二标识与第二CUP掩码的执行绑定关系。
本发明实施例还提供一种进程执行方法,应用于具有多个CPU核心的电子设备,所述方法包括:
确定待执行进程;
若待执行进程的分类为交互类进程,根据设定的交互类进程与第一组CPU核心的执行绑定关系,采用第一组CPU核心执行所述待执行进程;
若待执行进程的分类为非交互类进程,根据非交互类进程与第二组CPU核心的执行绑定关系,采用第二组CPU核心执行所述待执行进程;
其中,所述第一组CPU核心包括至少一个CPU核心,所述第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。
本发明实施例还提供一种进程调度优化装置,应用于具有多个CPU核心的电子设备,所述装置包括:
分类模块,用于对所述电子设备当前运行的进程进行分类,确定当前运行的进程中的交互类进程和非交互类进程;
绑定模块,用于将交互类进程与第一组CPU核心进行执行绑定,以使所述第一组CPU核心执行所述交互类进程,及将非交互类进程与第二组CPU核心进行执行绑定,以使所述第二组CPU核心执行所述非交互类进程;
其中,所述第一组CPU核心包括至少一个CPU核心,所述第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。
其中,所述分类模块包括:
第一分类单元,用于将当前运行的进程中前台进程和绘制交互界面的进程确定为交互类进程,
第二分类单元,用于将当前运行的进程中非前台进程和非绘制交互界面的进程确定为非交互类进程。
其中,所述装置还包括:
标识模块,用于以第一标识对交互类进程进行标识,以第二标识对非交互类进程进行标识,以第一CUP掩码对第一组CPU核心进行标识,以第二CUP掩码对第二组CPU核心进行标识;
所述绑定模块包括:
第一绑定执行单元,用于建立第一标识与第一CUP掩码的执行绑定关系;
第二绑定执行单元,用于建立第二标识与第二CUP掩码的执行绑定关系。
本发明实施例还提供一种进程执行装置,应用于具有多个CPU核心的电子设备,所述装置包括:
进程确定模块,用于确定待执行进程;
第一执行模块,用于若待执行进程的分类为交互类进程,根据设定的交互类进程与第一组CPU核心的执行绑定关系,采用第一组CPU核心执行所述待执行进程;
第二执行模块,用于若待执行进程的分类为非交互类进程,根据非交互类进程与第二组CPU核心的执行绑定关系,采用第二组CPU核心执行所述待执行进程;
其中,所述第一组CPU核心包括至少一个CPU核心,所述第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。
基于上述技术方案,本发明实施例提供的进程调度优化方法,可在具有多个CPU核心的电子设备中实现,对电子设备当前运行的进程进行分类,确定当前运行的进程中的交互类进程和非交互类进程,进而将交互类进程与第一组CPU核心进行执行绑定,以使所述第一组CPU核心执行所述交互类进程,及将非交互类进程与第二组CPU核心进行执行绑定,以使所述第二组CPU核心执行所述非交互类进程,第一组CPU核心与第二组CPU核心不同。通过本发明实施例提供的进程调度优化方法,可使得执行交互类进程的CPU核心与执行非交互类进程的CPU核心不同,实现交互类进程的执行与非交互类进程的执行之间的CPU资源竞争隔离,避免交互类进程的执行被非交互类进程打断,提升交互类进程的执行速度,提升用户的交互体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的进程调度优化方法的流程图;
图2为本发明实施例提供的进程调度优化方法的另一流程图;
图3为本发明实施例提供的进程调度优化方法的再一流程图;
图4为本发明实施例提供的进程执行方法的流程图;
图5为本发明实施例提供的进程调度优化装置的结构框图;
图6为本发明实施例提供的分类模块的结构框图;
图7为本发明实施例提供的绑定模块的结构框图;
图8为本发明实施例提供的进程调度优化装置的另一结构框图;
图9为本发明实施例提供的进程调度优化装置的再一结构框图;
图10为本发明实施例提供的绑定模块的另一结构框图;
图11为本发明实施例提供的进程执行装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明针对多CPU核心的电子设备,将该多CPU核心进行分组,一组专用于执行交互类进程,另一组执行非交互类进程,将交互类进程和非交互类进程的执行进行区分,从而避免非交互类进程与交互类进程竞争资源的情况,提高用户交互体验。
本发明主要提供两部分内容:一、交互类进程与CPU核心组的配置策略,非交互类进程与CPU核心组的配置策略;二、交互类进程的执行方式,非交互类进程的执行方式。下面将作具体介绍。
图1为本发明实施例提供的进程调度优化方法的流程图,该方法可应用于具有多个CPU核心的电子设备,如多核手机,多核平板电脑,多核笔记本电脑等;参照图1,该方法可以包括:
步骤S100、对所述电子设备当前运行的进程进行分类,确定当前运行的进程中的交互类进程和非交互类进程;
当前运行的进程包括:前台进程、后台进程、系统服务进程等;分类包括:交互类进程和非交互类进程;交互类进程为与用户交互界面相关的进程,如电子设备屏幕正在显示的前台进程,用于绘制交互界面的进程(如Surfaceflinger进程),按键触摸执行进程或者语音识别引擎进程等;非交互类进程为与用户交互界面无关的其他系统服务进程,应用进程等。
作为一种可选的对当前运行的进程进行分类的方式,本发明实施例可将当前运行的进程中前台进程和绘制交互界面的进程确定为交互类进程;将当前运行的进程中剩余的其他非前台进程和非绘制交互界面的进程确定为非交互类进程。需要说明的是,这种分类方式均为一种可选方式,本发明实施例还可具有其他的交互类进程和非交互类进程的分类方式,如仅将前台进程确定为交互类进程,将后台进程确定为非交互类进程等,还可将按键触摸执行进程或者语音识别引擎进程添加入交互类进程等。
可选的,Surfaceflinger进程为绘制交互界面的进程的一种可选形式,SurfaceFlinger进程主要用于负责绘制Android应用程序的UI(用户界面);显然,对于IOS应用程序,WP应用程序,Windows程序均有各自绘制交互界面的进程,这些进程均可认为是交互类进程。
步骤S110、将交互类进程与第一组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核心与执行非交互类进程的CPU核心不同,实现交互类进程的执行与非交互类进程的执行之间的CPU资源竞争隔离,避免交互类进程的执行被非交互类进程打断,提升交互类进程的执行速度,提升用户的交互体验。
可选的,本发明实施例在确定当前运行的进程中的交互类进程和非交互类进程时,由于进程的类别有可能会随用户操作发生变化,如用户切换界面时,有可能上一刻所确定的交互类进程可能变为非交互类进程,如前台进程会在用户切换界面后变为后台进程;而上一刻所确的非交互类进程可能变为交互类进程,如后台进程可能会在用户切换界面后变为前台进程。因此本发明实施例需要实现动态的进程分类,动态的交互类进程与第一组CPU核心的执行绑定,及动态的非交互类进程与第二组CPU核心的执行绑定;从而在进程由非交互类进程转变为交互类进程时,将该进程分类为交互类进程,将该进程与第一组CPU核心进行执行绑定,并取消该进程与第二组CPU核心的执行绑定;在进程由交互类进程转变为非交互类进程时,将该进程分类为非交互类进程,将该进程与第二组CPU核心进行执行绑定,并取消该进程与第一组CPU核心的执行绑定。
图2示出了本发明实施例提供的进程调度优化方法的另一流程图,参照图2,该方法可以包括:
步骤S200、对所述电子设备当前运行的进程进行分类,确定当前运行的进程中的交互类进程和非交互类进程;
可选的,本发明实施例可将前台进程和绘制交互界面的进程分类为交互类进程,将非前台进程和非绘制交互界面的进程分类为非交互类进程;交互类进程还可为按键触摸执行进程或者语音识别引擎进程等与用户交互相关的进程。
步骤S210、当第一进程由非交互类进程变为交互类进程时,将第一进程与第一组CPU核心进行执行绑定,取消第一进程与第二组CPU核心的执行绑定;
本发明实施例中,交互类进程与第一组CPU核心进行执行绑定,其中包括进程类别由非交互类进程变为交互类进程的第一进程,第一进程表示的是进程属性由非交互类进程变为交互类进程的进程,如进程由后台进程变为前台进程,第一进程并不能认为是某一具体进程的名称;
第一进程原先为非交互类进程,因此与第二组CPU核心具有执行绑定关系,在转变为交互类进程后,本发明实施例需取消第一进程与第二组CPU核心的执行绑定,转为由第一组CPU核心与第一进程进行执行绑定。
步骤S220、当第二进程由交互类进程变为非交互类进程时,将第二进程与第二组CPU核心进行执行绑定,取消第二进程与第一组CPU核心的执行绑定。
本发明实施例中,非交互类进程与第二组CPU核心进行执行绑定,其中包括进程类别由交互类进程变为非交互类进程的第二进程,第二进程表示的是进程属性由交互类进程变为非交互类进程的进程,如进程由前台进程变为后台进程,第二进程并不能认为是某一具体进程的名称;
第二进程原先为交互类进程,因此与第一组CPU核心具有执行绑定关系,在转变为非交互类进程后,本发明实施例需取消第二进程与第一组CPU核心的执行绑定,转为由第二组CPU核心与第二进程进行执行绑定。
其中,第一组CPU核心与第二组CPU核心不同。
可选的,图2所示方法在进行动态调整进程与第一组CPU核心和第二组CPU核心的执行绑定关系时,可通过Activity的onCreate方法,进行添加进程与第一组CPU核心的执行绑定关系的操作,通过Activity的onStop方法添加进程与第二组CPU核心的执行绑定关系的操作。
可选的,在确定当前运行的进程中的交互类进程和非交互类进程后,本发明实施例还可采用cgroup对交互类进程和非交互类进程进行封装管理;cgroup(control groups,控制组),是Linux内核提供的一种可以限制、记录、隔离进程组所使用的物理资源的机制。
可选的,本发明实施例可通过对交互类进程和非交互类进程设置不同标识,对第一组CPU核心和第二组CPU核心设置不同CUP掩码,通过标识与CPU掩码的绑定,实现交互类进程与第一组CPU核心的执行绑定,与非交互类进程与第二组CPU核心的执行绑定。
图3示出了本发明实施例提供的进程调度优化方法的再一流程图,参照图3,该方法可以包括:
步骤S300、对所述电子设备当前运行的进程进行分类,确定当前运行的进程中的交互类进程和非交互类进程;
步骤S310、以第一标识对交互类进程进行标识,以第二标识对非交互类进程进行标识,以第一CUP掩码对第一组CPU核心进行标识,以第二CUP掩码对第二组CPU核心进行标识;
可选的,本发明实施例可以UI_Groups表示第一标识,Normal_Group表示第二标识,如在将前台进程和Surfaceflinger进程等划分为交互类进程后,可设置交互类进程的标识名称为UI_Group,将剩余的其他进程划分为非交互类进程后,可设置非交互类进程的标识名称为Normal_Group,之后可采用cgroup机制对交互类进程和非交互类进程进行封装。
可选的,本发明实施例可以ui_mask表示第一CPU掩码,即专门用于执行交互类进程的交互响应核心组(第一组CPU核心)对应的CPU掩码为ui_mask;可采用normal_mask表示第二CPU掩码,即专门用于执行非交互类进程的非交互响应核心组(第二组CPU核心)对应的CPU掩码为normal_mask。
步骤S320、建立第一标识与第一CUP掩码的执行绑定关系,建立第二标识与第二CUP掩码的执行绑定关系。
通过建立第一标识与第一CUP掩码的执行绑定关系,如UI_Groups与ui_mask的执行绑定关系,本发明实施例可实现交互类进程与第一组CPU核心的执行绑定;通过建立第二标识与第二CUP掩码的执行绑定关系,如Normal_Group与normal_mask的执行绑定关系,本发明实施例可实现非交互类进程与第二组CPU核心的执行绑定;从而实现交互类进程的执行与非交互类进程的执行之间的CPU资源竞争隔离。
可选的,在执行进程与CPU核心组的绑定时,本发明实施例可利用cgroup的cpuset子系统实现指定交互类进程与第一组CPU核心的执行绑定,及非交互类进程与第二组CPU核心的执行绑定;可选的,也可利用Linux系统调用sched_setaffinity(pid,size,cpu_mask)方法,实现指定交互类进程与第一组CPU核心的执行绑定,及非交互类进程与第二组CPU核心的执行绑定。
本发明实施例提供的进程调度优化方法,可使得执行交互类进程的CPU核心与执行非交互类进程的CPU核心不同,实现交互类进程的执行与非交互类进程执行之间的CPU资源竞争隔离,避免交互类进程的执行被非交互类进程打断,提升交互类进程的执行速度,提升用户的交互体验。
本发明实施例提供的进程执行方法可基于上文描述的进程调度优化方法,即在已建立交互类进程与第一组CPU核心的执行绑定,非交互类进程与第二组CPU核心的执行绑定的基础上(执行绑定存在动态变化的情况,具体如前文图2所示),实现进程执行。
图4为本发明实施例提供的进程执行方法的流程图,该方法可应用于具有多个CPU核心的电子设备,参照图4,该方法可以包括:
步骤S400、确定待执行进程;
步骤S410、若待执行进程的分类为交互类进程,根据设定的交互类进程与第一组CPU核心的执行绑定关系,采用第一组CPU核心执行所述待执行进程;
进程为交互类进程的确定方式,交互类进程与第一组CPU核心的执行绑定关系的设定方式可如前文所述,此处不再赘述。
步骤S420、若待执行进程的分类为非交互类进程,根据非交互类进程与第二组CPU核心的执行绑定关系,采用第二组CPU核心执行所述待执行进程。
其中,第一组CPU核心包括至少一个CPU核心,第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。
进程为非交互类进程的确定方式,非交互类进程与第二组CPU核心的执行绑定关系的设定方式可如前文所述,此处不再赘述。
本发明实施例提供的进程执行方法,采用不同的CPU核心执行交互类进程与非交互类进程,实现交互类进程的执行与非交互类进程的执行之间的CPU资源竞争隔离,避免交互类进程的执行被非交互类进程打断,提升交互类进程的执行速度,提升用户的交互体验。
下面对本发明实施例提供的进程调度优化装置进行介绍,下文描述的进程调度优化装置可与上文描述的进程调度优化方法相互对应参照。
图5为本发明实施例提供的进程调度优化装置的结构框图,该装置可应用于具有多个CPU核心的电子设备,参照图5,该装置可以包括:
分类模块100,用于对所述电子设备当前运行的进程进行分类,确定当前运行的进程中的交互类进程和非交互类进程;
绑定模块200,用于将交互类进程与第一组CPU核心进行执行绑定,以使所述第一组CPU核心执行所述交互类进程,及将非交互类进程与第二组CPU核心进行执行绑定,以使所述第二组CPU核心执行所述非交互类进程;
其中,所述第一组CPU核心包括至少一个CPU核心,所述第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。
在本发明实施例中,分类模块100主要用于进行交互类进程与非交互类进程的区分和动态管理,可随着用户进程的交互属性变化动态的将进程在不同类别间进行调整。
绑定模块200主要用于负责将交互响应核心组(第一组CPU核心)与交互类进程的绑定,非交互响应核心组(第二组CPU核心)和非交互类进程的绑定,并根据进程属性的变化而动态的进行调整,如当交互类前台进程变为非交互类后台进程,需要动态的将该进程与交互响应核心组的绑定,改变为与非交互响应核心组的绑定。
可选的,图6示出了本发明实施例提供的分类模块100的一种可选结构,参照图6,分类模块100可以包括:
第一分类单元1001,用于将当前运行的进程中前台进程和绘制交互界面的进程确定为交互类进程,
第二分类单元1002,用于将当前运行的进程中非前台进程和非绘制交互界面的进程确定为非交互类进程。
可选的,分类模块100还可实现动态进程类别确定,具体可用于当第一进程由非交互类进程变为交互类进程时,将第一进程的分类由非交互类进程变为交互类进程,当第二进程由交互类进程变为非交互类进程时,将第二进程的分类由交互类进程变为非交互类进程。
可选的,图7示出了本发明实施例提供的绑定模块200的一种可选结构,绑定模块200可根据进程类别的动态调整,实现执行绑定关系的动态调整;参照图7,绑定模块200可以包括:
第一绑定调整单元2001,用于当第一进程由非交互类进程变为交互类进程时,将第一进程与第一组CPU核心进行执行绑定,取消第一进程与第二组CPU核心的执行绑定;
第二绑定调整单元2002,用于当第二进程由交互类进程变为非交互类进程时,将第二进程与第二组CPU核心进行执行绑定,取消第二进程与第一组CPU核心的执行绑定。
可选的,图8示出了本发明实施例提供的进程调度优化装置的另一结构框图,结合图5和图8所示,该装置还可以包括:
封装管理模块300,用于在确定当前运行的进程中的交互类进程和非交互类进程后,利用cgroup对交互类进程和非交互类进程进行封装管理。
可选的,图9示出了本发明实施例提供的进程调度优化装置的再一结构框图,结合图5和图9所示,该装置还可以包括:
标识模块400,用于以第一标识对交互类进程进行标识,以第二标识对非交互类进程进行标识,以第一CUP掩码对第一组CPU核心进行标识,以第二CUP掩码对第二组CPU核心进行标识。
对应的,图10示出了本发明实施例提供的绑定模块200的另一种可选结构,参照图10,绑定模块200可以包括:
第一绑定执行单元2011,用于建立第一标识与第一CUP掩码的执行绑定关系;
第二绑定执行单元2012,用于建立第二标识与第二CUP掩码的执行绑定关系。
本发明实施例提供的进程调度优化装置可实现交互类进程的执行与非交互类进程的执行之间的CPU资源竞争隔离,避免交互类进程的执行被非交互类进程打断,提升交互类进程的执行速度,提升用户的交互体验。
可选的,本发明实施例还提供一种具体上述所述的进程调度优化装置的电子设备,该电子设备具有多个CPU核心。
下面对本发明实施例提供的进程执行装置进行介绍,下文描述的进程执行装置可与上文描述的进程执行方法相互对应参照。
图11为本发明实施例提供的进程执行装置的结构框图,该装置可应用于具有多个CPU核心的电子设备,参照图11,该装置可以包括:
进程确定模块10,用于确定待执行进程;
第一执行模块20,用于若待执行进程的分类为交互类进程,根据设定的交互类进程与第一组CPU核心的执行绑定关系,采用第一组CPU核心执行所述待执行进程;
第二执行模块30,用于若待执行进程的分类为非交互类进程,根据非交互类进程与第二组CPU核心的执行绑定关系,采用第二组CPU核心执行所述待执行进程;
其中,所述第一组CPU核心包括至少一个CPU核心,所述第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。
本发明实施例还可提供一种具有上述所述进程执行装置的电子设备,该电子设备可具有多个CPU核心,该电子设备可在确定待执行进程为交互类进程时,以第一组CPU核心对所述待执行进程进行执行,在确定执行进程为非交互类进程时,以第二组CPU核心对所述待执行进程进行执行;实现交互类进程的执行与非交互类进程的执行之间的CPU资源竞争隔离,提升交互类进程的执行速度,提升用户的交互体验。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种进程调度优化方法,其特征在于,应用于具有多个CPU核心的电子设备,所述方法包括:
对所述电子设备当前运行的进程进行分类,确定当前运行的进程中的交互类进程和非交互类进程;
将交互类进程与第一组CPU核心进行执行绑定,以使所述第一组CPU核心执行所述交互类进程,及将非交互类进程与第二组CPU核心进行执行绑定,以使所述第二组CPU核心执行所述非交互类进程;
其中,所述第一组CPU核心包括至少一个CPU核心,所述第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。
2.根据权利要求1所述的进程调度优化方法,其特征在于,对所述电子设备当前运行的进程进行分类包括:
将当前运行的进程中前台进程和绘制交互界面的进程确定为交互类进程,将当前运行的进程中非前台进程和非绘制交互界面的进程确定为非交互类进程。
3.根据权利要求1或2所述的进程调度优化方法,其特征在于,所述将交互类进程与第一组CPU核心进行执行绑定包括:
当第一进程由非交互类进程变为交互类进程时,将第一进程与第一组CPU核心进行执行绑定,取消第一进程与第二组CPU核心的执行绑定;
所述将非交互类进程与第二组CPU核心进行执行绑定包括:
当第二进程由交互类进程变为非交互类进程时,将第二进程与第二组CPU核心进行执行绑定,取消第二进程与第一组CPU核心的执行绑定。
4.根据权利要求1-3任一项所述的进程调度优化方法,其特征在于,还包括:
在确定当前运行的进程中的交互类进程和非交互类进程后,利用控制组cgroup对交互类进程和非交互类进程进行封装管理。
5.根据权利要求1所述的进程调度优化方法,其特征在于,所述方法还包括:以第一标识对交互类进程进行标识,以第二标识对非交互类进程进行标识,以第一CUP掩码对第一组CPU核心进行标识,以第二CUP掩码对第二组CPU核心进行标识;
所述将交互类进程与第一组CPU核心进行执行绑定包括:
建立第一标识与第一CUP掩码的执行绑定关系;
所述将非交互类进程与第二组CPU核心进行执行绑定包括:
建立第二标识与第二CUP掩码的执行绑定关系。
6.一种进程执行方法,其特征在于,应用于具有多个CPU核心的电子设备,所述方法包括:
确定待执行进程;
若待执行进程的分类为交互类进程,根据设定的交互类进程与第一组CPU核心的执行绑定关系,采用第一组CPU核心执行所述待执行进程;
若待执行进程的分类为非交互类进程,根据非交互类进程与第二组CPU核心的执行绑定关系,采用第二组CPU核心执行所述待执行进程;
其中,所述第一组CPU核心包括至少一个CPU核心,所述第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。
7.一种进程调度优化装置,其特征在于,应用于具有多个CPU核心的电子设备,所述装置包括:
分类模块,用于对所述电子设备当前运行的进程进行分类,确定当前运行的进程中的交互类进程和非交互类进程;
绑定模块,用于将交互类进程与第一组CPU核心进行执行绑定,以使所述第一组CPU核心执行所述交互类进程,及将非交互类进程与第二组CPU核心进行执行绑定,以使所述第二组CPU核心执行所述非交互类进程;
其中,所述第一组CPU核心包括至少一个CPU核心,所述第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。
8.根据权利要求7所述的进程调度优化装置,其特征在于,所述分类模块包括:
第一分类单元,用于将当前运行的进程中前台进程和绘制交互界面的进程确定为交互类进程,
第二分类单元,用于将当前运行的进程中非前台进程和非绘制交互界面的进程确定为非交互类进程。
9.根据权利要求7或8所述的进程调度优化装置,其特征在于,所述装置还包括:
标识模块,用于以第一标识对交互类进程进行标识,以第二标识对非交互类进程进行标识,以第一CUP掩码对第一组CPU核心进行标识,以第二CUP掩码对第二组CPU核心进行标识;
所述绑定模块包括:
第一绑定执行单元,用于建立第一标识与第一CUP掩码的执行绑定关系;
第二绑定执行单元,用于建立第二标识与第二CUP掩码的执行绑定关系。
10.一种进程执行装置,其特征在于,应用于具有多个CPU核心的电子设备,所述装置包括:
进程确定模块,用于确定待执行进程;
第一执行模块,用于若待执行进程的分类为交互类进程,根据设定的交互类进程与第一组CPU核心的执行绑定关系,采用第一组CPU核心执行所述待执行进程;
第二执行模块,用于若待执行进程的分类为非交互类进程,根据非交互类进程与第二组CPU核心的执行绑定关系,采用第二组CPU核心执行所述待执行进程;
其中,所述第一组CPU核心包括至少一个CPU核心,所述第二组CPU核心包括至少一个CPU核心,第一组CPU核心与第二组CPU核心不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410855806.9A CN104536822B (zh) | 2014-12-31 | 2014-12-31 | 一种进程调度优化方法、进程执行方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410855806.9A CN104536822B (zh) | 2014-12-31 | 2014-12-31 | 一种进程调度优化方法、进程执行方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104536822A true CN104536822A (zh) | 2015-04-22 |
CN104536822B CN104536822B (zh) | 2018-03-23 |
Family
ID=52852354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410855806.9A Active CN104536822B (zh) | 2014-12-31 | 2014-12-31 | 一种进程调度优化方法、进程执行方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104536822B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020957A (zh) * | 2016-04-27 | 2016-10-12 | 青岛海信移动通信技术股份有限公司 | 移动通信终端进程创建方法和移动通信终端 |
CN106095592A (zh) * | 2016-05-31 | 2016-11-09 | 广东欧珀移动通信有限公司 | 一种前景应用程序场景同步方法及装置、系统 |
CN106569898A (zh) * | 2016-11-22 | 2017-04-19 | 珠海市魅族科技有限公司 | 一种资源分配的方法以及移动终端 |
CN108241527A (zh) * | 2016-12-26 | 2018-07-03 | 成都理想境界科技有限公司 | 一种任务调度方法及电子设备 |
CN109491715A (zh) * | 2018-11-06 | 2019-03-19 | 深圳市风云实业有限公司 | 基于Windows NT的应用管理方法、装置及终端 |
CN109947569A (zh) * | 2019-03-15 | 2019-06-28 | Oppo广东移动通信有限公司 | 绑定核心的方法、装置、终端及存储介质 |
CN110008027A (zh) * | 2019-04-09 | 2019-07-12 | Oppo广东移动通信有限公司 | 进程的运行方法、装置、终端及存储介质 |
CN111247515A (zh) * | 2017-10-18 | 2020-06-05 | 思科技术公司 | 用于提供基于性能的分组调度器的装置和方法 |
CN114791857A (zh) * | 2021-01-25 | 2022-07-26 | 青岛海信宽带多媒体技术有限公司 | 一种家庭网关多核cpu处理器的控制方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841815A (zh) * | 2012-07-12 | 2012-12-26 | 北京航空航天大学 | 一种numa体系结构自适应的进程分类绑定方法 |
CN103076971A (zh) * | 2012-12-29 | 2013-05-01 | 北京风灵创景科技有限公司 | 移动终端的进程管理方法和移动终端 |
US20130151464A1 (en) * | 2011-12-07 | 2013-06-13 | Alexander Hermann | Parallel processing of semantically grouped data in data warehouse environments |
CN103246511A (zh) * | 2013-05-03 | 2013-08-14 | 惠州Tcl移动通信有限公司 | 一种用于移动终端处理可疑骚扰信息的方法及移动终端 |
US20140013331A1 (en) * | 2011-03-19 | 2014-01-09 | Fujitsu Limited | Terminal device, process management method, and recording medium |
CN103577301A (zh) * | 2012-07-20 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种显示进程信息的方法和终端 |
-
2014
- 2014-12-31 CN CN201410855806.9A patent/CN104536822B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140013331A1 (en) * | 2011-03-19 | 2014-01-09 | Fujitsu Limited | Terminal device, process management method, and recording medium |
US20130151464A1 (en) * | 2011-12-07 | 2013-06-13 | Alexander Hermann | Parallel processing of semantically grouped data in data warehouse environments |
CN102841815A (zh) * | 2012-07-12 | 2012-12-26 | 北京航空航天大学 | 一种numa体系结构自适应的进程分类绑定方法 |
CN103577301A (zh) * | 2012-07-20 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种显示进程信息的方法和终端 |
CN103076971A (zh) * | 2012-12-29 | 2013-05-01 | 北京风灵创景科技有限公司 | 移动终端的进程管理方法和移动终端 |
CN103246511A (zh) * | 2013-05-03 | 2013-08-14 | 惠州Tcl移动通信有限公司 | 一种用于移动终端处理可疑骚扰信息的方法及移动终端 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020957A (zh) * | 2016-04-27 | 2016-10-12 | 青岛海信移动通信技术股份有限公司 | 移动通信终端进程创建方法和移动通信终端 |
CN106095592A (zh) * | 2016-05-31 | 2016-11-09 | 广东欧珀移动通信有限公司 | 一种前景应用程序场景同步方法及装置、系统 |
CN106569898A (zh) * | 2016-11-22 | 2017-04-19 | 珠海市魅族科技有限公司 | 一种资源分配的方法以及移动终端 |
CN108241527A (zh) * | 2016-12-26 | 2018-07-03 | 成都理想境界科技有限公司 | 一种任务调度方法及电子设备 |
CN108241527B (zh) * | 2016-12-26 | 2021-10-08 | 成都理想境界科技有限公司 | 一种任务调度方法及电子设备 |
CN111247515A (zh) * | 2017-10-18 | 2020-06-05 | 思科技术公司 | 用于提供基于性能的分组调度器的装置和方法 |
CN109491715A (zh) * | 2018-11-06 | 2019-03-19 | 深圳市风云实业有限公司 | 基于Windows NT的应用管理方法、装置及终端 |
CN109491715B (zh) * | 2018-11-06 | 2021-10-22 | 深圳市风云实业有限公司 | 基于Windows NT的应用管理方法、装置及终端 |
CN109947569A (zh) * | 2019-03-15 | 2019-06-28 | Oppo广东移动通信有限公司 | 绑定核心的方法、装置、终端及存储介质 |
CN109947569B (zh) * | 2019-03-15 | 2021-04-06 | Oppo广东移动通信有限公司 | 绑定核心的方法、装置、终端及存储介质 |
CN110008027A (zh) * | 2019-04-09 | 2019-07-12 | Oppo广东移动通信有限公司 | 进程的运行方法、装置、终端及存储介质 |
CN114791857A (zh) * | 2021-01-25 | 2022-07-26 | 青岛海信宽带多媒体技术有限公司 | 一种家庭网关多核cpu处理器的控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104536822B (zh) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104536822A (zh) | 一种进程调度优化方法、进程执行方法及相关装置 | |
US10282284B2 (en) | Test method, system, and device, and readable storage medium | |
WO2018099299A1 (zh) | 一种图数据处理的方法、装置及系统 | |
US11747973B2 (en) | Rule-based user interface layout rearrangement | |
CN105474160A (zh) | 高性能触摸拖放 | |
CN103577322B (zh) | 一种点击测试方法和装置 | |
CN107239329A (zh) | 云环境下统一资源调度方法及系统 | |
CN106327540B (zh) | 基于OpenGL View的控制方法、装置及终端 | |
CN104506941B (zh) | 智能电视中按键事件的处理方法及装置 | |
CN104572301A (zh) | 一种资源分配方法和系统 | |
CN103559087A (zh) | 一种虚拟处理器之间的中断的实现方法、相关装置和系统 | |
CN103856548A (zh) | 动态资源调度方法和动态资源调度器 | |
CN111744181B (zh) | 游戏中信息的显示方法、装置、游戏客户端及介质 | |
WO2023098614A1 (zh) | 一种云实例的扩缩容方法及其相关设备 | |
CN106202307A (zh) | 一种批量日志保存方法及装置 | |
CN102629231A (zh) | 一种检测任务堆栈的方法 | |
CN109144715A (zh) | 一种资源优化与更新的方法、服务器及设备 | |
CN111159124B (zh) | Linux内核文件系统异步写缓存方法、装置及介质 | |
CN107239194A (zh) | 界面显示方法及装置 | |
US10908813B2 (en) | Method, computer program product and device for determining input regions on a graphical user interface | |
JP6175682B2 (ja) | 効率的なカスケードオペレーションの実現 | |
CN111801647A (zh) | 一种基于悬浮按钮的快捷操作方法、装置及电子设备 | |
CN106575177B (zh) | 触摸屏报点数量的控制方法和终端 | |
US20150007117A1 (en) | Self-revealing symbolic gestures | |
CN107229472A (zh) | 一种界面切换方法及装置、计算机装置和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 101-105, floor 1, Chuangda building, No. 9, Qinghua East Road, Haidian District, Beijing 100083 (Dongsheng District) Patentee after: Thunder Software Technology Co., Ltd. Address before: 100191 Beijing Haidian District Lung Cheung Road No. 1 Tai Xiang business building 4 layer 401-409 Patentee before: Thunder Software Technology Co., Ltd. |