CN112925633A - 嵌入式的任务调度方法、装置、电子设备及存储介质 - Google Patents

嵌入式的任务调度方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112925633A
CN112925633A CN202110513824.9A CN202110513824A CN112925633A CN 112925633 A CN112925633 A CN 112925633A CN 202110513824 A CN202110513824 A CN 202110513824A CN 112925633 A CN112925633 A CN 112925633A
Authority
CN
China
Prior art keywords
task
information
type
task list
processing unit
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.)
Pending
Application number
CN202110513824.9A
Other languages
English (en)
Inventor
翁腾跃
周盛立
倪林生
杨国全
俞鸣园
曹亚曦
王克彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Huachuang Video Signal Technology Co Ltd
Original Assignee
Zhejiang Huachuang Video Signal Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Huachuang Video Signal Technology Co Ltd filed Critical Zhejiang Huachuang Video Signal Technology Co Ltd
Priority to CN202110513824.9A priority Critical patent/CN112925633A/zh
Publication of CN112925633A publication Critical patent/CN112925633A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

本发明提供了一种嵌入式的任务调度方法、装置、电子设备及计算机可读存储介质。其中,方法包括:电子设备的第一处理单元确定初始化的第一任务列表;所述第一任务列表包含需要执行的多个任务和每个任务的相关参数;所述相关参数包含第一信息和第二信息;所述第一信息表征是否需要执行相应任务;所述第二信息表征相应任务的执行频率;根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务。采用本发明的方案,对于资源受限且处理性能较差的处理器,不需要进行复杂的操作系统开发就能够实现多任务的调度,实现方式简单可靠,使得资源受限且处理性能较差的处理器能够应用到更多的场景,降低这些应用场景的实现成本。

Description

