当前位置: 首页 > 专利查询>浙江大学专利>正文

基于SmartOSEK OS的非周期性任务调度方法技术

技术编号:4008136 阅读:239 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种基于SmartOSEK?OS的非周期性任务调度方法,其特征在于:在基于优先级调度的多任务单处理器系统中,利用Sporadic?Server来调度非周期性任务,其与基于优先级的调度算法一起形成了当前SmartOSEK?OS中的调度系统。本发明专利技术的调度方法在基于优先级调度的多任务单处理器系统中,利用Sporadic?Server来调度非周期性任务,从而保证任务的可调度性、实时性,并使调度性能的实时性、稳定安全性得到提高。

【技术实现步骤摘要】

本专利技术涉及一种非周期性任务调度方法,特别是涉及基于SmartOSEK OS的非周期 性任务调度方法。
技术介绍
实时操作系统的主要目标在于保证硬实时任务,一般是周期性任务的实时性,并 尽量降低非周期性任务的平均响应时间。单处理器系统中存在多个任务在同一时间段内 申请处理器资源,如何正确处理这些任务的执行时间以及执行顺序是解决实时性问题的关 键。因为非周期任务的到达不定时以及执行时间不确定的特点,优先级较高的非周期性任 务在一定程度上会阻止周期性任务的正常运行。因此高实时性能的操作系统都会提供处理 非周期性任务的调度算法。SmartOSEK OS是由浙江大学嵌入式工程中心根据国家汽车电子软件发展的需 求而自主研发的符合0SEK/VDX标准的嵌入式实时操作系统。0SEK/VDX是国际汽车工业 为提高汽车电子软件的重用性,降低软件开发成本而提出的汽车开放结构的工业标准。 SmartOSEK OS是多任务的单处理器系统,在同一时间内可以同时存在周期性任务、非周期 性任务,所有任务的优先级是用户根据任务的重要性配置的。一般来说任务的触发时间是 随机的,保证周期任务的实时要求和非周期性任务的低响应时间是SmartOSEK OS的责任。调度非周期性任务的最简单方法就是将非周期任务作为后台任务处理,但是这种 方法使得非周期性任务的响应时间很长。为降低任务的平均响应时间,流行的做法就是建 立一个周期性服务,以下简称为server,专门为非周期性任务的调度服务,在该服务能申请 到的处理器时间内有规律的调用非周期性任务执行。一个sever主要用两个属性来描述 优先级以及能量(capacity或者budget),其中优先级作为与其他周期性任务竞争处理器 的参数,capacity是server能够申请到的处理器时间。当server的capacity不为空时,非 周期任务可以运行在server的优先级竞争处理器。如果获得处理器成功,在执行任务的同 时也消耗server的capacity,直到任务执行结束,或者capacity消耗殆尽。如果capacity 消耗尽,该非周期任务需要等待capacity的补给。Sporadic Server算法是众多server算 法中比较优秀的一种带宽保留算法。
技术实现思路
本专利技术的目的是提供一种在基于优先级调度的多任务单处理器系统中,利用 Sporadic Server来调度非周期性任务,从而保证任务的可调度性、实时性,并使调度性能 的实时性、稳定安全性得到提高的非周期性任务调度方法。为解决上述技术问题,本专利技术采取以下技术方案一种基于SmartOSEK OS的 非周期性任务调度方法,其特征在于在基于优先级调度的多任务单处理器系统中,利 用Sporadic Server来调度非周期性任务,其与基于优先级的调度 算法一起形成了当前 SmartOSEK OS中的调度系统。本专利技术的调度方法在基于优先级调度的多任务单处理器系统中,利用Sporadic Server来调度非周期性任务,从而保证任务的可调度性、实时性,并使调度性能的实时性、 稳定安全性得到提高。附图说明图 1 是 Sporadic Server 在 SmartOSEK OS 中执行流 程。 具体实施例方式下面结合附图对本专利技术的技术方案进行详细说明。为保证任务的可调度性和实时性(周期性任务在周期结束前执行完毕以及非周 期性任务的低响应时间),本专利技术将Sporadic server算法引进SmartOSEK OS中负责调度 非周期任务。在基于优先级调度的多任务单处理器系统中,利用Sporadic Server来调度非 周期性任务,且只有非周期任务会分配给一个server调度,具体地说,Sporadic Server是 一种算法,这里的server是指为实现SporadicServer而在OS内建立的一个周期性任务, 即server是为了实现Sporadic server算法,在os中的运行实体。针对SmartOSEK中的 实现,server就是一个周期性任务。Pfij^E Sporadic server ^^iSiST SmartOSEK OSSporadic Server 算法引进OS中处理非周期性任务的调度后,其与基于优先级的调度算法一起形成了当前 SmartOSEK OS中的调度系统;SmartOSEK OS中的全局调度器仍使用基于优先级的调度 算法来调度周期性任务以及所有的server,所述全局调度器是让最高优先级的任务或者 capacity不为空且存在就绪任务的server来抢占处理器,所谓就绪状态的server是指 能量不为空且存在就绪的非周期任务的server ;局部调度器则使用Sporadic server来 调度非周期任务,将所有非周期任务按照FIFO的原则放至对应的server就绪队列中。而 SmartOSEK OS只关心server的存在,不关心系统中当前到底有几个非周期性任务。Sever的主要属性有两个,即优先级以及能量(capacity或者budget),并且可 由用户根据任务集来配置,其中优先级作为与其他周期性任务竞争处理器的参数,而能量 (capacity)是server能够申请到的处理器时间。Sporadic Server算法中,在下一次补给时刻之前,server会一直保留着 capacity ;当server的capacity不为空时,非周期任务可以运行在server的优先级 因而能够与其他任务竞争处理器,得到处理器执行任务的同时需要消耗server的能量 (capacity)直到任务执行结束,或者直到能量(capacity)消耗殆尽。如果能量(capacity) 消耗尽,则该非周期任务需要等待能量(capacity)的补给。在SmartOSEK OS中,sporadic server作为一个特殊的周期性任务,除了周期以 及优先级外,还具有与其他周期性任务不同的属性特征,如下所示(1)non-periodic tasks,queue 每一个 server 根据 FIFO 算法调度归属于该 server的非周期性任务。(2) execution capacity 该变量用来描述server的capacity大小,控制非周期 性任务运行的时间。(3)replenishment period 用于server周期性补给的时间约束。(4)replenishment queue 用于存储该server的多个补给时刻以及补给量的数组。(5) alarm 补给操作执行时刻计时器。(6) remaining budget 当前server的剩余capacity,即可以占有处理器的时间。(7)budget start 标记 capacity 开始消耗的时刻。Sporadic Server参数(周期以及capacity)的配置是基于配置的任务集的,合理 的server参数可以很好地调整周期性任务与非周期性任务执行顺序。Sporadic server的capacity算法(补给与消耗算法)有很多种,SmartOSEK OS 中使用的capacity算法如下所示(1)在系统启动时,将capacity初始化为满。(2)只有当本文档来自技高网
...

【技术保护点】
一种基于SmartOSEKOS的非周期性任务调度方法,其特征在于:在基于优先级调度的多任务单处理器系统中,利用SporadicServer来调度非周期性任务,其与基于优先级的调度算法一起形成了当前SmartOSEKOS中的调度系统。

【技术特征摘要】

【专利技术属性】
技术研发人员:李红周丽周霖张成硕王铸吴朝晖
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1