一种资源调度方法及相关设备技术

技术编号:37445720 阅读:10 留言:0更新日期:2023-05-06 09:17
本申请提供了一种资源调度方法及相关设备。根据该资源调度方法,运行在电子设备中的进程L1可以向进程L2请求binder,在进程L2对应的binder线程池没有空闲的binder的情况下,电子设备可以提升该binder线程池中的binder线程的优先级,还可以提升CPU频率。在这种情况下,电子设备可以将CPU资源优先调度给紧急的任务,从而避免了卡顿等问题的出现。从而避免了卡顿等问题的出现。从而避免了卡顿等问题的出现。

【技术实现步骤摘要】
一种资源调度方法及相关设备


[0001]本申请涉及终端
,尤其涉及一种资源调度方法及相关设备。

技术介绍

[0002]安卓(Android)系统是当前主流的操作系统之一。Android系统中的多个应用程序在前台运行时,常常出现多任务并发和高负载的情况,导致资源调度器工作繁忙,有一些任务无法及时响应,尤其是前台紧急任务无法及时获得所需的中央处理器(Central Processing Unit,CPU)资源,从而出现卡顿等情况,严重影响用户体验。
[0003]因此,如何在多任务并发的情况下合理进行资源调度是目前亟待解决的问题。

技术实现思路

[0004]本申请提供了一种资源调度方法及相关设备。根据该资源调度方法,运行在电子设备中的进程L1可以向进程L2请求binder,在进程L2对应的binder线程池没有空闲的binder的情况下,电子设备可以提升该binder线程池中的binder线程的优先级,还可以提升CPU频率。在这种情况下,电子设备可以将CPU资源优先调度给紧急的任务,从而避免了卡顿等问题的出现。
[0005]第一方面,本申请提供了一种资源调度方法。该方法可以应用于运行有第一进程和第二进程的电子设备。第二进程可以包括若干binder线程。该方法可以包括:响应于第一进程的binder请求,电子设备确定第一binder线程池中是否存在空闲的binder线程;在第一binder线程池中不存在空闲的binder线程的情况下,电子设备从第一binder线程池中选择第一binder线程,并提升第一binder线程的优先级和/或提升CPU频率。其中,binder请求用于向第二进程请求binder线程。第一binder线程池为第二进程对应的binder线程池。
[0006]在本申请提供的方案中,第一进程可以向第二进程发送binder请求。电子设备可以检测到该binder请求,响应于该binder请求,电子设备可以确定第二进程对应的binder线程池(即第一binder线程池)中是否存在空闲的binder线程,并在第二进程对应的binder线程池中不存在空闲的binder线程的情况下,从该binder线程池中选择一个binder线程,并提高该binder线程的优先级和/或提升CPU频率。通过这种方式,电子设备可以加快当前任务的执行以使得第一进程能尽快得到空闲的binder来与第二进程进行通信,即更快地将CPU资源调度给第一进程对应的任务。
[0007]在本申请的一些实施例中,第一进程可以为进程L1。第二进程可以为L2。第一binder线程池可以为binder线程池

1。
[0008]在本申请的一些实施例中,第一binder线程可以为binder

1。
[0009]在本申请的一些实施例中,第一binder线程可以为binder

3。
[0010]在本申请的一些实施例中,第一binder线程可以为binder

5。
[0011]在本申请的一些实施例中,第一binder线程可以为binder

7。
[0012]结合第一方面,在一种可能的实现方式中,电子设备从第一binder线程池中选择
第一binder线程,具体可以包括:电子设备从第一binder线程池中的当前对应的CPU为大核CPU的binder线程中选择第一binder线程。
[0013]在本申请提供的方案中,电子设备可以从第一binder线程池中的当前对应的CPU为大核CPU的binder线程中选择第一binder线程,这样,第一binder线程的优先级提高和/或CPU频率提高后,第一binder线程能尽快处理完当前任务,从而空闲下来。
[0014]在本申请的一些实施例中,电子设备执行步骤S302时,可以首先从第一binder线程池中的当前对应的CPU为大核CPU的binder线程中选择第一binder线程。
[0015]在本申请的一些实施例中,电子设备执行步骤S402时,可以首先从第一binder线程池中的当前对应的CPU为大核CPU的binder线程中选择第一binder线程。
[0016]结合第一方面,在一种可能的实现方式中,第一binder线程为第一binder线程池中的任意一个binder线程。
[0017]在本申请提供的方案中,电子设备可以从第一binder线程池中任意选择一个binder线程作为第一binder线程。
[0018]结合第一方面,在一种可能的实现方式中,电子设备从第一binder线程池中选择第一binder线程,具体可以包括:在第一binder线程池中存在处于等待状态的binder线程的情况下,电子设备可以从第一binder线程池中的处于等待状态的binder线程中选择第一binder线程;在第一binder线程池中不存在处于等待状态的binder线程的情况下,电子设备可以从第一binder线程池中的处于运行状态的binder线程中选择第一binder线程。
[0019]在本申请提供的方案中,电子设备可以优先选择处于等待状态的binder线程作为第一binder线程,而在第一binder线程池中不存在处于等待状态的binder线程的情况下,才选择处于运行状态的binder线程作为第一binder线程。通过这种方式,电子设备可以在尽可能减少对正在执行的任务的影响的情况下,尽快地执行进程L1对应的任务。
[0020]在本申请的一些实施例中,如步骤S203,在第一binder线程池中存在处于等待状态的binder线程的情况下,第一binder线程可以为binder