嵌入式的任务调度方法、装置、电子设备及存储介质
技术领域
本发明涉及嵌入式软件技术领域,尤其涉及一种嵌入式的任务调度方法、装置、电子设备及计算机可读存储介质。
背景技术
需要在电子设备上实现多任务调度时,通常由电子设备上安装的操作系统直接进行任务管理,即通过操作系统提供的函数创建多进程和/或多线程来执行任务。内核通常对于多任务调度都有着较好的支持,即使对于处理性能偏弱的处理器,也可以引入实时操作系统(RTOS,Real Time Operating System)类的系统以使得处理器具备复杂任务的调度能力,同时能够保证系统整体的实时性。
然而,在一些资源受限且处理性能较差的处理器(比如4位单片机、8位单片机、16位单片机等)上,无法引入操作系统并支撑系统的运行;或者,由于软件开发复杂度等原因,并不想引入操作系统。对于这些情况,如何实现多任务的调度成为亟待解决的问题。
发明内容
本发明提供一种嵌入式的任务调度方法、装置、电子设备及计算机可读存储介质,以至少解决现有技术中存在的以上技术问题。
本发明一方面提供一种嵌入式的任务调度方法,包括:
电子设备的第一处理单元确定初始化的第一任务列表;所述第一任务列表包含需要执行的多个任务和每个任务的相关参数;所述多个任务包含第一类任务和第二类任务;所述第一类任务的相关参数可配置;所述第二类任务的相关参数不可配置;所述相关参数包含第一信息和第二信息;所述第一信息表征是否需要执行相应任务;所述第二信息表征相应任务的执行频率;
根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务。
上述方案中,所述确定初始化的第一任务列表,包括:
所述第一处理单元根据相应的第一信息,从初始化的第二任务列表中确定需要执行的多个任务,得到所述第一任务列表;所述第二任务列表包含所述电子设备的全部任务和每个任务的相关参数。
上述方案中,所述方法还包括:
所述电子设备的第二处理单元获取更新策略;根据所述更新策略,维护所述第二任务列表中的第一类任务。
上述方案中,所述根据所述更新策略,维护所述第二任务列表中的第一类任务,包括:
所述第二处理单元确定所述电子设备的空闲资源;基于确定的空闲资源,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息。
上述方案中,所述根据所述更新策略,维护所述第二任务列表中的第一类任务,包括:
所述第二处理单元获取所述电子设备外部的控制指令;基于获取的控制指令,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息。
上述方案中,所述方法还包括:
所述第二处理单元更新一个第一类任务的第一信息和/或第二信息后,将所述第一类任务对应的一个状态标识的值由第一值更新为第二值;
所述第一处理单元监测多个状态标识中每个状态标识的值;监测到一个状态标识的值为所述第二值时,在更新后的第二任务列表中确定目标第一类任务;根据更新后的第二任务列表,在所述第一任务列表中更新所述目标第一类任务;并根据相应第二信息指定的频率,执行更新后的第一任务列表中的每个任务。
上述方案中,在所述第一任务列表中更新所述目标第一类任务后,所述方法还包括:
所述第一处理单元将所述目标第一类任务对应的状态标识的值由所述第二值更新为所述第一值。
上述方案中,所述在所述第一任务列表中更新所述目标第一类任务,包括以下之一:
所述第一处理单元在所述第一任务列表中添加所述目标第一类任务和所述目标第一类任务的相关参数;
所述第一处理单元在所述第一任务列表中删除所述目标第一类任务和所述目标第一类任务的相关参数;
所述第一处理单元在所述第一任务列表中更新所述目标第一类任务的第一信息和/或第二信息。
上述方案中,所述监测多个状态标识中每个状态标识的值,包括:
所述第一处理单元针对所述多个状态标识中的每个状态标识,在所述电子设备的定时器每次进行基准时间的递增时,判断相应状态标识的值是否为所述第二值。
上述方案中,所述根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务,包括:
所述第一处理单元针对所述第一任务列表中的每个任务,基于所述电子设备的定时器和相应的第二信息,生成一个虚拟化的子定时器;基于所述子定时器执行相应任务;所述子定时器的定时周期能够与相应任务的执行频率匹配。
本发明另一方面提供一种嵌入式的任务调度装置,包括:
第一处理单元,用于确定初始化的第一任务列表;所述第一任务列表包含需要执行的多个任务和每个任务的相关参数;所述多个任务包含第一类任务和第二类任务;所述第一类任务的相关参数可配置;所述第二类任务的相关参数不可配置;所述相关参数包含第一信息和第二信息;所述第一信息表征是否需要执行相应任务;所述第二信息表征相应任务的执行频率;
根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务。
上述方案中,所述第一处理单元,具体用于根据相应的第一信息,从初始化的第二任务列表中确定需要执行的多个任务,得到所述第一任务列表;所述第二任务列表包含电子设备的全部任务和每个任务的相关参数。
上述方案中,所述装置还包括:
第二处理单元,用于获取更新策略;根据所述更新策略,维护所述第二任务列表中的第一类任务。
本发明再一方面提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一方法的步骤。
本发明又一方面提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
本发明提供的嵌入式的任务调度方法、装置、电子设备及计算机可读存储介质,电子设备的第一处理单元确定初始化的第一任务列表;所述第一任务列表包含需要执行的多个任务和每个任务的相关参数;所述多个任务包含第一类任务和第二类任务;所述第一类任务的相关参数可配置;所述第二类任务的相关参数不可配置;所述相关参数包含第一信息和第二信息;所述第一信息表征是否需要执行相应任务;所述第二信息表征相应任务的执行频率;根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务。本发明提供的方案,通过电子设备上的第一处理单元,确定所述电子设备需要执行的多个任务及每个任务的相关参数,并根据指定的频率执行每个任务,实现嵌入式的多任务调度;如此,对于资源受限且处理性能较差的处理器(比如4位单片机、8位单片机、16位单片机等),不需要进行复杂的操作系统开发就能够实现多任务的调度,实现方式简单可靠,使得资源受限且处理性能较差的处理器能够应用到更多的场景,降低这些应用场景的实现成本;同时,由于所述多个任务包含相关参数可配置的第一类任务,用户可以根据需求选择合适的方式配置第一类任务的相关参数,从而能够提高实现多任务调度时的灵活性,进而提升用户体验。
附图说明
图1示出了本发明实施例嵌入式的任务调度方法的流程示意图;
图2示出了本发明应用实施例多任务调度的流程示意图;
图3示出了本发明应用实施例管理任务的功能示意图;
图4示出了本发明应用实施例调度器的功能示意图;
图5示出了本发明实施例嵌入式的任务调度装置的结构示意图;
图6示出了本发明实施例电子设备的结构示意图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于资源受限且处理性能较差的处理器(比如4位单片机、8位单片机、16位单片机等),即便无法引入操作系统或并不想引入操作系统,在很多应用场景中还是希望处理器能够进行多任务的处理。相关技术中,存在一些不通过操作系统实现多任务调度的方式,比如通过中断(即定时中断)任务实现前后台技术的方式,或者,通过人为划分大任务处理,再重新进行任务分组放入原来的大循环(即主程序)中的方式。然而,这些多任务调度的方式通常实现较为复杂,且无法灵活配置任务。
基于此,在本发明的各种实施例中,通过电子设备上的第一处理单元,确定所述电子设备需要执行的多个任务及每个任务的相关参数,并根据指定的频率执行每个任务,实现嵌入式的多任务调度;如此,对于资源受限且处理性能较差的处理器(比如4位单片机、8位单片机、16位单片机等),不需要进行复杂的操作系统开发就能够实现多任务的调度,实现方式简单可靠,使得资源受限且处理性能较差的处理器能够应用到更多的场景,降低这些应用场景的实现成本;同时,由于所述多个任务包含相关参数可配置的第一类任务,用户可以根据需求选择合适的方式配置第一类任务的相关参数,从而能够提高实现多任务调度时的灵活性,进而提升用户体验。
本发明实施例提供一种嵌入式的任务调度方法,如图1所示,该方法包括:
步骤101:电子设备的第一处理单元确定初始化的第一任务列表;
这里,所述第一任务列表包含需要执行的多个任务和每个任务的相关参数;所述多个任务包含第一类任务和第二类任务;所述第一类任务的相关参数可配置;所述第二类任务的相关参数不可配置;所述相关参数包含第一信息和第二信息;所述第一信息表征是否需要执行相应任务;所述第二信息表征相应任务的执行频率;
步骤102:根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务。
这里,需要说明的是,所述第一处理单元的处理过程可以理解为处理器中的嵌入式程序或嵌入式任务的功能;所述电子设备可以是资源受限且处理性能较差的处理器,比如4位单片机、8位单片机、16位单片机等;所述电子设备未安装操作系统,因此,也可以将所述电子设备称为裸机。
实际应用时,本发明实施例提供的嵌入式的任务调度方法可以根据需求应用在各种场景中,比如会议协同、无纸化办公、智慧屏等;所述多个任务也可以根据场景需求设置。示例性地,所述电子设备应用在会议协同场景中时,所述多个任务可以包括:控制会议终端上电或下电;通过控制步进电机的转动来控制云台移动(比如上下移动);控制至少一个指示灯打开或关闭,此时,相应的第二信息表征控制相应指示灯打开的频率或控制相应指示灯关闭的频率,使得相应指示灯能够具有不同的闪烁频率,不同的闪烁频率可以代表不同含义(比如一个指示灯常亮可以表示会议终端成功上电)。可见,通过本发明实施例提供的嵌入式的任务调度方法,使得资源受限且处理性能较差的处理器能够应用到更多的场景,降低这些应用场景整体的实现成本。当然,实际应用时,所述电子设备也可以执行其他类型的任务,本发明实施例对此不作限定。
实际应用时,所述第一信息的存储形式(即格式)可以根据需求设置。示例性地,所述第一信息为0时,表征不需要执行相应任务;所述第一信息为1时,表征需要执行相应任务。在上述会议协同场景中,一个指示灯(后续的描述中记作目标指示灯)的状态可以代表会议终端的状态:目标指示灯长亮时,表示会议终端成功上电;目标指示灯长灭时,表示会议终端下电;目标指示灯闪烁时,表示会议终端故障。第一任务可以用于打开(即点亮)目标指示灯,第二任务可以用于关闭目标指示灯;需要使目标指示灯长亮时,第一任务对应的第一信息可以为1,第二任务对应的第一信息可以为0;需要使目标指示灯长灭时,第一任务对应的第一信息可以为0,第二任务对应的第一信息可以为1;需要使目标指示灯闪烁时,第一任务对应的第一信息和第二任务对应的第一信息均为1。
在步骤101中,实际应用时,所述第一处理单元确定初始化的第一任务列表的方式可以根据需求设置,比如,所述第一处理单元可以直接从所述电子设备的存储器中获取(即加载)预先设置的全部任务,得到所述第一任务列表;再比如,当所述电子设备存在默认不执行的任务(即相应的第一信息表征不需要执行相应任务)时,所述第一处理单元可以根据相应的第一信息,从所述电子设备预先设置的全部任务中确定需要执行的多个任务,得到所述第一任务列表。
基于此,在一实施例中,所述确定初始化的第一任务列表,可以包括:
所述第一处理单元根据相应的第一信息,从初始化的第二任务列表中确定需要执行的多个任务,得到所述第一任务列表;所述第二任务列表包含所述电子设备的全部任务和每个任务的相关参数。
具体地,所述第一处理单元可以针对所述第二任务列表包含的每个任务,判断相应的第一信息是否表征需要执行相应任务;在判断结果为相应的第一信息表征需要执行相应任务的情况下,将相应任务及该任务的相关参数获取(即加载)到第一任务列表。
实际应用时,每个任务可以携带种类标识,用于表征相应任务是第一类任务还是第二类任务。示例性地,在所述种类标识为0时,表征相应任务是第二类任务;在所述种类标识为1时,表征相应任务是第一类任务。在上述会议协同场景中,用于控制至少一个指示灯打开或关闭的任务可以是第一类任务,用于控制会议终端上电或下电的任务可以是第二类任务。
实际应用时,所述第一类任务的相关参数可配置,具体的配置方式可以根据需求设置,比如,可以根据所述电子设备的空闲资源自动(即自适应)配置所述第一类任务的相关参数;再比如,所述电子设备可以根据外部的控制指令配置所述第一类任务的相关参数。这里,为了避免所述电子设备发生程序错误,可以由另一处理单元实现对所述第一类任务的相关参数的配置。
基于此,在一实施例中,所述方法还可以包括:
所述电子设备的第二处理单元获取更新策略;根据所述更新策略,维护所述第二任务列表中的第一类任务。
这里,所述维护所述第二任务列表中的第一类任务,可以理解为配置或更新所述第二任务列表中的第一类任务的第一信息和/或第二信息。
实际应用时,所述更新策略可以根据需求预先设置,并存储在所述电子设备的存储器中。所述更新策略可以指示所述第二处理单元根据所述电子设备的空闲资源自动(即自适应)配置所述第一类任务的相关参数。
基于此,在一实施例中,所述根据所述更新策略,维护所述第二任务列表中的第一类任务,可以包括:
所述第二处理单元确定所述电子设备的空闲资源;基于确定的空闲资源,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息。
具体地,实际应用时,所述确定所述电子设备的空闲资源,可以包括:所述第二处理单元确定所述电子设备的空闲计算资源和/或空闲存储资源。所述基于确定的空闲资源,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息,可以包括:所述第二处理单元基于确定的空闲计算资源和/或空闲存储资源,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息。
示例性地,所述第二处理单元基于确定的空闲计算资源和/或空闲存储资源,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息,可以包括:
当确定的空闲计算资源和/或空闲存储资源大于0,且小于或等于第一阈值时,所述第二处理单元更新所述第一类任务的第一信息,以使所述电子设备不再执行所述第一类任务;
当确定的空闲计算资源和/或空闲存储资源大于所述第一阈值,且小于或等于第二阈值时,所述第二处理单元更新所述第一类任务的第二信息,以使所述电子设备降低执行所述第一类任务的频率(降低比例可以根据需求预先设置);所述第二阈值大于所述第一阈值;
当确定的空闲计算资源和/或空闲存储资源大于所述第二阈值,且小于或等于第三阈值时,所述第二处理单元更新所述第一类任务的第一信息和第二信息,以使所述电子设备重新执行被关闭的第一类任务,并降低执行所述第一类任务的频率(降低比例可以根据需求预先设置);所述第三阈值大于所述第二阈值;
当确定的空闲计算资源和/或空闲存储资源大于所述第三阈值,且小于或等于第四阈值时,所述第二处理单元更新所述第一类任务的第一信息和第二信息,以将所述第一类任务的第一信息和第二信息恢复为默认值;所述第四阈值大于所述第三阈值。
这里,所述第一阈值、所述第二阈值、所述第三阈值和所述第四阈值可以根据需求设置;示例性地,可以将所述第一阈值设置为20%,将所述第二阈值设置为40%,将所述第三阈值设置为60%,并将所述第四阈值设置为80%。
实际应用时,每个第一类任务可以携带优先级标识,用于表征更新相应的第一类任务的第一信息和/或第二信息的优先级。所述第二处理单元基于确定的空闲计算资源和/或空闲存储资源,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息时,可以基于每个第一类任务携带的优先级标识,对优先级较高的第一类任务的第一信息和/或第二信息进行更新。
实际应用时,所述更新策略可以指示所述第二处理单元根据外部的控制指令配置所述第一类任务的相关参数。
基于此,在一实施例中,所述根据所述更新策略,维护所述第二任务列表中的第一类任务,可以包括:
所述第二处理单元获取所述电子设备外部的控制指令;基于获取的控制指令,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息。
实际应用时,所述第二处理单元获取所述电子设备外部的控制指令的方式可以根据需求设置,比如通过串口、网络连接、或硬件(比如电阻器等)交互等方式获取所述电子设备外部的控制指令。
实际应用时,所述第二处理单元对所述第二任务列表中的第一类任务进行维护,而没有对所述第一任务列表中的第一类任务进行维护的原因是:所述第一任务列表是根据所述第二任务列表得到的,由所述第一处理单元进行维护;并且,所述第一任务列表不包含所述第二任务列表的全部的第一类任务。而在所述第二处理单元对所述第二任务列表中的第一类任务进行维护的过程中,为了使得针对所述第一类任务的第一信息和/或第二信息的更新能够生效,换句话说,为了使得所述电子设备能够按照更新后的第一信息和/或第二信息执行相应的第一类任务,所述第一处理单元需要同步更新自身维护的第一任务列表。
基于此,在一实施例中,所述方法还可以包括:
所述第二处理单元更新一个第一类任务的第一信息和/或第二信息后,将所述第一类任务对应的一个状态标识的值由第一值更新为第二值;
所述第一处理单元监测多个状态标识中每个状态标识的值;监测到一个状态标识的值为所述第二值时,在更新后的第二任务列表中确定目标第一类任务;根据更新后的第二任务列表,在所述第一任务列表中更新所述目标第一类任务;并根据相应第二信息指定的频率,执行更新后的第一任务列表中的每个任务。
其中,在一实施例中,所述在所述第一任务列表中更新所述目标第一类任务,可以包括以下之一:
所述第一处理单元在所述第一任务列表中添加所述目标第一类任务和所述目标第一类任务的相关参数;
所述第一处理单元在所述第一任务列表中删除所述目标第一类任务和所述目标第一类任务的相关参数;
所述第一处理单元在所述第一任务列表中更新所述目标第一类任务的第一信息和/或第二信息。
这里,一个状态标识对应一个第一类任务的相关参数在所述第二任务列表中的更新状态(也可以理解为所述第一任务列表和所述第二任务列表针对同一个第一类任务的信息是否一致),所述多个状态标识对应所述第二任务列表中全部的第一类任务,即所述电子设备全部的第一类任务。所述多个状态标识可以保存在所述电子设备的存储器中,也可以保存在所述电子设备的寄存器中。所述状态标识的值为第一值时,表征所述第二任务列表中相应第一类任务的相关参数被更新(即所述第一任务列表和所述第二任务列表针对相应第一类任务的信息不一致);所述状态标识的值为第二值时,表征所述第二任务列表中相应第一类任务的相关参数未被更新(即所述第一任务列表和所述第二任务列表针对相应第一类任务的信息一致)。如此,所述第一处理单元不需要监测所述第二任务列表中的每个第一类任务,通过对所述多个状态标识进行监测,能够简单、快速地确定目标第一类任务,进而快速地在所述第一任务列表中更新所述目标第一类任务。
实际应用时,所述第二处理单元可能会在所述第二任务列表中多次更新同一个第一类任务的第一信息和/或第二信息,因此,为了成功监测到每一次更新事件,所述第一处理单元根据更新后的第二任务列表,在所述第一任务列表中更新所述目标第一类任务后,需要将相应的状态标识重新更新为第一值。
基于此,在一实施例中,在所述第一任务列表中更新所述目标第一类任务后,所述方法还可以包括:
所述第一处理单元将所述目标第一类任务对应的状态标识的值由所述第二值更新为所述第一值。
实际应用时,所述第一处理单元可以基于所述电子设备的定时器监测所述多个状态标识。
基于此,在一实施例中,所述监测多个状态标识中每个状态标识的值,可以包括:
所述第一处理单元针对所述多个状态标识中的每个状态标识,在所述电子设备的定时器每次进行基准时间的递增时,判断相应状态标识的值是否为所述第二值。
在步骤102中,实际应用时,所述电子设备可以设置有多个硬件定时器,所述第一处理单元执行所述第一任务列表中的每个任务时,可以为每个任务分配一个硬件定时器,基于分配的硬件定时器,根据相应第二信息指定的频率执行相应任务。当然,为了节省硬件资源,所述电子设备也可以仅设置一个硬件定时器,所述第一处理单元执行所述第一任务列表中的每个任务时,可以基于所述硬件定时器,为每个任务虚拟化出一个子定时器,基于得到的子定时器,根据相应第二信息指定的频率执行相应任务。
基于此,在一实施例中,所述根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务,可以包括:
所述第一处理单元针对所述第一任务列表中的每个任务,基于所述电子设备的定时器和相应的第二信息,生成一个虚拟化的子定时器;基于所述子定时器执行相应任务;所述子定时器的定时周期能够与相应任务的执行频率匹配。
这里,所述虚拟化的子定时器,可以理解为软件定时器,即通过程序代码实现的定时器。
所述子定时器的定时周期能够与相应任务的执行频率匹配,可以理解为:所述子定时器的定时周期与相应任务的执行频率为同一量级。示例性地,相应任务的执行频率为5秒时,所述子定时器的定时周期可以为1秒;相应任务的执行频率为60秒时,所述子定时器的定时周期可以为10秒;相应任务的执行频率为90毫秒时,所述子定时器的定时周期可以为10毫秒。
本发明实施例提供的嵌入式的任务调度方法,电子设备的第一处理单元确定初始化的第一任务列表;所述第一任务列表包含需要执行的多个任务和每个任务的相关参数;所述多个任务包含第一类任务和第二类任务;所述第一类任务的相关参数可配置;所述第二类任务的相关参数不可配置;所述相关参数包含第一信息和第二信息;所述第一信息表征是否需要执行相应任务;所述第二信息表征相应任务的执行频率;根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务。本发明实施例的方案,通过电子设备上的第一处理单元,确定所述电子设备需要执行的多个任务及每个任务的相关参数,并根据指定的频率执行每个任务,实现嵌入式的多任务调度;如此,对于资源受限且处理性能较差的处理器,不需要进行复杂的操作系统开发就能够实现多任务的调度,实现方式简单可靠,使得资源受限且处理性能较差的处理器能够应用到更多的场景,降低这些应用场景的实现成本;同时,由于所述多个任务包含相关参数可配置的第一类任务,用户可以根据需求选择合适的方式配置第一类任务的相关参数,从而能够提高实现多任务调度时的灵活性,进而提升用户体验。
下面结合应用实施例对本发明再作进一步详细的描述。
在本应用实施例中,所述电子设备称为裸机;所述第一处理单元称为调度器;所述第二处理单元称为管理任务;所述状态标识称为标志位。如图2所示,本应用实施例通过以下步骤在裸机上实现多任务调度:
步骤201:初始化裸机的硬件资源;之后执行步骤202;
步骤202:建立任务列表;之后执行步骤203;
步骤203:调度器(即所述第一处理单元)加载任务列表;之后执行步骤204;
步骤204:各任务在调度器控制下执行,直至退出结束(即关机)。
下面描述图2所示的各个步骤的具体实现。
首先,对于步骤201,初始化裸机的硬件资源是指:根据需求,对裸机的外部设备(可以简称为外设)、寄存器、定时器等硬件资源进行初始化配置。
这里,需要说明的是,在本应用实施例中,为了使裸机适用于资源受限的应用场景,除了应用场景的业务本身需要的硬件资源外,在裸机上实现多任务调度的过程只需要一个硬件定时器。
其次,对于步骤202,可以将任务列表中的任务划分成三类,包括:预设的管理任务(即所述第二处理单元)、固化任务(即所述第二类任务)和可以调节的任务(即所述第一类任务,也可以称为可变任务或可伸缩任务)。
其中,固化任务和可以调节的任务是根据应用场景的业务需求设置的,每个固化任务和每个可以调节的任务都对应有相关参数;所述相关参数包含执行开关(即所述第一信息)和执行频次(即所述第二信息)。固化任务是裸机固定要执行的任务,不可以进行相关参数的调节,即相关参数不可变。可以调节的任务的相关参数可以根据实际情况(比如用户需求或裸机的空闲资源)调节,即相关参数可变。这里,初始化的固化任务和可以调节的任务相当于上述初始化的第二任务列表。
所述管理任务用于管理固化任务和可以调节的任务,是裸机的一个初始任务,换句话说,是裸机默认需要执行的任务,用户不能对该任务相关的任何信息进行更改。实际应用时,可以将所述管理任务理解为裸机的嵌入式任务。所述管理任务主要用于用户与裸机设备的交互以及裸机设备自身空闲资源的统计。
具体地,如图3所示,所述管理任务本身可以预设自动模式或交互模式。在自动模式下,管理任务会根据统计的裸机设备自身的空闲资源(比如中央处理器(CPU,CentralProcessing Unit)的余量),对可以调节的任务的相关参数进行调节,并将调节参数下达给内部任务(即被调节的任务),以达到裸机设备资源利用率的最大化。比如,在统计的空闲资源较少的情况下,管理任务可以关闭可以调节的任务的执行开关,和/或,降低可以调节的任务的执行频次。在交互模式下,管理任务可以通过串口、网络连接或直接硬件(比如电阻器等)交互等方式获取用户指令,根据用户指令对可以调节的任务的相关参数进行调节,即通过人为设定直接调节任务开关和/或任务执行频次,并将调节参数下达给内部任务(即被调节的任务)
第三,对于步骤203,如图4所示,调度器加载初始化的任务列表(即上述初始化的第一任务列表),初始化的任务列表仅包含执行开关打开的固化任务和可以调节的任务;并根据初始化的任务列表进行子调度器的分配。这里,所述子调度器可以理解为基于硬件定时器衍生出的(或虚拟化的)软件的子定时器,换句话说,所述子调度器是基于硬件定时器、利用程序代码实现的。根据初始化的任务列表进行子调度器的分配是指:根据每个任务的执行频次,为相应任务分配定时周期匹配的子调度器(即子定时器)。
这里,每个可以调节的任务都对应一个标志位(即所述状态标识),所述调度器基于硬件定时器基准时间(可以简称为基时间)的递增,进行每个标志位的判断,即实现标志位的监测。管理任务在调节相关参数后,会更新相应的标志位;调度器监测到标志位更新时,可以确定任务列表发生变化。任务列表变化的来源主要有两个,第一,管理任务根据空闲资源动态调节;第二,用户通过管理任务人为调节指定任务。
通过对多个标志位的监测,调度器可以仅在确定任务列表发生变化时,再去重新获取(即加载)或删除相应任务及相关参数,再为相应任务重新分配子调度器或删除已经分配的子调度器。如此,能够节省无谓的资源损耗,使得裸机设备的整体系统(即程序的整体工作状态)呈现两种状态,第一,任务变化状态,持续时间较短;第二,平时工作状态(即任务不变的状态),是一种常态(即持续时间较长)。
第四,对于步骤204,任务列表中的各任务在调度器的控制下执行。其中,调度器基于管理任务的自动调节和人为调节维护初始化的任务列表,换句话说,基于管理任务的自动调节和人为调节实现多任务的调度。
本应用实施例提供的方案,具有以下优点:
第一,仅使用一个硬件定时器,虚拟化出多个子调度器,使得裸机设备具备多任务的调度能力,降低了多任务调度对硬件资源的依赖;
第二,基于管理任务使得裸机设备具备动态的自适应修改任务参数(包括执行开关和执行频次)的特性,并为用户提供根据需求自主修改指定任务参数的功能,使得裸机的任务具备一定的弹性调节的特性(即具有灵活性);
第三,基于调度器实现多任务的调度;整体方案的实现简单且可靠,无需操作系统的引入,适用于资源受限、低性能裸机任务调度的需求场景,解决了低资源处理器面临多变业务场景的挑战;
第四,通过预设多个标志位,使裸机能够实现正常工作态(即平时工作状态)和动态调节态(即任务变化状态)两种模式的切换。
为了实现本发明实施例的方法,本发明实施例还提供了一种嵌入式的任务调度装置,设置在电子设备中,如图5所示,该装置包括:
第一处理单元501,用于确定初始化的第一任务列表;所述第一任务列表包含需要执行的多个任务和每个任务的相关参数;所述多个任务包含第一类任务和第二类任务;所述第一类任务的相关参数可配置;所述第二类任务的相关参数不可配置;所述相关参数包含第一信息和第二信息;所述第一信息表征是否需要执行相应任务;所述第二信息表征相应任务的执行频率;
根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务。
其中,在一实施例中,所述第一处理单元501,具体用于根据相应的第一信息,从初始化的第二任务列表中确定需要执行的多个任务,得到所述第一任务列表;所述第二任务列表包含所述电子设备的全部任务和每个任务的相关参数。
在一实施例中,如图5所示,该装置还包括:
第二处理单元502,用于获取更新策略;根据所述更新策略,维护所述第二任务列表中的第一类任务。
其中,在一实施例中,所述第二处理单元502,具体用于确定所述电子设备的空闲资源;基于确定的空闲资源,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息。
在另一实施例中,所述第二处理单元502,具体用于获取所述电子设备外部的控制指令;基于获取的控制指令,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息。
在一实施例中,所述第二处理单元502,还用于在更新一个第一类任务的第一信息和/或第二信息后,将所述第一类任务对应的一个状态标识的值由第一值更新为第二值;
所述第一处理单元501,还用于监测多个状态标识中每个状态标识的值;监测到一个状态标识的值为所述第二值时,在更新后的第二任务列表中确定目标第一类任务;根据更新后的第二任务列表,在所述第一任务列表中更新所述目标第一类任务;并根据相应第二信息指定的频率,执行更新后的第一任务列表中的每个任务。
在一实施例中,在所述第一任务列表中更新所述目标第一类任务后,所述第一处理单元501,还用于将所述目标第一类任务对应的状态标识的值由所述第二值更新为所述第一值。
在一实施例中,所述第一处理单元501,具体用于执行以下之一:
在所述第一任务列表中添加所述目标第一类任务和所述目标第一类任务的相关参数;
在所述第一任务列表中删除所述目标第一类任务和所述目标第一类任务的相关参数;
在所述第一任务列表中更新所述目标第一类任务的第一信息和/或第二信息。
在一实施例中,所述第一处理单元501,具体用于针对所述多个状态标识中的每个状态标识,在所述电子设备的定时器每次进行基准时间的递增时,判断相应状态标识的值是否为所述第二值。
在一实施例中,所述第一处理单元501,具体用于针对所述第一任务列表中的每个任务,基于所述电子设备的定时器和相应的第二信息,生成一个虚拟化的子定时器;基于所述子定时器执行相应任务;所述子定时器的定时周期能够与相应任务的执行频率匹配。
这里,所述第一处理单元501的功能相当于本发明应用实施例中调度器的功能;所述第二处理单元502的功能相当于本发明应用实施例中管理任务的功能。
实际应用时,所述第一处理单元501可由该装置中的处理器实现;所述第二处理单元502可由该装置中的处理器结合通信接口实现。
需要说明的是:上述实施例提供的嵌入式的任务调度装置在进行任务调度时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的嵌入式的任务调度装置与嵌入式的任务调度方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备,如图6所示,该电子设备600包括:
通信接口601,能够与其他电子设备进行信息交互;
处理器602,与所述通信接口601连接,以实现与其他电子设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法;
存储器603,存储能够在所述处理器602上运行的计算机程序。
具体地,所述存储器603存储的能够在所述处理器602上运行的计算机程序包含第一计算机程序和第二计算机程序;所述处理器602用于运行所述第一计算机程序和所述第二计算机程序。其中,运行所述第一计算机程序时,所述处理器602,用于:
确定初始化的第一任务列表;所述第一任务列表包含需要执行的多个任务和每个任务的相关参数;所述多个任务包含第一类任务和第二类任务;所述第一类任务的相关参数可配置;所述第二类任务的相关参数不可配置;所述相关参数包含第一信息和第二信息;所述第一信息表征是否需要执行相应任务;所述第二信息表征相应任务的执行频率;
根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务。
在一实施例中,运行所述第一计算机程序时,所述处理器602,具体用于根据相应的第一信息,从初始化的第二任务列表中确定需要执行的多个任务,得到所述第一任务列表;所述第二任务列表包含所述电子设备的全部任务和每个任务的相关参数。
在一实施例中,运行所述第二计算机程序时,所述处理器602,用于获取更新策略;根据所述更新策略,维护所述第二任务列表中的第一类任务。
在一实施例中,运行所述第二计算机程序时,所述处理器602,具体用于确定所述电子设备的空闲资源;基于确定的空闲资源,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息。
在一实施例中,运行所述第二计算机程序时,所述处理器602,具体用于通过所述通信接口601获取所述电子设备外部的控制指令;基于获取的控制指令,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息。
在一实施例中,运行所述第二计算机程序时,所述处理器602,还用于在更新一个第一类任务的第一信息和/或第二信息后,将所述第一类任务对应的一个状态标识的值由第一值更新为第二值;
相应地,运行所述第一计算机程序时,所述处理器602,还用于监测多个状态标识中每个状态标识的值;监测到一个状态标识的值为所述第二值时,在更新后的第二任务列表中确定目标第一类任务;根据更新后的第二任务列表,在所述第一任务列表中更新所述目标第一类任务;并根据相应第二信息指定的频率,执行更新后的第一任务列表中的每个任务。
在一实施例中,运行所述第一计算机程序时,在所述第一任务列表中更新所述目标第一类任务后,所述处理器602,还用于将所述目标第一类任务对应的状态标识的值由所述第二值更新为所述第一值。
在一实施例中,运行所述第一计算机程序时,所述处理器602,具体用于执行以下之一:
在所述第一任务列表中添加所述目标第一类任务和所述目标第一类任务的相关参数;
在所述第一任务列表中删除所述目标第一类任务和所述目标第一类任务的相关参数;
在所述第一任务列表中更新所述目标第一类任务的第一信息和/或第二信息。
在一实施例中,运行所述第一计算机程序时,所述处理器602,具体用于针对所述多个状态标识中的每个状态标识,在所述电子设备600的定时器每次进行基准时间的递增时,判断相应状态标识的值是否为所述第二值。
在一实施例中,运行所述第一计算机程序时,所述处理器602,还具体用于针对所述第一任务列表中的每个任务,基于所述电子设备600的定时器和相应的第二信息,生成一个虚拟化的子定时器;基于所述子定时器执行相应任务;所述子定时器的定时周期能够与相应任务的执行频率匹配。
这里,所述第一计算机程序的功能相当于本发明应用实施例中调度器的功能;所述第二计算机程序的功能相当于本发明应用实施例中管理任务的功能。
需要说明的是:所述处理器602具体执行上述操作的过程详见方法实施例,这里不再赘述。
当然,实际应用时,电子设备600中的各个组件通过总线系统604耦合在一起。可理解,总线系统604用于实现这些组件之间的连接通信。总线系统604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统604。
本发明实施例中的存储器603用于存储各种类型的数据以支持电子设备600的操作。这些数据的示例包括:用于在电子设备600上操作的任何计算机程序。
上述本发明实施例揭示的方法可以应用于处理器602中,或者由处理器602实现。处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器602可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器603,处理器602读取存储器603中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。
可以理解,本发明实施例的存储器603可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其他适合类型的存储器。
除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本发明的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM或闪存)、光纤、CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
本发明中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
还需要指出的是,在本发明的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (15)

