CN101833477A - 基于SmartOSEK OS的非周期性任务调度方法 - Google Patents

基于SmartOSEK OS的非周期性任务调度方法 Download PDF

Info

Publication number
CN101833477A
CN101833477A CN 201010186849 CN201010186849A CN101833477A CN 101833477 A CN101833477 A CN 101833477A CN 201010186849 CN201010186849 CN 201010186849 CN 201010186849 A CN201010186849 A CN 201010186849A CN 101833477 A CN101833477 A CN 101833477A
Authority
CN
China
Prior art keywords
server
task
energy
priority
aperiodicity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 201010186849
Other languages
English (en)
Other versions
CN101833477B (zh
Inventor
李红
周丽
周霖
张成硕
王铸
吴朝晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN 201010186849 priority Critical patent/CN101833477B/zh
Publication of CN101833477A publication Critical patent/CN101833477A/zh
Application granted granted Critical
Publication of CN101833477B publication Critical patent/CN101833477B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于SmartOSEK OS的非周期性任务调度方法,其特征在于:在基于优先级调度的多任务单处理器系统中,利用Sporadic Server来调度非周期性任务,其与基于优先级的调度算法一起形成了当前SmartOSEK OS中的调度系统。本发明的调度方法在基于优先级调度的多任务单处理器系统中,利用Sporadic Server来调度非周期性任务,从而保证任务的可调度性、实时性,并使调度性能的实时性、稳定安全性得到提高。

Description

基于SmartOSEK OS的非周期性任务调度方法
技术领域
本发明涉及一种非周期性任务调度方法,特别是涉及基于SmartOSEK OS的非周期性任务调度方法。
背景技术
实时操作系统的主要目标在于保证硬实时任务,一般是周期性任务的实时性,并尽量降低非周期性任务的平均响应时间。单处理器系统中存在多个任务在同一时间段内申请处理器资源,如何正确处理这些任务的执行时间以及执行顺序是解决实时性问题的关键。因为非周期任务的到达不定时以及执行时间不确定的特点,优先级较高的非周期性任务在一定程度上会阻止周期性任务的正常运行。因此高实时性能的操作系统都会提供处理非周期性任务的调度算法。
SmartOSEK OS是由浙江大学嵌入式工程中心根据国家汽车电子软件发展的需求而自主研发的符合OSEK/VDX标准的嵌入式实时操作系统。OSEK/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就是一个周期性任务。
所述Sporadic server算法适应于SmartOSEK OS的需求,将Sporadic 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)只有当非周期性任务在运行时,capacity才会消耗。
(3)只有server的capacity被非周期性任务消耗后才可以补给
(4)当server或者比server更高优先级任务运行时,开始计算补给时刻,而且补给时刻为当前时刻加上server的周期。
(5)当capacity从上次补给过后被消耗了,并且当前server没有任务需要执行时,要计算当前server需要的补给数量。
当非周期性任务就绪并且当前server的capacity不为空、server的优先级是当前系统中最高优先级时,sporadic server负责调度执行非周期性任务;当capacity为空时,要立刻挂起server对应的非周期性任务,执行其他就绪的周期任务。
SmartOSEK OS支持多个server共存,能够处理不同重要度的非周期任务。优先级较低的非周期性或者执行时间很长的任务可以分配给优先级稍低的server调度,该server的能量(capacity)可以较长;优先级较高或者执行时间很短的任务可以分配给优先级较高的server调度,该server的能量(capacity)可以适当变小。通过上述设置可以尽量使得非周期任务的平均响应时间降低,而且可以尽量降低对周期性任务的影响,从而使得周期性任务仍然能够在最后期限前完成。
图1描述了Sporadic Server这个特殊周期任务在SmartOSEK OS中执行流程。根据本发明中的sporadic server的算法以及server的数据结构描述,参考图1的操作流程描述,在SmartOSEK OS中实现sporadic server,并将该模块作为OS的可裁剪模块。
如图1所示:
(1)在配置阶段,每个非周期性任务需要配置唯一对应的Server。
(2)当非周期性任务到达系统后,OS根据FIFO原则将其放置在对应的server的非周期任务就绪列表中。
(3)如果server的capacity不为零而且就绪表不为空,则该server处于就绪状态,即该server对于OS来说就是一个就绪的周期任务,可以参与调度。
(4)如果server是系统中优先级最高的就绪任务,则处于该server就绪任务列表的队首非周期任务可以占用处理器执行任务。
(5)非周期任务执行的同时也要消耗capacity,任务每执行一个时间单位则capacity也需要减少一个时间单位。
(6)如果server的capacity耗尽,或者任务执行结束都要将server处于非就绪状态。等待capacity的补给或者就绪的非周期任务。
本发明测试的硬件环境为:使用HCS12开发板一块:运行SmartOSEK OS内核代码;使用调试器将基于SmartOSEK OS的编写的应用程序烧写至HCS12开发板。本发明测试的软件环境为:使用CodeWarrior IDE用来编译并连接调试器将应用程序下载到开发板上运行。
通过在Freescale HCS12上测试引入了sporadic server后的SmartOSEK OS,可以得到:sporadic server能够明显提高SmartOSEKOS任务集合的可调度性、实时性,非周期性任务的平均响应时间降低,周期性任务在截止期限前完成的比例提高。

