任务轮转调度方法、装置、电子设备和存储介质制造方法及图纸

技术编号:34722675 阅读:53 留言:0更新日期:2022-08-31 18:08
本申请实施例提出一种任务轮转调度方法、装置、电子设备和存储介质,涉及操作系统任务调度领域。根据接收到的任务轮转调度指令,获取目标任务的多个进程;根据各个进程的运行时长,以及各个处理器内核对应的运行时长范围,将各个进程添加至对应的处理器内核的调度队列中;针对各个处理器内核,按照处理器内核对应的时间片长度对调度队列中的全部进程进行轮转调度。该方法避免了将运行时长较短的进程与运行时长较长的进程混合执行,从而缩短了运行时长较短的进程的等待时间以及整体执行时间,提高了任务进程执行的实时性。提高了任务进程执行的实时性。提高了任务进程执行的实时性。

【技术实现步骤摘要】
任务轮转调度方法、装置、电子设备和存储介质


[0001]本申请涉及操作系统任务调度领域,具体而言,涉及一种任务轮转调度方法、装置、电子设备和存储介质。

技术介绍

[0002]目前,在嵌入式操作系统中,进程的调度对处理器的利用率、任务执行的实时性以及用户的体验感都起着至关重要的作用,现有技术中,可以采用时间片轮转算法对进程进行调度。
[0003]但在采用时间片轮转调度算法对进程进行调度时,往往存在一些运行时长较短的进程的等待时间过长,从而导致该进程整体执行时间过长,进程执行实时性较差的问题。

技术实现思路

[0004]有鉴于此,本申请的目的在于提供一种任务轮转调度方法、装置、电子设备和存储介质,以缩短运行时长较短的进程的等待时间以及整体执行时间,提高了任务进程执行的实时性。
[0005]为了实现上述目的,本申请实施例采用的技术方案如下:
[0006]第一方面,本申请提供一种任务轮转调度方法,应用于具有多核处理器的电子设备,所述方法包括:
[0007]根据接收到的任务轮转调度指令,获取目标任务的多个进程;
[0008]根据各个所述进程的运行时长,以及各个处理器内核对应的运行时长范围,将各个所述进程添加至对应的处理器内核的调度队列中;
[0009]针对各个所述处理器内核,按照所述处理器内核对应的时间片长度对所述调度队列中的全部进程进行轮转调度。
[0010]在可选的实施方式中,所述按照所述处理器内核对应的时间片长度对所述调度队列中的全部进程进行轮转调度,包括:
[0011]按照所述处理器内核对应的时间片长度,对所述调度队列中处于就绪状态的目标进程进行调度;
[0012]在按照所述时间片长度对所述目标进程进行调度之后,若所述目标进程未执行完毕,将所述目标进程添加至所述调度队列的队尾,并将所述调度队列中下一个处于就绪状态的进程作为新的目标进程进行调度,直到所述调度队列中的全部进程执行完毕。
[0013]在可选的实施方式中,所述方法还包括:
[0014]计算所述目标进程的剩余运行时长;
[0015]判断所述剩余运行时长是否满足预设运行时长;
[0016]若所述剩余运行时长不满足预设运行时长,则按照所述剩余运行时长对所述目标进程进行调度;
[0017]若所述剩余运行时长满足预设运行时长,则按照所述处理器内核对应的时间片长
度,对所述调度队列中处于就绪状态的目标进程进行调度。
[0018]在可选的实施方式中,所述计算所述目标进程的剩余运行时长,包括:
[0019]获取所述目标进程的历史调度次数,以及每次历史调度对应的历史运行时长;
[0020]根据所述历史调度次数以及所述历史运行时长,计算所述目标进程的剩余运行时长。
[0021]在可选的实施方式中,所述根据所述历史调度次数以及所述历史运行时长,计算所述目标进程的剩余运行时长,包括:
[0022]根据以下公式计算所述剩余运行时长:
[0023]T=aT
n
+a(1

a)T
n
‑1+

+a(1

a)
n
‑1T1[0024]其中,T表征所述剩余运行时长、a为预设常数、n表征所述目标进程的历史调度次数、T
n
表征第n次调度所述目标进程对应的历史运行时长、T
n
‑1表征第n

