任务执行方法、装置、电子设备及存储介质制造方法及图纸

技术编号:31309736 阅读:19 留言:0更新日期:2021-12-12 21:37
本申请适用于计算机技术领域,提供了任务执行方法、装置、电子设备及存储介质。任务执行方法包括:在退出任务对应的任务函数时,记录目标位置,目标位置是退出任务函数时,任务函数的运行位置,若检测到任务处于就绪状态,获取目标位置,从目标位置开始执行任务函数。从而可以在再次进入任务函数时,从退出时任务函数的运行位置开始运行任务函数,提高了任务的执行效率。执行效率。执行效率。

【技术实现步骤摘要】
任务执行方法、装置、电子设备及存储介质


[0001]本申请属于计算机
,尤其涉及任务执行方法、装置、电子设备及存储介质。

技术介绍

[0002]在裸机中,由于硬件资源的限制,无法引入完善的实时操作系统(Real

time operating system,RTOS),因此只能采用类似大循环,或者基于定时器任务调度的裸机系统。在裸机系统中,由于没有操作系统实现函数的返回重入机制,任务函数退出后,再次进入任务函数时需要重新开始运行任务函数,因此无法有效使用软延时和信号等待等机制,影响任务执行效率。

技术实现思路

[0003]有鉴于此,本申请实施例提供了一种任务执行方法、装置、电子设备及存储介质,可以提高任务执行效率。
[0004]本申请实施例的第一方面提供了一种任务执行方法,应用于未装载实时操作系统的嵌入式设备,所述方法包括:
[0005]在退出任务对应的任务函数时,记录目标位置,所述目标位置是退出所述任务函数时,所述任务函数的运行位置;
[0006]若检测到所述任务处于就绪状态,获取所述目标位置;
[0007]从所述目标位置开始执行所述任务函数。
[0008]在一种可能的实现方式中,所述记录目标位置,包括:
[0009]通过宏代码记录退出所述任务函数时的运行代码行号;
[0010]所述获取所述目标位置,包括:
[0011]通过宏代码获取所述运行代码行号;
[0012]所述从所述目标位置开始执行所述任务函数,包括:
[0013]从所述运行代码行号对应的代码位置开始执行所述任务函数。
[0014]在一种可能的实现方式中,从所述运行代码行号对应的代码位置开始执行所述任务函数,包括:
[0015]通过开关语句跳转至所述运行代码行号对应的代码位置,并从该代码位置开始执行所述任务函数。
[0016]在一种可能的实现方式中,所述从所述目标位置开始执行所述任务函数之前,还包括:
[0017]获取所有处于就绪状态的任务的优先级别;
[0018]所述从所述目标位置开始执行所述任务函数,包括:
[0019]从优先级别最高、处于就绪状态的任务的目标位置开始执行所述任务函数。
[0020]在一种可能的实现方式中,在所述从所述目标位置开始执行所述任务函数之后,
所述方法还包括:
[0021]在所述任务函数运行完成时,确定所述任务函数已经运行的次数;
[0022]若所述任务函数已经运行的次数未达到预设次数,则在待执行任务列表中保留所述任务函数;
[0023]若所述任务函数已经运行的次数达到预设次数,将所述任务函数从所述待执行任务列表中删除。
[0024]在一种可能的实现方式中,所述方法还包括:
[0025]若检测到所述任务对应的计时时长达到预设时长时,或者接收到所述任务对应的预设信号时,将所述任务的状态设为就绪状态。
[0026]在一种可能的实现方式中,所述预设信号是用于提示信号等待状态结束或者休眠状态结束的信号。
[0027]本申请实施例的第二方面提供了一种装置,应用于未装载实时操作系统的嵌入式设备,所述装置包括:
[0028]记录模块,用于在退出任务对应的任务函数时,记录目标位置,所述目标位置是退出所述任务函数时,所述任务函数的运行位置;
[0029]获取模块,用于若检测到任务处于就绪状态,获取所述目标位置;
[0030]执行模块,用于从所述目标位置开始执行所述任务函数。
[0031]本申请实施例的第三方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的任务执行方法。
[0032]本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的任务执行方法。
[0033]本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的任务执行方法。
[0034]本申请实施例与现有技术相比存在的有益效果是:通过在退出任务函数时,记录退出时任务函数的运行位置,将任务函数的运行位置作为目标位置,在任务处于就绪状态时,从目标位置开始执行任务函数,从而可以在再次进入任务函数时,从退出时任务函数的运行位置开始运行任务函数,提高了任务的执行效率。
附图说明
[0035]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
[0036]图1是本申请一实施例提供的任务执行方法的实现流程示意图;
[0037]图2是本申请实施例提供的任务执行装置的示意图;
[0038]图3是本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0039]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具
体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0040]应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0041]在现有的裸机系统中,由于没有操作系统实现函数的返回重入机制,任务函数退出后,再次进入任务函数时无法定位到退出前任务函数的运行位置,需要重新开始运行任务函数,因此影响任务执行效率。
[0042]为此,本申请提供一种任务执行方法,通过将上一次退出任务函数时,任务函数的运行位置作为目标位置,在任务处于就绪状态时,从目标位置开始执行任务函数,从而可以在再次进入任务函数时,从退出前任务函数的运行位置开始运行任务函数,提高了任务的执行效率。
[0043]下面对本申请提供的任务执行方法进行示例性说明。
[0044]请参阅附图1,本申请一实施例提供的任务执行方法包括:
[0045]S101:在退出任务对应的任务函数时,记录目标位置,所述目标位置是退出所述任务函数时,所述任务函数的运行位置。
[0046]其中,本申请实施例提供的任务执行方法应用于电子设备,电子设备为没有装载实时操作系统的嵌入式设备,即该方法应用于裸机。示例性地,电子设备中的调度器在调用与任务对应的延时函数、休眠函数或者等待函数时,退出任务函数。其中,调度器用于根据电子设备中运行的任务的状态调用各函数,调度器由预先建立的各任务与对应的任务函数的名称的关系,确定当前任务需要调用的任务函数的名称,从而实现函数调本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务执行方法,其特征在于,应用于未装载实时操作系统的嵌入式设备,所述方法包括:在退出任务对应的任务函数时,记录目标位置,所述目标位置是退出所述任务函数时,所述任务函数的运行位置;若检测到所述任务处于就绪状态,获取所述目标位置;从所述目标位置开始执行所述任务函数。2.如权利要求1所述的任务执行方法,其特征在于,所述记录目标位置,包括:通过宏代码记录退出所述任务函数时的运行代码行号;所述获取所述目标位置,包括:通过宏代码获取所述运行代码行号;所述从所述目标位置开始执行所述任务函数,包括:从所述运行代码行号对应的代码位置开始执行所述任务函数。3.如权利要求2所述的任务执行方法,其特征在于,从所述运行代码行号对应的代码位置开始执行所述任务函数,包括:通过开关语句跳转至所述运行代码行号对应的代码位置,并从该代码位置开始执行所述任务函数。4.如权利要求1所述的任务执行方法,其特征在于,所述从所述目标位置开始执行所述任务函数之前,还包括:获取所有处于就绪状态的任务的优先级别;所述从所述目标位置开始执行所述任务函数,包括:从优先级别最高、处于就绪状态的任务的目标位置开始执行所述任务函数。5.如权利要求1所述的任务执行方法,其特征在于,在所述从所述目标位置开始执行所述任务函数之后,所述方法还包括:在所述任务函数运行完成时,确定所述任务函数...

【专利技术属性】
技术研发人员:梅永攀
申请(专利权)人:深圳市英威腾网能技术有限公司
类型:发明
国别省市:

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

1