任务调度方法、装置、设备及可读存储介质制造方法及图纸

技术编号:30346085 阅读:23 留言:0更新日期:2021-10-12 23:34
本发明专利技术提供一种任务调度方法、装置、设备及可读存储介质,任务调度方法包括:当内核初始化完成,设置所述内核的系统时钟计数值,并在内核的系统时钟计数值为零时,启动第一个周期内的任务调度,执行实时任务列表中的实时任务;当内核的系统时钟计数值在一个周期内变化次数达到N次,则执行非实时任务列表中的非实时任务;当内核的系统时钟计数值在一个周期内变化次数达到M次,则启动本核下一个周期内的任务调度。通过本发明专利技术能实现控制系统内核任务调度管理器兼容高实时性应用和高运算量任务,以适配严格实时应用场景和非实时场景,平衡系统延时和吞吐量,并且在此基础上实现了各个内核任务的有序执行,简化了不同内核任务之间的通信。通信。通信。

【技术实现步骤摘要】
任务调度方法、装置、设备及可读存储介质


[0001]本专利技术涉及汽车控制器开发领域,尤其涉及一种任务调度方法、装置、设备及可读存储介质。

技术介绍

[0002]随着汽车产业的不断发展,现有的车辆驾驶中对信息安全的要求是不断提高的,且新的驾驶功能是不断引入的,如与智能驾驶相关应用配套的新的功能要求。在传统嵌入式系统,如网关、发动机控制器等,需要增加这类信息安全、智能驾驶的相关应用,因为这类应用对处理器的计算要求有限,所以原有的多核微处理器是可以满足运行要求的。然而这类应用所需要执行的任务,如信息安全应用中的大量数据校验的计算或智能驾驶应用中的地图信息解算等的特性都是高运行量、执行时间长、低实时性。而现有的传统嵌入式系统的任务调度管理器是实时在根据激活任务列表中的优先级决定任务的执行,一般是启动高优先级任务,暂停低优先级任务,即通过硬实时的方式最大程度保障系统的低延时响应,但是高优先级任务一般为系统的输入输出控制,实际的执行时间短,但是触发频繁,会频繁打断正在运行的高运算量任务。如果使用现有的任务调度策略,一方面单核系统本身响应高优先级任务的实时性会降低,以及运行高运算量任务的效率也会降低,另一方面不同内核之间系统任务调度的同步开销会增大。

技术实现思路