1次调度所述目标进程对应的历史运行时长、T1表征第1次调度所述目标进程对应的历史运行时长。
[0025]在可选的实施方式中,所述方法还包括:
[0026]根据各个所述进程的运行时长,为各个处理器内核设置对应的运行时长范围;
[0027]所述根据各个所述进程的运行时长,以及各个处理器内核对应的运行时长范围,将各个所述进程添加至对应的处理器内核的调度队列中,包括:
[0028]针对各个所述进程,确定所述进程的运行时长所属的目标运行时长范围;
[0029]根据所述目标运行时长范围,确定所述进程对应的处理器内核;
[0030]将所述进程添加至对应的处理器内核的调度队列中。
[0031]第二方面,本申请提供一种任务轮转调度装置,应用于具有多核处理器的电子设备,所述装置包括:
[0032]获取模块,用于根据接收到的任务轮转调度指令,获取目标任务的多个进程;
[0033]添加模块,用于根据各个所述进程的运行时长,以及各个处理器内核对应的运行时长范围,将各个所述进程添加至对应的处理器内核的调度队列中;
[0034]调度模块,用于针对各个所述处理器内核,按照所述处理器内核对应的时间片长度对所述调度队列中的全部进程进行轮转调度。
[0035]在可选的实施方式中,所述调度模块,还用于按照所述处理器内核对应的时间片长度,对所述调度队列中处于就绪状态的目标进程进行调度;在按照所述时间片长度对所述目标进程进行调度之后,若所述目标进程未执行完毕,将所述目标进程添加至所述调度队列的队尾,并将所述调度队列中下一个处于就绪状态的进程作为新的目标进程进行调度,直到所述调度队列中的全部进程执行完毕。
[0036]第三方面,本申请提供一种电子设备,包括多核处理器和存储器,所述存储器存储有能够被所述处理器运行的计算机程序,所述多核处理器可运行所述计算机程序以实现前述实施方式任一项所述的方法。
[0037]第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时实现如前述实施方式中任一项所述的方法。
[0038]本申请实施例提供的任务轮转调度方法、装置、电子设备和存储介质,在获取到目标任务的多个进程的情况下,根据各个进程的运行时长,以及各个处理器内核对应的运行时长范围,将各个进程添加至对应的处理器内核的调度队列中,从而按照运行时长对进程
进行划分,将属于不同运行时长范围的进程划分至不同的处理器内核中进行调度,因此可以避免将运行时长较短的进程与运行时长较长的进程混合执行,从而缩短了运行时长较短的进程的等待时间和整体的执行时间,提高任务进程执行的实时性。
[0039]为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0040]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0041]图1示出了本申请实施例提供的电子设备的方框示意图;
[0042]图2示出了本申请实施例提供的任务轮转调度方法的一种流程示意图;
[0043]图3示出了本申请实施例提供的任务轮转调度方法的另一种流程示意图;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务轮转调度方法,其特征在于,应用于具有多核处理器的电子设备,所述方法包括:根据接收到的任务轮转调度指令,获取目标任务的多个进程;根据各个所述进程的运行时长,以及各个处理器内核对应的运行时长范围,将各个所述进程添加至对应的处理器内核的调度队列中;针对各个所述处理器内核,按照所述处理器内核对应的时间片长度对所述调度队列中的全部进程进行轮转调度。2.根据权利要求1所述的方法,其特征在于,所述按照所述处理器内核对应的时间片长度对所述调度队列中的全部进程进行轮转调度,包括:按照所述处理器内核对应的时间片长度,对所述调度队列中处于就绪状态的目标进程进行调度;在按照所述时间片长度对所述目标进程进行调度之后,若所述目标进程未执行完毕,将所述目标进程添加至所述调度队列的队尾,并将所述调度队列中下一个处于就绪状态的进程作为新的目标进程进行调度,直到所述调度队列中的全部进程执行完毕。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:计算所述目标进程的剩余运行时长;判断所述剩余运行时长是否满足预设运行时长;若所述剩余运行时长不满足预设运行时长,则按照所述剩余运行时长对所述目标进程进行调度;若所述剩余运行时长满足预设运行时长,则按照所述处理器内核对应的时间片长度,对所述调度队列中处于就绪状态的目标进程进行调度。4.根据权利要求3所述的方法,其特征在于,所述计算所述目标进程的剩余运行时长,包括:获取所述目标进程的历史调度次数,以及每次历史调度对应的历史运行时长;根据所述历史调度次数以及所述历史运行时长,计算所述目标进程的剩余运行时长。5.根据权利要求4所述的方法,其特征在于,所述根据所述历史调度次数以及所述历史运行时长,计算所述目标进程的剩余运行时长,包括:根据以下公式计算所述剩余运行时长:T=aT
n
+a(1

a)T
n
‑1+

+a(1

a)
n
‑1T1其中,T表征所述剩余运行时长、a为预设常数、n表征所述目标进程的历史调度次数、T<...

【专利技术属性】
技术研发人员:蔡军易玲冯丹荣邹连明
申请(专利权)人:宁波三星智能电气有限公司
类型:发明
国别省市:

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

1