[发明专利]一种基于实时系统的动态任务调度方法与系统有效
申请号: | 201611127571.7 | 申请日: | 2016-12-09 |
公开(公告)号: | CN106802825B | 公开(公告)日: | 2019-11-05 |
发明(设计)人: | 岳东;陈磊;杨雪健;孙孝魁;杨天宝 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 田凌涛 |
地址: | 210023*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 实时 系统 动态 任务 调度 方法 | ||
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至3中任意一项所述实时系统的动态任务调度方法的系统,其特征在于,包括如下各单元:
接收单元:用于接收事件;
判优单元:用于实现事件优先级的比较;
队列单元:用于实现事件的排序;
执行单元:用于针对当前执行事件进行执行处理;
检测单元:用于检测执行单元中当前执行事件的数量,然后根据当前执行事件的数量进行系统资源分配;
中断存储单元:用于存储暂停事件和暂停事件的暂停节点,等待中断恢复单元查找并恢复执行;
中断恢复单元:用于查找中断存储单元中暂停事件和暂停事件的节点,并用于恢复执行暂停事件;
插入单元:用于实现接收事件向待执行任务序列中的插入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611127571.7/1.html,转载请声明来源钻瓜专利网。