Claims (8)

1.一种基于SmartOSEK OS的非周期性任务调度方法,其特征在于:在基于优先级调度的多任务单处理器系统中,利用SporadicServer来调度非周期性任务,其与基于优先级的调度算法一起形成了当前SmartOSEK OS中的调度系统。
2.如权利要求1所述调度方法,其特征在于:SmartOSEK OS中的全局调度器用于调度最高优先级的任务抢占处理器,所述最高优先级的任务是周期任务或处于就绪状态的server。
3.如权利要求1或2所述调度方法,其特征在于:SmartOSEK OS中的局部调度器使用Sporadic server来调度非周期任务,将所有非周期任务按照FIFO的原则放至对应的server的就绪队列中。
4.如权利要求3所述调度方法,其特征在于:Sporadic Server算法作为一种带宽保留算法,在下一次能量补给时刻之前,server会一直保留着能量。
5.如权利要求4所述调度方法,其特征在于:Sporadic server的补给与消耗算法如下:
(1)在系统启动时,将每个server的能量初始化为满;
(2)只有当非周期性任务在运行时,对应的server能量才会消耗;
(3)只有非周期性任务对应的server的能量被非周期性任务消耗后才能够补给;
(4)当server或者比server更高优先级任务运行时,开始计算该server的补给时刻,而且所述补给时刻为当前时刻加上server的周期;
(5)当server的能量从上次补给时刻过后被消耗了,并且当前server没有任务需要执行时,计算当前server需要补给的能量补给数量。
6.如权利要求5所述调度方法,其特征在于:当非周期性任务就绪并且对应的server的能量不为空、且server的优先级是当前系统中最高优先级时,sporadic server负责调度执行非周期性任务;随着server的能量消耗为空时,OS就要立刻挂起server对应的非周期性任务,执行其他就绪的周期任务或者server。
7.如权利要求6所述调度方法,其特征在于:OS支持多个server,优先级较低或者执行时间很长的非周期性任务分配给优先级稍低的server调度,该server的能量较长;
优先级较高或者执行时间很短的非周期性任务分配给优先级较高的server调度,该server的能量适当较小。
8.如权利要求7所述调度方法,其特征在于:Sporadic Server在SmartOSEK OS中执行流程为:
(1)在配置阶段,为每个非周期性任务配置唯一对应的Server;
(2)当非周期性任务到达SmartOSEK OS后,SmartOSEK OS根据FIFO原则将其放置在对应的server的非周期任务就绪列表中;
(3)如果server的能量不为零而且就绪表不为空,则该server处于就绪状态、能够参与调度;
(4)如果server是系统中优先级最高的就绪任务,则处于该server就绪任务列表的队首非周期任务能够占用处理器执行任务;
(5)非周期任务执行的同时也要消耗capacity,任务每执行一个时间单位则capacity也需要减少一个时间单位;
(6)如果server的能量耗尽,或者任务执行结束都要将server处于非就绪状态。
CN 201010186849 2010-05-28 2010-05-28 基于SmartOSEK OS的非周期性任务调度方法 Expired - Fee Related CN101833477B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010186849 CN101833477B (zh) 2010-05-28 2010-05-28 基于SmartOSEK OS的非周期性任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010186849 CN101833477B (zh) 2010-05-28 2010-05-28 基于SmartOSEK OS的非周期性任务调度方法

Publications (2)

Publication Number Publication Date
CN101833477A true CN101833477A (zh) 2010-09-15
CN101833477B CN101833477B (zh) 2013-06-12

Family

ID=42717554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010186849 Expired - Fee Related CN101833477B (zh) 2010-05-28 2010-05-28 基于SmartOSEK OS的非周期性任务调度方法

Country Status (1)