[0003]本专利技术的主要目的在于提供一种任务调度方法、装置、设备及可读存储介质,旨在解决传统车载嵌入式系统对有效率地运行高运行量任务的需求与高实时地响应高实时任务的需求不能兼顾以及不同内核间的同步调度难以有序执行的技术问题。
[0004]第一方面,本专利技术提供一种任务调度方法,所述任务调度方法包括以下步骤:
[0005]当内核初始化完成,设置所述内核的系统时钟计数值,并在内核的系统时钟计数值为零时,启动第一个周期内的任务调度,执行实时任务列表中的实时任务,其中,所述系统时钟计数值按照时钟频率进行更新;
[0006]当内核的系统时钟计数值在一个周期内变化次数达到N次,则执行非实时任务列表中的非实时任务,其中,N为正整数值;
[0007]当内核的系统时钟计数值在一个周期内变化次数达到M次,则启动本核下一个周期内的任务调度,其中,M为正整数值,其中,M为内核的系统时钟计数值在一个周期内变化总次数。
[0008]可选的,当所述内核为主核时,所述当内核初始化完成,设置所述内核的系统时钟计数值的步骤包括:
[0009]当内核初始化完成,设置所述内核的系统时钟计数值为零。
[0010]可选的,所述当内核初始化完成,设置所述内核的系统时钟计数值为零的步骤包括:
[0011]当内核初始化完成,设置所述内核的系统时钟计数值为零,同时设置全局系统时钟的计数值为零。
[0012]可选的,当所述内核为从核时,所述当内核初始化完成,设置所述内核的系统时钟计数值的步骤还包括:
[0013]当内核初始化完成,设置所述内核的系统时钟计数值为负值,且负值的绝对值为主核及所有先于本核启动的从核对应的N值之和。
[0014]可选的,所述执行非实时任务列表中的非实时任务的步骤包括:
[0015]执行最先进入非实时任务列表的非实时任务;
[0016]当所述非实时任务执行完成时,若M与内核的系统时钟计数值在一个周期内变化次数的差值小于或等于阈值,则停止执行次进入非实时任务列表的非实时任务。
[0017]可选的,所述任务调度方法还包括:
[0018]获取同一周期内本内核开始执行实时任务时全局系统时钟的第一计数值以及先于本核启动的前一个内核结束执行实时任务时全局系统时钟的第二计数值;
[0019]以所述第二计数值减第一计数值,得到调整值;
[0020]基于所述调整值设置第三计数值,以供全局系统时钟为第三计数值时,启动下一个周期内的任务调度。
[0021]可选的,所述基于所述调整值设置第三计数值的步骤包括:
[0022]以所述同一周期结束时本内核对应的全局系统时钟的计数值以及所述调整值的和作为第三计数值。
[0023]第二方面,本专利技术还提供一种任务调度装置,所述任务调度装置包括:
[0024]计时模块,用于当内核初始化完成,设置所述内核的系统时钟计数值,并在内核的系统时钟计数值为零时,启动第一个周期内的任务调度,执行实时任务列表中的实时任务,其中,所述系统时钟计数值按照时钟频率进行更新;
[0025]任务切换模块,用于当内核的系统时钟计数值在一个周期内变化次数达到N次,则执行非实时任务列表中的非实时任务,其中,N为正整数值;
[0026]周期切换模块,用于当内核的系统时钟计数值在一个周期内变化次数达到M次,则启动本核下一个周期内的任务调度,其中,M为正整数值,其中,M为内核的系统时钟计数值在一个周期内变化总次数。
[0027]可选的,当所述内核为主核时,所述当内核初始化完成,设置所述内核的系统时钟计数值,所述计时模块,还用于:
[0028]当内核初始化完成,设置所述内核的系统时钟计数值为零。
[0029]可选的,当所述内核为主核时,所述当内核初始化完成,设置所述内核的系统时钟计数值为零,所述计时模块,还用于:
[0030]当内核初始化完成,设置所述内核的系统时钟计数值为零,同时设置全局系统时钟的计数值为零。
[0031]可选的,当所述内核为从核时,所述当内核初始化完成,设置所述内核的系统时钟计数值,所述计时模块,还用于:
[0032]当内核初始化完成,设置所述内核的系统时钟计数值为负值,且负值的绝对值为主核及所有先于本核启动的从核对应的N值之和。
[0033]可选的,所述执行非实时任务列表中的非实时任务,所述任务切换模块,还用于:
[0034]执行最先进入非实时任务列表的非实时任务;
[0035]当所述非实时任务执行完成时,若M与内核的系统时钟计数值在一个周期内变化次数的差值小于或等于阈值,则停止执行次进入非实时任务列表的非实时任务。
[0036]可选的,所述任务调度方法,所述任务调度装置,还包括调整模块,用于:
[0037]获取同一周期内本内核开始执行实时任务时全局系统时钟的第一计数值以及先于本核启动的前一个内核结束执行实时任务时全局系统时钟的第二计数值;
[0038]以所述第二计数值减第一计数值,得到调整值;
[0039]基于所述调整值设置第三计数值,以供全局系统时钟为第三计数值时,启动下一个周期内的任务调度。
[0040]可选的,所述基于所述调整值设置第三计数值,所述调整模块,还用于:
[0041]以所述同一周期结束时本内核对应的全局系统时钟的计数值以及所述调整值的和作为第三计数值。
[0042]第三方面,本专利技术还提供一种任务调度设备,所述任务调度设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的任务调度程序,其中所述任务调度程序被所述处理器执行时,实现如上所述的任务调度方法的步骤。
[0043]第四方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度方法,其特征在于,所述任务调度方法包括:当内核初始化完成,设置所述内核的系统时钟计数值,并在内核的系统时钟计数值为零时,启动第一个周期内的任务调度,执行实时任务列表中的实时任务,其中,所述系统时钟计数值按照时钟频率进行更新;当内核的系统时钟计数值在一个周期内变化次数达到N次,则执行非实时任务列表中的非实时任务,其中,N为正整数值;当内核的系统时钟计数值在一个周期内变化次数达到M次,则启动本核下一个周期内的任务调度,其中,M为正整数值,其中,M为内核的系统时钟计数值在一个周期内变化总次数。2.如权利要求1所述的任务调度方法,其特征在于,当所述内核为主核时,所述当内核初始化完成,设置所述内核的系统时钟计数值的步骤包括:当内核初始化完成,设置所述内核的系统时钟计数值为零。3.如权利要求2所述的任务调度方法,其特征在于,所述当内核初始化完成,设置所述内核的系统时钟计数值为零的步骤包括:当内核初始化完成,设置所述内核的系统时钟计数值为零,同时设置全局系统时钟的计数值为零。4.如权利要求3所述的任务调度方法,其特征在于,当所述内核为从核时,所述当内核初始化完成,设置所述内核的系统时钟计数值的步骤还包括:当内核初始化完成,设置所述内核的系统时钟计数值为负值,且负值的绝对值为主核及所有先于本核启动的从核对应的N值之和。5.如权利要求1所述的任务调度方法,其特征在于,所述执行非实时任务列表中的非实时任务的步骤包括:执行最先进入非实时任务列表的非实时任务;当所述非实时任务执行完成时,若M与内核的系统时钟计数值在一个周期内变化次数的差值小于或等于阈值,则停止执行次进入非实时任务列表的非实时任务。6.如权利要求4所述的任务调度方法,其特征...

【专利技术属性】
技术研发人员:杨钢邬婧婧刘福伟田学勇
申请(专利权)人:东风商用车有限公司
类型:发明
国别省市:

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

1