1.一种嵌入式的任务调度方法,其特征在于,包括:
电子设备的第一处理单元确定初始化的第一任务列表;所述第一任务列表包含需要执行的多个任务和每个任务的相关参数;所述多个任务包含第一类任务和第二类任务;所述第一类任务的相关参数可配置;所述第二类任务的相关参数不可配置;所述相关参数包含第一信息和第二信息;所述第一信息表征是否需要执行相应任务;所述第二信息表征相应任务的执行频率;
根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务。
2.根据权利要求1所述的方法,其特征在于,所述确定初始化的第一任务列表,包括:
所述第一处理单元根据相应的第一信息,从初始化的第二任务列表中确定需要执行的多个任务,得到所述第一任务列表;所述第二任务列表包含所述电子设备的全部任务和每个任务的相关参数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述电子设备的第二处理单元获取更新策略;根据所述更新策略,维护所述第二任务列表中的第一类任务。
4.根据权利要求3所述的方法,其特征在于,所述根据所述更新策略,维护所述第二任务列表中的第一类任务,包括:
所述第二处理单元确定所述电子设备的空闲资源;基于确定的空闲资源,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息。
5.根据权利要求3所述的方法,其特征在于,所述根据所述更新策略,维护所述第二任务列表中的第一类任务,包括:
所述第二处理单元获取所述电子设备外部的控制指令;基于获取的控制指令,在所述第二任务列表中更新所述第一类任务的第一信息和/或第二信息。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
所述第二处理单元更新一个第一类任务的第一信息和/或第二信息后,将所述第一类任务对应的一个状态标识的值由第一值更新为第二值;
所述第一处理单元监测多个状态标识中每个状态标识的值;监测到一个状态标识的值为所述第二值时,在更新后的第二任务列表中确定目标第一类任务;根据更新后的第二任务列表,在所述第一任务列表中更新所述目标第一类任务;并根据相应第二信息指定的频率,执行更新后的第一任务列表中的每个任务。
7.根据权利要求6所述的方法,其特征在于,在所述第一任务列表中更新所述目标第一类任务后,所述方法还包括:
所述第一处理单元将所述目标第一类任务对应的状态标识的值由所述第二值更新为所述第一值。
8.根据权利要求6所述的方法,其特征在于,所述在所述第一任务列表中更新所述目标第一类任务,包括以下之一:
所述第一处理单元在所述第一任务列表中添加所述目标第一类任务和所述目标第一类任务的相关参数;
所述第一处理单元在所述第一任务列表中删除所述目标第一类任务和所述目标第一类任务的相关参数;
所述第一处理单元在所述第一任务列表中更新所述目标第一类任务的第一信息和/或第二信息。
9.根据权利要求6所述的方法,其特征在于,所述监测多个状态标识中每个状态标识的值,包括:
所述第一处理单元针对所述多个状态标识中的每个状态标识,在所述电子设备的定时器每次进行基准时间的递增时,判断相应状态标识的值是否为所述第二值。
10.根据权利要求1至5任一项所述的方法,其特征在于,所述根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务,包括:
所述第一处理单元针对所述第一任务列表中的每个任务,基于所述电子设备的定时器和相应的第二信息,生成一个虚拟化的子定时器;基于所述子定时器执行相应任务;所述子定时器的定时周期能够与相应任务的执行频率匹配。
11.一种嵌入式的任务调度装置,其特征在于,包括:
第一处理单元,用于确定初始化的第一任务列表;所述第一任务列表包含需要执行的多个任务和每个任务的相关参数;所述多个任务包含第一类任务和第二类任务;所述第一类任务的相关参数可配置;所述第二类任务的相关参数不可配置;所述相关参数包含第一信息和第二信息;所述第一信息表征是否需要执行相应任务;所述第二信息表征相应任务的执行频率;
根据相应第二信息指定的频率,执行所述第一任务列表中的每个任务。
12.根据权利要求11所述的装置,其特征在于,所述第一处理单元,具体用于根据相应的第一信息,从初始化的第二任务列表中确定需要执行的多个任务,得到所述第一任务列表;所述第二任务列表包含电子设备的全部任务和每个任务的相关参数。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二处理单元,用于获取更新策略;根据所述更新策略,维护所述第二任务列表中的第一类任务。
14.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1至10任一项所述的方法步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至10任一项所述的方法步骤。
CN202110513824.9A 2021-05-12 2021-05-12 嵌入式的任务调度方法、装置、电子设备及存储介质 Pending CN112925633A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110513824.9A CN112925633A (zh) 2021-05-12 2021-05-12 嵌入式的任务调度方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110513824.9A CN112925633A (zh) 2021-05-12 2021-05-12 嵌入式的任务调度方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112925633A true CN112925633A (zh) 2021-06-08