Country Link
CN (1) CN101833477B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306112A (zh) * 2011-08-11 2012-01-04 浙江大学 基于contract的提高AUTOSAR OS调度灵活性和资源利用率的方法
CN103729245A (zh) * 2013-12-27 2014-04-16 普华基础软件股份有限公司 一种osek操作系统内核动态过程静态化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050131865A1 (en) * 2003-11-14 2005-06-16 The Regents Of The University Of California Parallel-aware, dedicated job co-scheduling method and system
US20070061788A1 (en) * 2005-03-14 2007-03-15 Dan Dodge Process scheduler employing ordering function to schedule threads running in multiple adaptive partitions
CN101452404A (zh) * 2008-12-09 2009-06-10 中兴通讯股份有限公司 一种嵌入式操作系统的任务调度装置及方法
CN101609417A (zh) * 2009-07-17 2009-12-23 西安电子科技大学 基于VxWorks操作系统的混合任务集调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050131865A1 (en) * 2003-11-14 2005-06-16 The Regents Of The University Of California Parallel-aware, dedicated job co-scheduling method and system
US20070061788A1 (en) * 2005-03-14 2007-03-15 Dan Dodge Process scheduler employing ordering function to schedule threads running in multiple adaptive partitions
CN101452404A (zh) * 2008-12-09 2009-06-10 中兴通讯股份有限公司 一种嵌入式操作系统的任务调度装置及方法
CN101609417A (zh) * 2009-07-17 2009-12-23 西安电子科技大学 基于VxWorks操作系统的混合任务集调度方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306112A (zh) * 2011-08-11 2012-01-04 浙江大学 基于contract的提高AUTOSAR OS调度灵活性和资源利用率的方法
CN103729245A (zh) * 2013-12-27 2014-04-16 普华基础软件股份有限公司 一种osek操作系统内核动态过程静态化方法
CN103729245B (zh) * 2013-12-27 2017-03-08 普华基础软件股份有限公司 一种osek操作系统内核动态过程静态化方法

Also Published As

Publication number Publication date
CN101833477B (zh) 2013-06-12

Similar Documents

Publication Publication Date Title
Kato et al. Semi-partitioned scheduling of sporadic task systems on multiprocessors
Faggioli et al. An EDF scheduling class for the Linux kernel
Gaur et al. Operating systems for IoT devices: A critical survey
Qadi et al. A dynamic voltage scaling algorithm for sporadic tasks
Will et al. A real-time kernel for wireless sensor networks employed in rescue scenarios
Huang et al. Implementation and evaluation of mixed-criticality scheduling approaches for periodic tasks
CN101339521A (zh) 一种任务优先级动态调度算法
Yao et al. Comparative evaluation of limited preemptive methods
CN101452404A (zh) 一种嵌入式操作系统的任务调度装置及方法
Inam et al. The multi-resource server for predictable execution on multi-core platforms
Yip et al. Relaxing the synchronous approach for mixed-criticality systems
CN111209046A (zh) 一种面向多任务处理的嵌入式sparc处理器操作系统设计方法
Abeni et al. Constant bandwidth server revisited
CN103914346A (zh) 一种基于分组的实时操作系统双优先级任务调度节能方法
CN101833477B (zh) 基于SmartOSEK OS的非周期性任务调度方法
Wei et al. A linux implementation of the energy-based fair queuing scheduling algorithm for battery-limited mobile systems
Kato et al. A loadable real-time scheduler suite for multicore platforms
KR101311305B1 (ko) 데드라인 기반 우선순위상속 시스템 및 그 방법
Bambagini et al. An energy-aware algorithm exploiting limited preemptive scheduling under fixed priorities
Sousa et al. Enhancing the real-time capabilities of the Linux kernel
Facchinetti et al. Non-preemptive interrupt scheduling for safe reuse of legacy drivers in real-time systems
Wan et al. A time-aware programming framework for constructing predictable real-time systems
Zhou et al. An event-driven multi-threading real-time operating system dedicated to wireless sensor networks
Thekkilakattil et al. Probabilistic preemption control using frequency scaling for sporadic real-time tasks
Chen et al. Adaptive dynamic power management for hard real-time pipelined multiprocessor systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20100915

Assignee: Hangzhou Suma Technology Co., Ltd.

Assignor: Zhejiang University

Contract record no.: 2017330000040

Denomination of invention: Aperiodic task scheduling method based on SmartOSEK OS

Granted publication date: 20130612

License type: Exclusive License

Record date: 20170406

EE01 Entry into force of recordation of patent licensing contract
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130612

Termination date: 20170528

CF01 Termination of patent right due to non-payment of annual fee