实时操作系统调度方法及装置、计算机可读存储介质制造方法及图纸

技术编号:21398595 阅读:22 留言:0更新日期:2019-06-19 06:53
本申请提供一种实时操作系统调度方法及装置、计算机可读存储介质,方法包括:根据当前工作队列头对应的工作链表,将所述工作链表中逻辑顺序排在首位的工作结点作为当前的待处理工作结点,其中,所述工作链表由工作结点构成,所述工作结点包括执行数据和执行方法;根据所述待处理工作的执行方法,对所述待处理工作的执行数据执行相应操作。本方案将执行方法注册在工作结点中,能够避免工作调度分配受到工作队列的类型限制,实现在同一工作队列中灵活添加或取消任意类型的工作结点,功能更加丰富,调度方案简便快捷,实现在实时操作系统上兼容Linux的工作队列。

【技术实现步骤摘要】
实时操作系统调度方法及装置、计算机可读存储介质
本申请涉及软件领域,尤其涉及一种实时操作系统调度方法及装置、计算机可读存储介质。
技术介绍
嵌入式操作系统(EmbeddedOperatingSystem,简称:EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等,其负责嵌入式系统的任务调度,控制、协调并发活动。目前在嵌入式领域广泛使用的嵌入式操作系统有:Linux、WindowsEmbedded等,以及嵌入式实时操作系统,例如,VxWorks等。对于实时操作系统,其任务调度方案中预先根据不同的处理类型将工作队列划分为不同类型的工作队列,每个工作队列能够处理的工作类型是单一的。当需要进行工作调度时,需要确定待调度工作的类型,进而查找到相匹配的工作队列进行工作添加。可见,目前的任务调度方案比较繁琐且不够灵活,通用性也较差,例如,在一些应用场景下无法实现与Linux驱动程序的兼容,导致在移植Linux驱动程序的过程中需要做额外的编码。
技术实现思路
本申请提供一种实时操作系统调度方法及装置、计算机可读存储介质,用于解决目前的任务调度方案繁琐不够灵活,通用性差的问题。本申请的第一个方面是提供一种实时操作系统调度方法,包括:根据当前工作队列头对应的工作链表,将所述工作链表中逻辑顺序排在首位的工作结点作为当前的待处理工作结点,其中,所述工作链表由工作结点构成,所述工作结点包括执行数据和执行方法;根据所述待处理工作的执行方法,对所述待处理工作的执行数据执行相应操作。本申请的第二个方面是提供一种实时操作系统调度装置,包括:调度模块,用于根据当前工作队列头对应的工作链表,将所述工作链表中逻辑顺序排在首位的工作结点作为当前的待处理工作结点,其中,所述工作链表由工作结点构成,所述工作结点包括执行数据和经注册的执行方法;执行模块,用于根据所述待处理工作的执行方法,对所述待处理工作的执行数据执行相应操作。本申请的第三个方面是提供一种实时操作系统调度装置,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,以执行如前所述的方法。本申请的第四个方面是提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时实现如前所述的方法。本申请提供的实时操作系统调度方法及装置、计算机可读存储介质中,工作队列包括表征该队列基本信息的工作队列头和工作链表,工作链表由工作结点以链表的结构构成,工作结点中预先注册有执行该工作所需的数据和方法,后续进行任务调度时,可将链表中逻辑顺序排在首位的工作结点作为当前待处理的工作,并基于工作结点的执行方法和执行数据完成相关操作。上述方案将执行方法注册在工作结点中,能够避免工作调度分配受到工作队列的类型限制,实现在同一工作队列中灵活添加或取消任意类型的工作结点,功能更加丰富,调度方案简便快捷,实现在实时操作系统上兼容Linux的工作队列。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。图1A~图1B为本申请实施例一提供的实时操作系统调度方法的流程示意图;图2为本申请实施例二提供的实时操作系统调度方法的流程示意图;图3为本申请实施例三提供的实时操作系统调度方法的流程示意图;图4为本申请提供的工作队列的架构示例图;图5为本申请实施例五提供的实时操作系统调度装置的结构示意图;图6为本申请实施例六提供的实时操作系统调度装置的结构示意图;图7为本申请实施例七提供的实时操作系统调度装置的结构示意图;图8为本申请实施例八提供的实时操作系统调度装置的结构示意图。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。图1A为本申请实施例一提供的一种实时操作系统调度方法的流程示意图,本实施例以该实时操作系统调度方法应用于实时操作系统调度装置来举例说明,如图1A所示,该方法包括:101、根据当前工作队列头对应的工作链表,将所述工作链表中逻辑顺序排在首位的工作结点作为当前的待处理工作结点,其中,所述工作链表由工作结点构成,所述工作结点包括执行数据和执行方法;102、根据所述待处理工作的执行方法,对所述待处理工作的执行数据执行相应操作。实际应用中,本实施例的执行主体可以为实时操作系统调度装置,该实时操作系统调度装置可以为驱动程序、程序代码软件,也可以为存储有相关执行代码的介质,例如,U盘等;或者,该实时操作系统调度装置还可以为集成或安装有相关执行代码的实体装置,例如,芯片、微控制单元(MicrocontrollerUnit,简称MCU)、电脑等。举例来说,该方案可应用于嵌入式实时操作系统内核。作为示例说明,本方案可应用于无内部互锁流水级的微处理器(Microprocessorwithoutinterlockedpipedstages,简称MIPS),该处理器具有高性能低功耗的特点,可应用于服务器、高性能计算机、低能耗数据中心、个人高性能计算机、高端桌面应用、高吞吐计算应用、工业控制、数字信号处理、高端嵌入式应用等产品。其中,链表结构是一种物理单元上非连续、非顺序的结构,链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。本方案的链表中各结点的逻辑顺序是通过各结点的指针链接次序实现的,每个结点包括三个部分:存储执行数据的数据域,存储下一个结点地址的指针域,以及注册在该结点中的执行方法。实际应用中,可以同时创建多个工作队列(WorkQueue),相应的,工作队列的队列头中的基本信息可以用于表征本工作队列,该基本信息可以包括但不限于:队列类型(例如,list)、队列名称(name)。队列头中还可以预置不同功能的函数和指令,例如,Task函数,current函数,end函数,wq指令,lock函数等,以支持对该工作队列的不同功能操作。具体的,本实施例中应用于实时操作系统的工作队列包括工作队列头和工作链表。工作队列头用于表征该工作队列,优选的,还可以支持对该工作队列的一些功能操作。工作链表由工作结点构成,每个工作结点自身包含有执行数据和执行方法。具体的,在进行任务调度时,可以将工作队列的工作链表中逻辑顺序排在首位的工作结点作为当前需要处理的工作,根据该工作结点中的执行方法,对该工作结点中的执行数据进行相应操作,完成当前待处理工作结点的工作调度和处理。后续,执行完当前待处理工作结点的工作后,更新当前的工作链表,再次查找到工作链表中逻辑顺序排在首位的工作结点执行相关操作,以此循环,直至工作链表中的工作结点均被执行完成。可选的,如图1B所示,在任本文档来自技高网...

【技术保护点】
1.一种实时操作系统调度方法,其特征在于,包括:根据当前工作队列头对应的工作链表,将所述工作链表中逻辑顺序排在首位的工作结点作为当前的待处理工作结点,其中,所述工作链表由工作结点构成,所述工作结点包括执行数据和执行方法;根据所述待处理工作的执行方法,对所述待处理工作的执行数据执行相应操作。

【技术特征摘要】
1.一种实时操作系统调度方法,其特征在于,包括:根据当前工作队列头对应的工作链表,将所述工作链表中逻辑顺序排在首位的工作结点作为当前的待处理工作结点,其中,所述工作链表由工作结点构成,所述工作结点包括执行数据和执行方法;根据所述待处理工作的执行方法,对所述待处理工作的执行数据执行相应操作。2.根据权利要求1所述的方法,其特征在于,所述根据所述待处理工作的执行方法,对所述待处理工作的执行数据执行相应操作之后,还包括:销毁所述工作链表中的所述待处理工作结点,并返回执行所述根据当前工作队列头对应的工作链表,将所述工作链表中逻辑顺序排在首位的工作结点作为当前的待处理工作结点的步骤。3.根据权利要求1所述的方法,其特征在于,所述根据当前工作队列头对应的工作链表,将所述工作链表中逻辑顺序排在首位的工作结点作为当前的待处理工作结点,包括:当事件处理进程被调度时,根据当前工作队列头对应的工作链表,将所述工作链表中逻辑顺序排在首位的工作结点作为当前的待处理工作结点。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若当前所述工作链表为空,则指示所述事件处理进程进入睡眠状态。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:根据添加指令,建立待添加的工作结点并在所述待添加的工作结点中注册需要执行的执行方法;通过调用预设的添加函数,将所述待添加的工作结点添加至所述工作链表的末尾。6.根据权利要求5所述的方法,其特征在于,所述通过调用预设的添加函数,将所述待添加的工作结点添加至所述工作链表的末尾之后,还包括:将所述待添加的工作结点的状态标记为入队状态。7.根据权利要求5所述的方法,其特征在于,所述方法还包括:根据所述添加指令,唤醒事件处理进程。8.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:接收取消指令,所述取消指令用于指示取消对所述工作链表中待取消工作结点的处理;若所述待取消工作结点尚未被执行,则通过调用预设的取消函数,将所述待取消工作结点从所述工作链表中取下,否则不执行操作。9.根据权利要求8所述的方法,其特征在于,所述若所述待取消工作结点尚未被执行,则通过调用预设的取消函数,将所述待取消工作结点从所述工作链表中取下之后,还包括:将所述被取消工作结点的状态标记为未入队状态。10.一种实时操作系统调度装置,其特征在于,包括:调度模块,用于根据当前工作队列头对应的工作链表,将所述工作链表中逻辑顺序排在首位的工作结点作为当前的待处理工作结点,其中,所述工作链表由工作结点构成,所述工作结点包括执行数据和经注...

【专利技术属性】
技术研发人员:李轶辛旭高翔
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:北京,11

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

1