一种基于分区操作系统的多时间调度表切换方法

文档序号:9787235阅读:337来源:国知局
一种基于分区操作系统的多时间调度表切换方法
【技术领域】
[0001]本发明属于计算机软件设计技术领域,具体涉及一种基于分区操作的多时间调度表切换方法。
【背景技术】
[0002]随着综合模块化航空电子系统的发展,越来越多的航空设备开始采用更加先进的综合模块化航空电子系统。在综合模块化航空电子系统中,软件的地位显得原来越重要。在综合模块化航空电子系统的操作系统中,其提供的分区空间隔离机制使各子系统应用软件在空间上相互隔离,其提供的分区时间隔离机制通过定义时间调度表使各子系统应用软件在运行时序和频率上严格确定,互不影响。
[0003]但这种严格确定的时间调度表对于部分设备来说显得过于严格,例如,在初始化状态,每个分区可能需要一定的时间来完成数据和硬件的初始化,但这个时间在正常操作时是并不需要的,用一个时间调度表同时来兼顾初始化和正常操作过程,可能会导致更长的初始化时间或者无用的时间窗口。

【发明内容】

[0004]为了解决【背景技术】中的问题,本发明提供了一种针对分区操作系统的中动态改变多个分区的运行时序及运行频率的基于分区操作系统的多时间调度表切换方法。
[0005]本发明的技术方案:
[0006]本发明提出了一种基于分区操作系统的多时间调度表切换方法,其特征在于,包括以下步骤:
[0007]I)给分区操作系统内的多个分区定义多个时间调度表;
[0008]每个时间调度表均包括有不同的时间调度表名称、时间调度表标识,并约定缺省激活的时间调度表标识;
[0009]2)定义多个时间调度表之间的切换时机;所述切换时机包括下一个时钟TICK到来时切换、当前时间窗口结束时切换以及下一个主时间框架开始时切换;
[0010]3)执行多个时间调度表之间的切换;
[0011]3.1)分区操作系统执行当前时间调度表;所述当前时间调度表为缺省激活的时间调度表;
[0012]3.2)分区操作系统选取待切换的时间调度表并对切换时机是否到达进行监控;一旦检测到切换时机到达,则对当前时间调度表与待切换的时间调度表进行切换,并将待切换的时间调度表作为新的时间调度表开始执行。
[0013]该方法还包括定义多个时间调度表切换过程中的分区的切换动作;所述分区的切换动作包括冷启动、热启动、挂起以及忽略。
[0014]上述步骤3)还包括步骤3.3),所述步骤3.3):新的时间调度表开始执行时,对新的时间调度表中的分区执行分区的切换动作。
[0015]本发明的有益效果是:
[0016]1、本发明通过多时间调度表切换机制,实现了系统处于不同模态下分区调度策略可变的目的,提高了系统的灵活性。
[0017]2、本发明定义多种的时间调度表切换时机,满足不同系统对于时间调度表的调度完整性及时间调度表切换紧迫性的需要。
[0018]3、本发明定义多种时间调度表切换动作,不同模态下时间调度表切换后,可根据需要将分区置于需要的状态,满足不同系统对于时间调度表切换后的确定性需求。
【附图说明】
[0019]图1为包含切换动作的时间调度表切换流程示意图;
[0020]图2为无切换动作的时间调度表切换流程示意图;
[0021 ]图3为下一个时钟Tick执行时间调度表切换示意图;
[0022]图4为当前时间窗口结束执行时间调度表切换示意图;
[0023]图5为下一个主时间框架开始点执行时间调度表切换示意图。
【具体实施方式】
[0024]下面结合附图对本发明的方法流程进行详细描述
[0025]步骤I)给分区操作系统内的多个分区定义多个时间调度表;
[0026]每个时间调度表均包括有不同的时间调度表名称、时间调度表标识,并约定缺省激活的时间调度表标识;
[0027]步骤2)定义多个时间调度表之间的切换时机;;
[0028]预先定义三种时间调度表切换时机,三种时间调度表切换时机的图示描述见图3、图4和图5。
[0029]设置当前有效的切换时机为三种预定义时机之一。
[0030]切换时机包括下一个时钟TICK到来时切换、当前时间窗口结束时切换以及下一个主时间框架开始时切换;
[0031]下一个时钟TICK到来时切换
[0032]应用软件请求时间调度表切换后,当操作系统的下一个时钟TICK到来时,执行应用软件的时间调度表切换请求。
[0033]当前时间窗口结束时切换
[0034]应用软件请求时间调度表切换后,当操作系统正在调度的时间调度表对应的当前时间窗口时间结束时,执行应用软件的时间调度表切换请求。
[0035]下一个主时间框架开始时切换
[0036]应用软件请求时间调度表切换后,当操作系统真正在调度的时间调度表对应的当前主时间框架(时间调度表的一次循环)执行结束,下一个主时间框架开始时,执行应用软件的时间调度表切换请求。
[0037]步骤3)定义调度表切换动作;
[0038]预先定义四种时间调度表切换动作,并为系统中的每个分区设置其时间调度表切换动作。系统中每个分区可以有不同的时间调度表切换动作。
[0039]时间调度表切换后,新时间调度表中可包含未启动过的分区或已经启动并运行的分区;对于未启动的分区可直接进行启动,对于已经运行的分区,可选择相应的时间调度切换动作并在分区窗口时间开始时执行,以便在新的时间调度表执行时能够将其中的分区置于一定的状态。时间调度表切换动作包括:
[0040]a.冷启动
[0041]把新时间调度表中之前已经运行的分区冷启动,分区重新按照冷启动流程重新初始化。
[0042]b.热启动
[0043]把新时间调度表中之前已经运行的分区热启动,分区重新按照热启动流程重新初始化。
[0044]c.挂起
[0045]把新时间调度表中之前已经运行的分区挂起,分区被设置为空闲状态,在新的时间调度表中不再执行。
[0046]cL 忽略
[0047]对新时间调度表中之前已经运行的分区不执行任务动作,分区继续上一调度表中的状态继续执行。
[0048]3)执行多个时间调度表之间的切换;
[0049]3.1)分区操作系统执行当前时间调度表;所述当前时间调度表为缺省激活的时间调度表;
[0050]3.2)分区操作系统选取待切换的时间调度表并对切换时机是否到达进行监控;一旦检测到切换时机到达,则对当前时间调度表与待切换的时间调度表进行切换,并将待切换的时间调度表作为新的时间调度表开始执行;
[0051]3.3):新的时间调度表开始执行时,对新的时间调度表中的分区执行分区的切换动作。
[0052]具体来说:
[0053]时间调度表切换;
[0054]如图1所示,应用软件请求时间调度表切换,系统首先检查当前正在运行的时间调度表是否是要切换的时间调度表,如果是,则此次切换无效,否则,设置时间调度表切换标志并记录本次请求切换的时间调度表标识以及当前有效的时间调度表切换时机。
[0055]同时,根据当前有效的时间调度表切换时机,监控切换时机的到达,如果切换时间未到达,则继续执行当前时间调度表,如果切换时机到达,则进行时间调度表切换,并开始新的时间调度表执行。
[0056]执行时间调度表切换动作;
[0057]新的时间调度表执行后,在新的时间调度表中每个时间窗口对应的分区运行前,需检查该分区在之前的时间调度表中是否运行过,如果运行过,则执行该分区所设置的时间调度表切换动作,如果该分区在之前的时间调度表中未运行过,则不执行该分区的时间调度表切换动作,如图2所示。
【主权项】
1.一种基于分区操作系统的多时间调度表切换方法,其特征在于,包括以下步骤: 1)给分区操作系统内的多个分区定义多个时间调度表; 每个时间调度表均包括有不同的时间调度表名称、时间调度表标识,并约定缺省激活的时间调度表标识; 2)定义多个时间调度表之间的切换时机;所述切换时机包括下一个时钟TICK到来时切换、当前时间窗口结束时切换以及下一个主时间框架开始时切换; 3)执行多个时间调度表之间的切换; 3.1)分区操作系统执行当前时间调度表;所述当前时间调度表为缺省激活的时间调度表; 3.2)分区操作系统选取待切换的时间调度表并对切换时机是否到达进行监控;一旦检测到切换时机到达,则对当前时间调度表与待切换的时间调度表进行切换,并将待切换的时间调度表作为新的时间调度表开始执行。2.根据权利要求1所述的基于分区操作系统的多时间调度表切换方法,其特征在于,还包括定义多个时间调度表切换过程中的分区的切换动作;所述分区的切换动作包括冷启动、热启动、挂起以及忽略。3.根据权利要求2所述的基于分区操作系统的多时间调度表切换方法,其特征在于:所述步骤3)还包括步骤3.3),所述步骤3.3):新的时间调度表开始执行时,对新的时间调度表中的分区执行分区的切换动作。
【专利摘要】本发明属于计算机系统软件专业技术领域,涉及分区操作系统的多时间调度表切换方法。本发明的主要步骤是为整个系统多个时间调度表;定义三种时间调度表切换时机:下一个时钟TICK到来时切换、当前时间窗口结束时切换、下一个主时间框架开始时切换,为分区定义四种时间调度表切换动作:冷启动、热启动、挂起、忽略;发起时间调度表切换请求;监控时间调度表切换时机的到来;进行时间调度表切换;为分区执行调度表切换动作。达到了分区操作系统中动态改变多个分区的运行时序及运行频率的效果。
【IPC分类】G06F9/48
【公开号】CN105550027
【申请号】CN201510907017
【发明人】陈晓磊, 李运喜, 时磊, 仝敏, 张东, 梅涛
【申请人】中国航空工业集团公司西安航空计算技术研究所
【公开日】2016年5月4日
【申请日】2015年12月9日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1