【技术实现步骤摘要】
基于双链表的任务调度方法、装置、电子设备及存储介质
[0001]本公开涉及计算机
,尤其涉及一种基于双链表的任务调度方法、装置、电子设备及存储介质。
技术介绍
[0002]任务调度是操作系统的核心功能之一,其主要功能是依据某一准则选择某个已就绪的任务,并跳入这个任务中执行。大多数实时操作系统基于优先级进行调度,其任务调度方案中预先根据不同的处理类型将工作队列划分为不同类型的工作队列,使每个工作队列处理单一的工作类型。操作系统为每个任务分配一个优先级,调度器从已经就绪的各个任务中选择优先级最高的任务执行。
[0003]在传统的任务调度方法中,由于一些主流的操作系统及实时操作系统,对资源都有一定的要求,无法在低资源的情况下使用,例如在蓝牙芯片中、open cpu方案中的内置操作系统等。因此,在轻量级的实时操作系统中,留给开发的资源非常紧张,无法使用操作系统来实现任务的调度及模块化编程,导致现有的基于操作系统的任务调度方法存在系统资源占用高、程序逻辑混乱、任务分割不清、系统和应用层无界限分割等问题。
专利技术 ...
【技术保护点】
【技术特征摘要】
1.一种基于双链表的任务调度方法,其特征在于,包括:根据预设结点对应的数据结构生成双链表,所述双链表包括第一链表和第二链表;接收操作系统产生的启动指令,响应于所述启动指令,对所述第一链表执行第一循环操作,所述第一循环操作用于依次判断所述第一链表中的各个结点是否存在可执行任务;当在所述第一循环操作中,判断所述第一链表的结点存在可执行任务时,对所述第二链表执行第二循环操作,所述第二循环操作用于依次判断所述第二链表中的各个结点对应的事件状态,并根据所述事件状态执行相应的事件,以便对所述操作系统中的任务进行调度。2.根据权利要求1所述的方法,其特征在于,所述根据预设结点对应的数据结构生成双链表,包括:根据预设的链表格式,获取预设数量的空结点,将所述空结点按照顺序分别依次进行连接得到第一链表和第二链表;其中,所述空结点中包含数据域和指针域,所述数据域中用于存储实际数据,所述指针域中用于存储下一结点对应的首地址。3.根据权利要求1所述的方法,其特征在于,所述第一链表为进程链表,所述对所述第一链表执行第一循环操作,包括:根据所述进程链表中各个结点对应的数据域,判断所述进程链表是否为空链表;当所述进程链表不为空链表时,判断所述进程链表中的函数是否注册,并当所述进程链表中的函数已注册时,判断所述函数是否存在执行失败的情况;当所述函数存在执行失败的情况时,对所述执行失败的情况对应的错误日志进行记录,并判断所述进程链表中的结点是否存在可执行任务。4.根据权利要求3所述的方法,其特征在于,所述判断所述进程链表中的结点是否存在可执行任务,包括:按照所述进程链表中结点的排列顺序,依次遍历所述进程链表中的每个结点,当所述进程链表中的结点存在可执行任务时,执行该结点对应的任务,直至遍历完所述进程链表中的全部结点。5.根据权利要求3所述的方法,其特征在于,所述第二链表为线程链表,所述对所述第二链表执行第二循环操作,包括:当所述进程链表中的结点存在可执行任务时,跳转到所述线程链表;按照所述线程链表中结点的排列顺序,依次遍历所述线程链表中的每个结点,以便判断所述线程链表中的每个结点对应的事件状态,并根据所述事件状态执行所述线程链表中结点对应的事件。6.根据权利要求5所述的方法,其特征在于,所述事件状态包括...
【专利技术属性】
技术研发人员:陈志敏,温介邦,谢梅青,陈汉卿,刘涛,雷超,
申请(专利权)人:深圳集智数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。