1。
[0021]在本申请的一些实施例中,如步骤S206,在第一binder线程池中不存在处于等待状态的binder线程的情况下,第一binder线程可以为binder

3。
[0022]需要说明的是,在本申请提供的方案中,电子设备还可以优先选择处于运行状态的binder线程作为第一binder线程,而在第一binder线程池中不存在处于运行状态的binder线程的情况下,才选择处于等待状态的binder线程作为第一binder线程。
[0023]结合第一方面,在一种可能的实现方式中,电子设备提升第一binder线程的优先级和/或提升CPU频率,具体可以包括:电子设备提升第一binder线程的优先级和/或第一binder线程对应的任务的uclamp最小值。其中,随着第一binder线程对应的任务的uclamp最小值的提升,第一binder线程运行时的CPU频率也相应提升。
[0024]在本申请提供的方案中,电子设备可以通过提升第一binder线程对应的任务的uclamp最小值来提升CPU频率。
[0025]在一种实现方式中,电子设备可以通过换核的方式来提升CPU频率。比如,电子设备可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源调度方法,其特征在于,应用于运行有第一进程和第二进程的电子设备;所述第二进程包括若干binder线程;所述方法包括:响应于所述第一进程的binder请求,所述电子设备确定第一binder线程池中是否存在空闲的binder线程;所述binder请求用于向所述第二进程请求binder线程;所述第一binder线程池为所述第二进程对应的binder线程池;在所述第一binder线程池中不存在空闲的binder线程的情况下,所述电子设备从所述第一binder线程池中选择第一binder线程,并提升所述第一binder线程的优先级和/或提升CPU频率。2.如权利要求1所述的方法,其特征在于,所述电子设备从所述第一binder线程池中选择第一binder线程,具体包括:所述电子设备从所述第一binder线程池中的当前对应的CPU为大核CPU的binder线程中选择所述第一binder线程。3.如权利要求1所述的方法,其特征在于,所述第一binder线程为所述第一binder线程池中的任意一个binder线程。4.如权利要求1所述的方法,其特征在于,所述电子设备从所述第一binder线程池中选择第一binder线程,具体包括:在所述第一binder线程池中存在处于等待状态的binder线程的情况下,所述电子设备从所述第一binder线程池中的处于等待状态的binder线程中选择所述第一binder线程;在所述第一binder线程池中不存在处于等待状态的binder线程的情况下,所述电子设备从所述第一binder线程池中的处于运行状态的binder线程中选择所述第一binder线程。5.如权利要求1

4任一项所述的方法,其特征在于,所述提升所述第一binder线程的优先级和/或提升CPU频率,具体包括:所述电子设备提升所述第一binder线程的优先级和/或所述第一binder线程对应的任务的uclamp最小值;其中,随着所述第一binder线程对应的任务的uclamp最小值的提升,所述第一binder线程运行时的CPU频率也相应提升。6.如权利要求5所述的方法,其特征在于,所述电子设备提升所述第一binder线程的优先级和/或所述第一binder线程对应的任务的uclamp最小值,具体包括:在所述第一binder线程为处于等待状态的binder线程的情况下,所述电子设备提升所述第一binder线程的优先级;在所述第一binder线程为处于运行状态的binder线程的情况下,所述电子设备提升所述第一binder线程对应的任务的uclamp最小值。7.如权利要求5或6所述的方法,其特征在于,所述方法还包括:在提升所述第一binder线程的优先级的情况下,若提升所述第一binder线程的优先级的时间达到第一时间,且所述第一进程的binder请求未得到响应,所述电子设备再次提升所述第一binder线程的优先级;在提升所述第一binder线程对应的任务的uclamp最小值的情况下,若提升所述第一binder线程对应的任务的uclamp最小值的时间达到第二时间,且所述第一进程的binder请求未得到响应,所述电子设备再次提升所述第一binder线程对应的任务的uclamp最小值;
在提升所述第一binder线程的优先级和所述第一binder线程对应的任务的uclamp最小值的情况下,若提升所述第一binder线程的优先级的时间达到所述第一时间和/或提升所述第一binder线程对应的任务的uclamp最小值达到所述第二时间,且所述第一进程的binder请求未得到响应,所述电子设备再次提升所述第一binder线程的优先级和/或所述第一binder线程对应的任务的uclamp最小值。8.如权利要求5或6所述的方法,其特征在于,所述方法还包括:在提升所述第一binder线程的优先级的情况下,若提升所述第一binder线程的优先级的时间达到第一时间,且所述第一进程的binder请求未得到响应,所述电子设备从所述第一binder线程池中选择第二binder线程,并提升所述第二binder线程的优先级和/或所述第二binder线程对应的任务的uclam...

【专利技术属性】
技术研发人员:刘文方李小涛
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1