【技术实现步骤摘要】
【国外来华专利技术】用于非抢占式系统的实时任务调度的方法和装置
[0001]本公开涉及一种用于非抢占式系统的实时任务调度的方法和装置。具体地,本公开涉及在非抢占式系统中通过带宽预留(reservation)来提供混合任务集的调度。
技术介绍
[0002]在任何计算系统中,操作系统(OS)提供用户和计算机硬件之间的接口。操作系统是执行所有基本任务(如文件管理、内存管理、进程管理、处理输入和输出设备、中断以及控制各种外围设备等)的软件。现在,基于类型,操作系统可以被定义为1)通用操作系统(GPOS)和2)实时操作系统(RTOS)。
[0003]调度是一种将任务分配给完成工作的资源的方法。具体地,调度是基于各种算法完成的,如完全公平调度(CFS)、循环调度(RR)、截止时间调度器(scheduler)等。基于适应的调度机制/算法,任务被调度。任务可以是虚拟计算元素,诸如线程、进程或数据流,它们依次被调度到硬件资源上,诸如处理器、网络链路或扩展卡。
[0004]任务可以进一步分为实时(RT)任务和非实时(NRT)任务。例如,RT任务是有严格时间线的任务。例如,来自任何实时系统(如空中交通管制系统、网络多媒体系统、命令控制系统等)的任务。NRT任务是与时间限制无关联的任务。
[0005]调度器执行所有调度活动,以保持所有计算机资源繁忙,并允许多个用户有效地共享系统资源,或者实现目标服务质量。调度器是提供多任务处理的计算系统的组成部分。
[0006]此外,诸如RTOS的抢占系统可以支持RT/NRT任务两者。因此,基于 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种由使用非抢占式系统的电子设备进行实时任务调度的方法,所述方法包括:由所述电子设备的调度器从操作系统(OS)运行时接收由至少一个实时(RT)任务定义的任务请求,其中所述至少一个实时(RT)任务要基于入队事件触发来排队;由所述调度器基于所述至少一个RT任务的执行截止时间、所述至少一个RT任务之后的下一个RT任务的执行截止时间以及与所述至少一个RT任务之后的下一个RT任务的执行相关联的最大执行时间中的至少一个,获得所述至少一个RT任务的产出时间;由所述调度器创建具有由所述产出时间定义的截止时间的带宽预留任务,用于所述至少一个RT任务之后的下一个RT任务的定时执行,所述带宽预留任务是不可执行的并且由空执行时间定义;由所述调度器根据早期截止时间优先(EDF)准则,基于所述至少一个实时任务和所述带宽预留任务中的每一个的截止时间,将所述至少一个实时任务连同所述带宽预留任务一起插入RT等待队列,以用于启用基于EDF的调度;以及由所述任务调度器根据基于EDF的调度,基于RT等待队列的可用时间来调度未调度的任务。2.根据权利要求1所述的方法,其中,将所述至少一个实时任务连同所述带宽预留任务一起插入所述RT等待队列使得所述调度器能够:从所述调度器的预留带宽服务器识别所述RT等待队列和NRT等待队列;基于明确所述RT等待队列中任务的存在,通过使所述RT等待队列优先于所述NRT等待队列来执行第一级调度;执行由以下中的一个或多个定义的第二级调度:根据所述RT等待队列内的至少一个任务的执行截止时间来调度所述至少一个RT任务;从所述OS运行时接收用于调度包括另一RT任务或NRT任务的未调度的任务的未调度任务请求,所述未调度任务请求在对应于等待队列内的所述带宽预留任务、到期的带宽预留任务、更新的带宽预留任务中的一个或多个的时刻到达;以及在所述RT等待队列的可用时间内,通过以下中的至少一个来执行优先级反转:如果另一RT任务的执行截止时间在与所述带宽预留任务相关联的截止时间之前过去,则在所述RT等待队列的可用时间内调度另一RT任务,所述RT等待队列的所述可用时间由所述带宽预留任务的松弛时间定义;和如果所述NRT任务的执行截止时间在与所述带宽预留任务相关联的截止时间之前过去,则在所述RT等待队列的可用时间内调度所述NRT任务,其中,所述RT等待队列的可用时间由入队事件或出队事件触发的未调度任务请求的到达时间定义,并基于所述带宽预留任务的松弛时间和与所述未调度的任务相关联的截止时间来计算。3.根据权利要求1所述的方法,还包括:由所述调度器从所述OS运行时接收由至少一个非实时(NRT)任务定义的任务请求,其中所述至少一个NRT任务要基于入队事件触发来排队;以及基于所述NRT任务的到达时间或所述NRT任务的最坏情况执行时间,将所述至少一个NRT任务插入NRT等待队列,以用于调度所述NRT任务的执行。4.根据权利要求1所述的方法,其中,与所述RT等待队列内的至少一个RT任务相关联的
带宽预留任务是由以下中的一个或多个定义的不可执行任务:与所述至少一个RT任务相同的到达时间;空执行时间;和与所述至少一个RT任务的到达时间、所述至少一个RT任务的执行截止时间和所述产出时间之和相对应的截止时间。5.根据权利要求1所述的方法,还包括:由所述调度器从所述OS运行时接收任务请求,作为要基于入队事件触发来排队的下一个至少一个RT任务;通过更新与至少一个先前RT任务相关联的带宽预留任务来创建另一带宽预留任务,所述另一带宽预留任务已经基于以下来计算:确定下一个至少一个RT任务的另一产出时间;和用所述另一产出时间更新带宽预留任务的截止时间,以用于定义所述另一带宽预留任务的截止时间。6.根据权利要求2所述的方法,其中,在与所述RT等待队列内的带宽预留任务相对应的时刻到达的所述RT任务或所述NRT任务对应于所述RT等待队列内不存在的可执行任务,从而对应于未调度的任务。7.根据权利要求1所述的方法,还包括:由所述调度器从所述调度器的预留带宽服务器识别所述RT等待队列和所述NRT等待队列;由所述调度器通过应用优先级反转以在所述RT等待队列的可用时间中调度一个或多个可调度任务,根据EDF调度来调度所述RT等待队列内的任务,其中所述可用时间由当前时间并从对应于入队或出队事件之一的事件触发确定,所述可用时间由所述RT等待队列内所述带宽预留任务的出现来界定,所述可...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。