[发明专利]一种基于Alarm的调度表实现方法无效

专利信息
申请号: 201010186875.7 申请日: 2010-05-28
公开(公告)号: CN101833478A 公开(公告)日: 2010-09-15
发明(设计)人: 李红;吴朝晖;王铸;张成硕;周丽 申请(专利权)人: 浙江大学
主分类号: G06F9/48 分类号: G06F9/48
代理公司: 杭州裕阳专利事务所(普通合伙) 33221 代理人: 江助菊
地址: 310027 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 alarm 调度 实现 方法
【说明书】:

技术领域

发明涉及操作系统任务调度方法技术领域,特别涉及操作系统的任务调度机制,是一种基于Alarm的调度表实现方法。

背景技术

Alarm(警报,或是闹钟)是处理操作系统中重复事件的一种现有机制。比如计时器重复产生中断,或者译码器在转轴转动了一个角度产生一个中断,这些事件被特殊的计时器记录,Alarm的实现就是基于计时器的。一个Alarm与一个计时器关联,但是一个计时器可以关联多个Alarm。每个Alarm中有一个到期时间,当一个Alarm到达用户配置好的时间点,就会处理用户配置的事件,比如激活任务、为任务设置事件、调用回调函数或者增加计时器的当前计数值。而且一个Alarm到期只能做这四种事件当中的一件。

调度表是操作系统中一种基于时间触发的任务调度方式,系统运行时根据调度表的配置来调度任务。用户根据时间约束指定每个任务、事件的激活时刻并以调度表的形式进行配置。在一个调度表上会有一个或多个EP(Expiry Point,到期点,终止点),每个EP点完成的事情是激活任务或者设置事件,而且,在一个EP点可以同时激活多个任务和设置多个事件。调度表的结构如图1所示。调度表的运行时间称为持续时间(Duration),调度表上有一些EP点,每个EP点在调度表上有一个Offset,也就是EP点在调度表上的偏移量,其是由用户定义的,当然,这个Offset的值不能超过它所在调度表的Duration。第一个EP点距离调度表起始端的距离称为InitialOffset,最后一个EP点距离调度表末端的距离称为FinalDelay。每个调度表至少包含一个EP点。EP点的内容可以是激活任务或者设置事件。

综上,一个Alarm只能激活一个任务或者设置一个事件,且其运行时间间隔是固定的;而在操作系统(OS)中实现调度表是势在必行的,调度表上的一个EP点就需要同时激活多个任务和设置多个事件,并且一个调度表可能会有多个EP点,其运行时间间隔需要灵活调整。所以,如何很好地解决Alarm与调度表的融合这一技术问题,成为本领域技术人员函待解决的技术难题。

发明内容

本发明的目标是设计一种方法,其能够基于Alarm实现调度表,该方法包括如下步骤:

1)调度表开始运行,特殊Alarm将到期时间设置成第一个EP点的执行时间;

2)特殊Alarm到期,激活EP点,EP点开始执行;特殊Alarm将到期时间设置成下一个EP点的执行时间,按照EP点的偏移量顺序往后执行;

3)当执行完最后一个EP点,操作系统会判断调度表是否是重复执行的;如果是重复执行的,特殊Alarm将到期时间设置成第一个EP点的执行时间,调度表从头开始运行;

4)如果不是重复执行的,操作系统会判断是否存在下一个调度表,如果存在,则将特殊Alarm的到期时间设置成下一个调度表的第一个EP点的执行时间,当前调度表执行完之后,下一个调度表开始执行;

5)如果不存在下一个调度表,则该调度表运行结束。

优选地,所述的特殊Alarm的数据结构中包括Alarm指向计时器的指针。

优选地,所述的特殊Alarm的数据结构中包括下一个触发点的tick值(跳动点)。

优选地,所述的特殊Alarm的数据结构中包括关联的调度表id(标识)。

本发明还公开了一种将EP点插入到计时器、以便在操作系统中实施基于Alarm实现调度表的方法,其特征在于,具体包括以下步骤:

1计时器向前运行;

2与计时器对应的Alarm链表的链表头的Alarm到期;

3操作系统判断到期的Alarm类型;

4如果是通用Alarm,则处理Alarm中的事情;

5如果是特殊Alarm,就会激活Alarm对应的EP点,进入到EP点的执行过程;

6然后判断执行的EP点在其对应的调度表上是否存在下一个EP点;

7如果存在,则将Alarm的到期时间变成下一个EP点的执行时间,然后按照到期时间插入到计时器的链表中;

8如果是调度表上的最后一个EP点,这时会判断调度表是否重复执行;

9如果是重复执行的,则将Alarm的到期时间变成第一个EP点的执行时间,并且按照到期时间插入到对应的链表中;

10如果不是重复执行的,操作系统会判断是否存在下一个调度表;

11如果存在下一个调度表,则将Alarm的到期时间变成下一个调度表的第一个EP点的执行时间,并且按照到期时间插入到链表中;

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

周一至周五 9:00-18:00

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