Family

ID=76174828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110513824.9A Pending CN112925633A (zh) 2021-05-12 2021-05-12 嵌入式的任务调度方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112925633A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059275A1 (en) * 2006-08-31 2008-03-06 Bernard Keany Automatic task performance as scheduled using embedded secondary processor
CN102906696A (zh) * 2010-03-26 2013-01-30 维尔图尔梅特里克斯公司 计算机系统的细粒性能资源管理
CN106250219A (zh) * 2016-07-27 2016-12-21 南京国电南自美卓控制系统有限公司 基于智能化测时让度技术的保护平台优化调度方法
CN111538579A (zh) * 2020-04-23 2020-08-14 山东华芯半导体有限公司 一种嵌入式平台下的多任务运行方法
CN112256419A (zh) * 2020-10-27 2021-01-22 湖南中大检测技术集团有限公司 一种基于定时器时钟控制的嵌入式系统多任务调度方法
CN112416546A (zh) * 2020-11-10 2021-02-26 光华临港工程应用技术研发(上海)有限公司 多任务调度方法、电子装置和计算机存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059275A1 (en) * 2006-08-31 2008-03-06 Bernard Keany Automatic task performance as scheduled using embedded secondary processor
CN102906696A (zh) * 2010-03-26 2013-01-30 维尔图尔梅特里克斯公司 计算机系统的细粒性能资源管理
CN106250219A (zh) * 2016-07-27 2016-12-21 南京国电南自美卓控制系统有限公司 基于智能化测时让度技术的保护平台优化调度方法
CN111538579A (zh) * 2020-04-23 2020-08-14 山东华芯半导体有限公司 一种嵌入式平台下的多任务运行方法
CN112256419A (zh) * 2020-10-27 2021-01-22 湖南中大检测技术集团有限公司 一种基于定时器时钟控制的嵌入式系统多任务调度方法
CN112416546A (zh) * 2020-11-10 2021-02-26 光华临港工程应用技术研发(上海)有限公司 多任务调度方法、电子装置和计算机存储介质

