[发明专利]一种多个周期任务的调度方法在审

专利信息
申请号: 201310664716.7 申请日: 2013-12-09
公开(公告)号: CN104699533A 公开(公告)日: 2015-06-10
发明(设计)人: 刘明;李娟;王瑞;张鹏仙 申请(专利权)人: 中国航空工业集团公司第六三一研究所
主分类号: G06F9/48 分类号: G06F9/48
代理公司: 西安智邦专利商标代理有限公司 61211 代理人: 杨引雪
地址: 710119 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 周期 任务 调度 方法
【说明书】:

技术领域

发明属于计算机控制领域,具体涉及一种多个周期任务的调度方法。

背景技术

在嵌入式实时系统中,周期任务的调度一直是研究的热点,周期任务的调度好坏是影响系统运行效率的重要因素。关于周期任务调度方法的研究层出不穷,产生了许多实时调度方法:例如经典的FCFS算法,RM算法,优先级继承、反转,静态的速率单调调度方法RMS和时限单调调度方法DMS以及动态的最后期限驱动算法DD和最短处理时间有限算法SPTF等,还有很多的改进算法。以往的调度方法侧重主要研究调度任务的选择依据以及如何进行调度任务周期的确定,未考虑在已有多个周期任务的情况下,如何根据任务的周期和调度时机进行调度。

发明内容

本发明的目的是:设计实现一种针对不同调度周期和调度时机的多个周期任务调度方法,实现在嵌入式实时系统中多个周期任务的调度,在占用CPU时间和资源较少的情况下保证周期任务的正确调度。

本发明的技术方案是:

一种多个周期任务的调度方法,其特殊之处在于:包括以下步骤:

1】根据多个周期任务的调度周期和调度时机,求取由所有的调度周期和调度时机组成的一组数的最大公约数pnum;

2】求取每个周期任务的调度周期和调度时机分别相对于pnum的倍数,并将每个周期任务的*function、At_period、At_turn组成一个字段依序存储在缓冲区;*fuction代表周期任务入口,At_period代表(调度周期/pnum)、At_turn代表(调度时机/pnum+1);

3】设置时钟中断的时间值为pnum;

4】在时钟中断触发后,按照存储顺序对缓冲区中的每一个周期任务信息进行查询,判断每一个周期任务的At_turn的值是否达到周期任务执行条件;如果某一个周期任务的At_turn的值达到周期任务执行条件,则进入该周期任务指定的周期任务入口,执行周期任务;如果某一个周期任务的At_turn的值未达到周期任务执行条件,则不执行周期任务,等待下一次时钟中断触发。

上述步骤4】具体为:判断当前周期任务的At_turn的值是否为1,如果当前周期任务的At_turn的值为1,则进入当前周期任务指定的周期任务入口*function,执行周期任务,并将At_period的值赋值给At_tum;如果当前周期任务的At_turn的值不为1,则At_turn减1,不执行当前周期任务,等待下一次时钟中断触发。

本发明的优点是:将所有周期任务各自的周期时间的最大公约数设置为时钟中断的触发时间间隔值,在周期时间值倍数关系明显即最大公约数的值比较大的情况下,CPU可以间隔较长时间对周期任务进行一次处理,工作效率大大提高;周期任务的调度周期和调度时机各数据之间倍数关系越明显,则方法效率越高,在时钟中断中对周期任务进行查询处理,可以有效保证周期任务按照自己的调度时机和调度周期正确执行且各周期任务执行互不干扰。本方法易于实现,计算量少,采用的数据结构和软件结构易于修改和扩展,任务调度方式灵活,适用面广。

具体实施方式

本发明侧重研究在已知周期任务周期和调度时机的情况下,如何根据周期任务的调度周期和调度时机进行多个周期任务实时调度的方法。即在一次调度中,对所有周期到达的任务进行调度,周期任务之间的调度互不干扰同时不占用CPU太多的时间和资源。

本发明周期任务调度主要关注调度时机和调度周期,不同的周期任务一般都会采用不同的调度时机和调度周期。本发明设计一种采用时钟中断和查询方式的周期任务调度方法,使得每个周期任务能够按照任务本身的调度时机和调度周期进行调度,而不受别的周期任务的干扰。

本发明的具体方法步骤是:

1】根据多个周期任务的调度周期和调度时机,求取由所有的调度周期和调度时机组成的一组数的最大公约数pnum;每一个周期任务都会对应一个调度周期和一个调度时机,则n个周期任务就会有n个调度周期和n个调度时机,针对n个调度周期和n个调度时机组成的一组数,求取最大公约数pnum;

2】求取每个周期任务的调度周期和调度时机分别相对于pnum的倍数,并将每个周期任务的*function、At_period、At_turn组成一个字段依序存储在缓冲区;*fuction代表周期任务入口,At_period代表(调度周期/pnum)、At_turn代表(调度时机/pnum+1);

3】设置时钟中断的时间值为pnum;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司第六三一研究所;,未经中国航空工业集团公司第六三一研究所;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310664716.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

400-8765-105周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top