1.一种基于实时系统的动态任务调度方法,其特征在于,针对系统所接收到的事件实现动态调度,包括如下步骤:步骤001.判断当前执行事件的数量是否达到系统当前执行任务数上限,是则进入步骤
002,否则系统直接将所接收到的事件作为当前执行事件进行执行;
步骤002.判断系统所接收到的事件为系统随机事件或人工添加事件,若系统所接收到的事件是系统随机事件,则进入步骤003;若系统所接收到的事件是人工添加事件,则定义人工添加事件的优先级为最高优先级,并进入步骤005;
步骤003.获得系统所接收事件的优先级,并判断当前各执行事件中,是否存在优先级小于系统所接收事件优先级的当前执行事件,是则进入步骤005,否则进入步骤004;
步骤004.将系统所接收事件按优先级降序顺序排列在待执行任务序列当中,动态调度结束;
步骤005.判断优先级小于系统所接收事件优先级的各个当前执行事件中,是否存在可中断事件,是则进入步骤006,否则返回步骤004;
步骤006.针对优先级小于系统所接收事件优先级的各个当前执行事件中的各个可中断事件,暂停最小优先级所对应的任意一个当前执行事件,并将该当前执行事件和该当前执行事件的暂停节点进行保存,同时将系统所接收事件作为当前执行事件进行执行,并进入步骤007;
步骤007.待任意一个当前执行事件完成执行,然后判断待执行任务序列当中是否存在事件,是则进入步骤008;否则进入步骤009;
步骤008.判断所保存暂停节点对应暂停事件的优先级是否小于待执行任务序列当中第一个事件的优先级,是则将待执行任务序列当中的第一个事件作为当前执行事件进行执行,并返回步骤007;否则将所保存执行节点对应的暂停事件作为当前执行事件,由执行节点位置继续执行,同时删除所保存的暂停节点,动态调度结束;
步骤009.将所保存执行节点对应的暂停事件作为当前执行事件,由执行节点位置继续执行,同时删除所保存的暂停节点,动态调度结束。
2.根据权利要求1所述一种基于实时系统的动态任务调度方法,其特征在于:当各个当前执行事件出现变化后,针对所述各个当前执行事件,按优先级降序顺序进行排序,获得当前执行事件排序,然后按当前执行事件排序,依次为各个当前执行事件递减分配系统资源。
3.根据权利要求2所述一种基于实时系统的动态任务调度方法,其特征在于:针对当前执行事件排序中优先级相同的各个当前执行事件,按剩余执行时间升序顺序进行排序,更新获得当前执行事件排序,然后按当前执行事件排序,依次为各个当前执行事件递减分配系统资源。
4.根据权利要求1所述一种基于实时系统的动态任务调度方法,其特征在于:所述步骤
004中,将系统所接收事件按优先级降序顺序排列在待执行任务序列当中,且系统所接收事件位于待执行任务序列当中相同优先级的事件之后。
5.一种基于权利要求1至4中任意一项所述实时系统的动态任务调度方法的系统,其特征在于,包括如下各单元:接收单元:用于接收事件;
判优单元:用于实现事件优先级的比较;
队列单元:用于实现事件的排序;
执行单元:用于针对当前执行事件进行执行处理;
检测单元:用于检测执行单元中当前执行事件的数量,然后根据当前执行事件的数量进行系统资源分配;
中断存储单元:用于存储暂停事件和暂停事件的暂停节点,等待中断恢复单元查找并恢复执行;
中断恢复单元:用于查找中断存储单元中暂停事件和暂停事件的节点,并用于恢复执行暂停事件;
插入单元:用于实现接收事件向待执行任务序列中的插入。