Similar Documents

Publication Publication Date Title
CN106557369B (zh) 一种多线程的管理方法及系统
EP4209903A1 (en) Task scheduling method and apparatus
WO2014101010A1 (zh) 一种虚拟机系统的资源管理方法、虚拟机系统和装置
CN111104208A (zh) 进程调度管理方法、装置、计算机设备及存储介质
CN113190282A (zh) 安卓运行环境构建的方法及装置
CN113961346A (zh) 数据缓存的管理与调度方法、装置、电子设备和存储介质
CN111240864A (zh) 异步任务处理方法、装置、设备及计算机可读存储介质
CN115437755A (zh) 中断调度方法、电子设备及存储介质
CN112925633A (zh) 嵌入式的任务调度方法、装置、电子设备及存储介质
US10042414B2 (en) Concurrent network application scheduling for reduced power consumption
CN113806027B (zh) 任务编排方法、装置、电子设备和计算机可读存储介质
CN117319376A (zh) 文件下载控制方法、装置、电子设备及存储介质
KR20130051076A (ko) 응용프로그램 스케줄링 방법 및 장치
CN117271096A (zh) 调度方法、电子设备和计算机可读存储介质
CN117056080A (zh) 计算资源的分配方法、装置、计算机设备和存储介质
JP2002529850A (ja) システムにおける要求のスケジューリング
CN114911538B (zh) 一种运行系统的启动方法及计算设备
CN114356567A (zh) 一种slurm集群的伸缩方法、系统及设备
CN114546631A (zh) 任务调度方法、控制方法、核心、电子设备、可读介质
CN117539639B (zh) 显存资源调度方法、装置、系统、存储介质及电子设备
CN117093345B (zh) 任务链表的执行方法、装置、终端设备及存储介质
CN117234600A (zh) 安卓系统快速启动方法、系统及设备
KR101767418B1 (ko) 임베디드 운영체제에서 로직의 우선순위 보장 방법 및 그 장치
WO2024109787A1 (zh) 数据处理方法、装置和系统
CN114489824B (zh) 一种快速启动的控制方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210608