一种嵌入式操作系统的任务调度方法、装置及存储介质制造方法及图纸

技术编号:23399692 阅读:33 留言:0更新日期:2020-02-22 12:00
本发明专利技术公开了一种嵌入式操作系统的任务调度方法,调度初始化,定义空闲时间最小优先的调度模式,其中任务预测能完成的时间与其截止时间的差值称定义为空闲时间,将该调度方法添加进宏定义中并将其放在调度链表的头部同时重新对嵌入式操作系统的原有调度模式进行优先权排序,使得新加入的调度模式优先级高于原有调度算法;对数据结构和调度参数的进行初始化,在所述嵌入式操作系统中设置额外的算法调度的运行队列,并将所述的运行队列加入到全局调度器的就绪队列中;通过定义空闲时间最小优先的调度模式调度的任务集合都被安排在了额外队列中;同时通过红黑树的数据结构存储所述任务集合所有任务。

Task scheduling method, device and storage medium of embedded operating system

【技术实现步骤摘要】
一种嵌入式操作系统的任务调度方法、装置及存储介质
本专利技术涉及计算机
,尤其涉及一种嵌入式操作系统的任务调度方法、装置及存储介质。
技术介绍
嵌入式设备的运算能力越来越强,很多嵌入式装置具有多媒体摄像(拍摄视频,照片连拍或者录音功能),通过摄像头获取的实时数据则以普通文件的方式保存于文件系统之中。嵌入式装置通常支持通用的文件系统格式(如FAT12、FAT16、FAT32、NTFS、ExFAT、Ext2、Ext3、HFS、HFS+等)。通用文件系统的支持,意味着介质中存储的文件不需要进行任何格式装换,就可以与其它支持这些文件系统格式的系统进行数据的共享使用。所以存储文件写入数据的时候,都必须按照相关文件系统之格式,数据组织规则(如文件的属性信息存储位置,文件存储位置的分布规则等),对的存储设备进行访问。嵌入式设备中多媒体部分支持录音或者拍摄视频,而录音或者摄像等会产生数据流,数据流按照普通流媒文件保存于文件系统中。如录音保存的文件为PCM、ADPCM、MP3、amr等音频文件。摄像视频保存avi、mov等视频格式文件,而这些文件格式也遵循数据一些文件格式规范,如frame头信息+数据节点等的数据信息写入文件必须符合这些格式规范。嵌入式操作系统如Linux系统启动时BIOS(BasicInputOutputSystem,基本输入输出系统)会提供处理器相关的静态信息,Linux系统以处理器相关的静态信息为基础,根据HT(Hyper-Threading,超线程),内核(core),SMP(SymmetricalMulti-Processing,对称多处理机)、NUMA(Non-UniformMemoryAccess,非一致性共享内存访问)节点之间的关系将系统结构划分成了3个级别的调度域(SchedulingDomain),每个调度域为具有相同属性的一组处理器(CPU,CentralProcessingUnit)的集合,如图1所示,3个级别的调度域分别为SMT(SimultaneousMultithreading、同时多线程)域、SMP域、NMUA域,各个不同级别的调度域之间通过指针链接在一起,从而形成一种多层次的架构。现有的这种架构主要用于周期性的对多个处理器之间进行负载均衡,或在每次执行完毕后对多个处理器之间进行负载均衡,还用于根据用户空间下发的CPU亲和性进行系统调用。现有技术中的多核处理器系统运行应用程序时,大多以线程为调度单位运行,然而,专利技术人在研究中发现,目前的线程调度过程中,是按照线程的优先级确定将要切换的线程,而忽略了多核处理器系统共享资源产生的资源竞争或浪费而导致多核处理器系统性能下降的问题。现有的基于多核处理器的调度方法对多个处理器之间进行的负载均衡属于处理器调度完成任务之后的事后调整行为,但是对于调度之前多个处理器间的任务分配不均衡、不精细则无法解决。而且CPU亲和性的相关策略只能从用户空间手动下发,调度器只能根据用户空间指定的CPU亲和性来对任务进行调度,而无法实现调度器的智能化调度。
技术实现思路
本专利技术旨在至少解决现有技术中存在的技术问题。为此,本专利技术公开了一种嵌入式操作系统的任务调度方法,包括:调度初始化,定义空闲时间最小优先的调度模式,其中任务预测能完成的时间与其截止时间的差值称为空闲时间,将该调度方法添加进宏定义中并将其放在调度链表的头部同时重新对嵌入式操作系统的原有调度模式进行优先权排序,使得新加入的调度模式优先级高于原有调度算法;对数据结构和调度参数的进行初始化,在所述嵌入式操作系统中设置额外的算法调度的运行队列,并将所述的运行队列加入到全局调度器的就绪队列中;通过定义空闲时间最小优先的调度模式调度的任务集合都被安排在了额外队列中;同时通过红黑树的数据结构存储所述任务集合所有任务,其中,所述红黑树中的每一个节点标识为一个任务;通过在系统中设置第一中断函数,并利用所述第一中断函数来实时更新红黑树上的节点,使得保证空闲时间最小的任务节点的任务优先级最高以保证该任务在调度时被系统选中。更进一步地,监测任务的执行时间对调度的影响值,其中,所述影响值包括系统完成任务的速度、任务等待时长,若影响值大于预设阈值,则更换调度模式并重新监测任务执行对调度的影响情况。更进一步地,根据任务的空闲时间为其分配优先级,空闲时间越短任务的优先级越高,所述嵌入式操作系统每次调度都会查询预估的任务完成时间表,并选择空闲时间最短的任务为其分配处理器资源让其运行。更进一步地,所述嵌入式操作系统为Linux系统。更进一步地,查询红黑树对应的进程中的所有线程分组,判断是否所有的所述线程分组正在执行最高优先权的任务,遍历所有的线程察验该线程的执行任务情况,若检测到有线程并未执行最高优先权的任务,若检测到低优先权的任务正在被执行,则通过第二中断函数重新调整调度模式,并查阅调度逻辑日志。本专利技术还公开了一种电子装置,包括:处理器;以及,存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的嵌入式操作系统的任务调度方法。本专利技术进一步公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的嵌入式操作系统的任务调度方法。本专利技术与现有技术相比,由于嵌入式操作系统由于其应用的特殊领域对系统的实时性有着较高的要求,针对算法的实时性和可调度性,设计了一种新的调度方法,实现嵌入式处理器之间的任务分配均衡性、更精细化的提高,并且能够感知系统的拓扑结构,从而可以自行获知处理器的亲和性,不需要用户的手动下发,提高调度的智能化。附图说明从以下结合附图的描述可以进一步理解本专利技术。图中的部件不一定按比例绘制,而是将重点放在示出实施例的原理上。在图中,在不同的视图中,相同的附图标记指定对应的部分。图1是本专利技术的一种嵌入式操作系统的任务调度方法的结构图。图2是本专利技术的一实施例所示的一种嵌入式操作系统的任务调度方法的流程图。具体实施方式实施例一如图1所示CPU调度模型,本实施提供了一种相应的嵌入式操作系统的任务调度方法,如图2所示,包括:调度初始化,定义空闲时间最小优先的调度模式,其中任务预测能完成的时间与其截止时间的差值称为空闲时间,将该调度方法添加进宏定义中并将其放在调度链表的头部同时重新对嵌入式操作系统的原有调度模式进行优先权排序,使得新加入的调度模式优先级高于原有调度算法;对数据结构和调度参数的进行初始化,在所述嵌入式操作系统中设置额外的算法调度的运行队列,并将所述的运行队列加入到全局调度器的就绪队列中;通过定义空闲时间最小优先的调度模式调度的任务集合都被安排在了额外队列中;同时通过红黑树的数据结构存储所述任务集合所有任务,其中,所述红黑树中的每一个节点标识为一个任务;通过在系统中设置第一中断函数,并利用所述第一中断函数来实时更新红黑树上的节点,使得保证空闲时间最小的任务节点的任务优先级最高以保证该任务在调度时被系统选中。更进一步本文档来自技高网
...

