基于分时分区操作系统的速率组调度算法

文档序号:10624643阅读:887来源:国知局
基于分时分区操作系统的速率组调度算法
【专利摘要】本发明是一种基于分时分区操作系统的速率组调度算法。该算法的调度单位为速率组,速率组具有周期和优先级属性。速率组的周期为主帧的倍数,相同周期的任务处于同一个速率组。周期越短的速率组具有越高的优先级,可以抢占其它任何速率组。按照速率组周期要求调度速率组任务,同一个速率组中各个任务运行的顺序按照注册的顺序依次执行。将注册到速率组的任务分为周期任务和后台任务,周期任务必须在其周期内完成,后台任务不需要在对应速率组的周期内完成。根据分时分区操作系统提供的帧计数来确定哪个速率组被调度。此算法满足飞控应用需求,为分区内飞控任务提供高可靠、高实时任务调度机制。
【专利说明】
基于分时分区操作系统的速率组调度算法
技术领域
[0001]本发明是一种基于分时分区操作系统的速率组调度算法。
[0002]背景描述
[0003]目前飞控领域为了提高可靠性大多使用分时分区操作系统,针对飞控领域任务的特性,需要提出一种基于分时分区操作系统的分区内任务调度算法。

【发明内容】

[0004]本发明包含的具体功能内容有:
[0005](I)速率组具有周期和优先级属性;
[0006](2)速率组有二种状态:等待态、就绪态和运彳丁态;
[0007](3)注册到速率组的任务分为周期任务和后台任务;
[0008](4)通过分时分区操作系统提供的时间调度表机制和虚拟中断机制实现速率组调度算法。
【具体实施方式】
[0009]1.速率组具有周期和优先级属性
[0010]速率组按周期运行,速率组的周期为主帧的倍数。主帧是分时分区操作系统时间调度表中的概念,时间调度表按照主帧时间进行配置,调度时反复执行相同的主帧,一个分区可以在主帧里有多个时间窗口,关于时间调度表参见说明书附图图1。
[0011]速率组具有优先级,最快的速率组有最尚的优先级,可以抢占其它任何速率组。周期越小的速率组优先级越高。
[0012]2.速率组状态
[0013]速率组拥有三种状态,具体描述如下:
[0014](I)等待态表示速率组等待下一个周期到来;
[0015](2)就绪态表示速率组运行周期到来;
[0016](3)运行态表示速率组内有运行任务。
[0017]3.任务分为周期任务和后台任务
[0018]每个速率组中的任务共同使用一个独立的栈,不同的速率组使用不同的栈。注册到速率组的任务分为周期任务和后台任务,具体描述如下:
[0019](I)周期任务:相同周期的任务注册到同一个速率组,周期任务必须在速率组周期内执行完成,当一个速率组再次被调度运行时,其前一次运行的任务没有全部完成,此时将触发一个超时故障;
[0020](2)后台任务:所有的后台任务注册到同一个速率组,后台任务不需要在对应速率组的周期内完成。当所有的后台任务被执行完后,将在下一次对应的速率组被调度时再次被调度。后台任务所在速率组优先级最低。
[0021]4.通过分时分区操作系统提供的时间调度表机制和虚拟中断机制实现速率组调度算法
[0022]时间调度表调度是分时分区操作系统为分区提供的一种调度算法,在该算法中,操作系统按照用户配置的时间调度表对分区进行调度,关于时间调度表参见说明书附图1。
[0023]虚拟中断是分时分区操作系统为分区提供的中断异常处理机制,虚拟中断分为外部中断、异常、tick中断及服务中断。分区间可以通过虚拟服务中断进行通信。
[0024]分区内任务速率组调度算法基于分时分区操作系统提供的时间调度表机制和虚拟中断机制实现。分时分区操作系统在时间窗口通知时,向当前时间窗口的分区发送一个分区窗口切换服务中断。分区在分区窗口切换服务中断处理程序中实现速率组调度。
[0025]分区窗口切换服务中断处理程序主要完成以下功能:
[0026](I)使能该分区的分区窗口切换服务中断;
[0027](2)查看前拍是否有被中断的速率组,如果存在,调用故障处理;
[0028](3)获取当前系统帧计数,并将相应的速率组置为就绪态;
[0029](4)按照速率组优先级对速率组进行调度,如果本拍就绪速率组优先级低于被中断速率组,本拍就绪速率组置为等待态,放弃本拍运行;否则将本拍就绪速率组置为运行态,按注册顺序运行速率组内任务,任务运行完成,将本拍就绪速率组置为等待态。
[0030]关于速率组任务调度流程参见说明书附图2。
【附图说明】
[0031]说明书附图中:图1是时间调度表;图2是速率组任务调度流程。
【主权项】
1.一种基于分时分区操作系统的速率组调度算法,完成一次功能完整的调度包含以下内容: (1)速率组具有周期和优先级属性,速率组的周期为主帧的倍数,相同周期的任务处于同一个速率组;周期越短的速率组具有越高的优先级,可以抢占其它任何速率组;按照速率组周期要求调度速率组任务,同一个速率组中各个任务运行的顺序按照注册的顺序依次执行。 (2)速率组有二种状态:等待态、就绪态和运彳丁态。 (3)注册到速率组的任务分为周期任务和后台任务,周期任务必须在其周期内完成,后台任务不需要在对应速率组的周期内完成。 (4)通过分时分区操作系统提供的时间调度表机制和虚拟中断机制实现速率组调度算法,分时分区操作系统在时间窗口通知时,向当前时间窗口的分区发送一个分区窗口切换服务中断;分区在分区窗口切换服务中断处理程序中实现速率组调度。
【文档编号】G06F9/48GK105988867SQ201510045296
【公开日】2016年10月5日
【申请日】2015年1月29日
【发明人】熊继东
【申请人】北京科银京成技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1