【技术保护点】
1.一种嵌入式操作系统的任务调度方法,其特征在于,调度初始化,定义空闲时间最小优先的调度模式,其中任务预测能完成的时间与其截止时间的差值定义为空闲时间,将该调度方法添加进宏定义中并将其放在调度链表的头部同时重新对嵌入式操作系统的原有调度模式进行优先权排序,使得新加入的调度模式优先级高于原有调度算法;对数据结构和调度参数的进行初始化,在所述嵌入式操作系统中设置额外的算法调度的运行队列,并将所述的运行队列加入到全局调度器的就绪队列中;通过定义空闲时间最小优先的调度模式调度的任务集合都被安排在了额外队列中;同时通过红黑树的数据结构存储所述任务集合所有任务,其中,所述红黑树中的每一个节点标识为一个任务;通过在系统中设置第一中断函数,并利用所述第一中断函数来实时更新红黑树上的节点,使得保证空闲时间最小的任务节点的任务优先级最高以保证该任务在调度时被系统选中。/n

【技术特征摘要】
1.一种嵌入式操作系统的任务调度方法,其特征在于,调度初始化,定义空闲时间最小优先的调度模式,其中任务预测能完成的时间与其截止时间的差值定义为空闲时间,将该调度方法添加进宏定义中并将其放在调度链表的头部同时重新对嵌入式操作系统的原有调度模式进行优先权排序,使得新加入的调度模式优先级高于原有调度算法;对数据结构和调度参数的进行初始化,在所述嵌入式操作系统中设置额外的算法调度的运行队列,并将所述的运行队列加入到全局调度器的就绪队列中;通过定义空闲时间最小优先的调度模式调度的任务集合都被安排在了额外队列中;同时通过红黑树的数据结构存储所述任务集合所有任务,其中,所述红黑树中的每一个节点标识为一个任务;通过在系统中设置第一中断函数,并利用所述第一中断函数来实时更新红黑树上的节点,使得保证空闲时间最小的任务节点的任务优先级最高以保证该任务在调度时被系统选中。


2.如权利要求1所述的一种嵌入式操作系统的任务调度方法,其特征在于,监测任务的执行时间对调度的影响值,其中,所述影响值包括系统完成任务的速度、任务等待时长,若影响值大于预设阈值,则更换调度模式并重新监测任务执行对调度的影响情况。


3.如权要求2所述的一种嵌入式操作系统的任务调度...

【专利技术属性】
技术研发人员:祖校锋李占国陈海赞王玖玖
申请(专利权)人:湖南智领通信科技有限公司
类型:发明
国别省市:湖南;43

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

1