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

基于线性链表的实时任务可调度性测试直接模拟方法技术

技术编号:12484182 阅读:85 留言:0更新日期:2015-12-10 22:11
基于线性链表的实时任务可调度性测试直接模拟方法。本发明专利技术方法包括:根据给定的调度模型,采用一个线性链表记录调度模拟和测试过程,对任务τ1,τ2,...,τn,在给定的时间起点SimSP到截止时间点SimEP内按优先级从高到低顺序模拟每个任务τi的所有任务实例的调度执行。本发明专利技术用于需要确定给定的一组实时任务是否是可调度的模拟或仿真或实际应用系统中。

【技术实现步骤摘要】
【专利说明】
: 本专利技术涉及一种。
技术介绍
: 在实时系统设计和应用过程中,对于给定的η个周期性或者不定时发生的实时任务, 在真正调度和执行之前判定这组实时任务是否可调度,即每个任务被释放之后是否都能在 其相对最后期限内执行完毕,这是一个十分重要的问题,对于保证实时系统安全运行具有 极为重要的意义。 经典的优先抢占调度模型,简称为CP模型,其中CP即classic preemptive,CP 模型的调度方式为:每当低优先级任务在运行过程中有高优先级任务到来时,低优先级任 务将被剥夺执行权而高优先级任务开始执行,当高优先级任务执行完毕且没有其它高优 先级任务等待执行时,该低优先级任务从被剥夺的位置处继续执行;事务处理方式的优先 抢占调度模型,简称为TP模型,其中TP即transactional preemptive,例如,TP模型有 基于优先级的功能反应式编程模型,简称为P-FRP模型,其中P-FRP即joriori /rac reac Ke 或者中止并重新开始模型,简称为AR模型,其中 AR即abort-and-restart;或者软件事务存储器模型,简称为STM模型,STM即software transactional memory,STM模型包括渴望冲突检测策略和懒惰冲突检测策略,渴望冲突检 测策略简称为ECD策略,其中ECD即eager conflict detection,懒惰冲突检测策略简称 为LCD策略,其中LCD即lazy conflict detection;TP模型的调度方式为:每当低优先级 任务在运行过程中有高优先级任务到来时,低优先级任务将被剥夺执行权而高优先级任务 开始执行,该低优先级任务已执行的结果都被废弃,当高优先级任务执行完毕且没有其它 高优先级任务等待执行时,该低优先级任务从其最开始位置重新执行;符号串r- s表示将 变量s的值赋值给变量r;min(a,b)即取a和b中的最小值,max(a,b)即取a和b中的最 大值;mod(a,b)即a模b后的余数;lcm(a,b)即a和b的最小公倍数;任务的一次释放称 为该任务的一个任务实例(job)或者调用(invoke)或者任务实例(instance);【和】之间、 K和3之间、『和』之间、、「和」之间分别表示一个语句体;任务实例执行中止包括执行 被尚优先级任务中断和执行完成。 给定调度模型为CP模型或者TP模型;在一组η个实时任务的可调度性(或可行 性)区间测试(或检验或检查或检测)这组任务的可调度性。如果该组任务是可调度的,那 么在一个时间点S之后,每隔时间长度LCM n,这组任务的调度情况就出现重复,即后续调度 过程实际上是一段在长度为LCMn的时间区间[S,S+LCMJ内的调度的重复。 系统启动时刻为时间0,实际测试可调度性时,由于这组任务在区间[0,S)内的调 度包含初次到达情形而往往不具有重复性,因此,传统上将[0, S+LCMJ作为实际的可调度 性测试区间。这段可调度性测试区间长度越小,实际测试中效率越高。从普遍情况来看,可 调度性测试区间长度一般不小于LCM n。此前没有采用线性链表记录调度过程对任务集的可 调度性进行测试的方法。
技术实现思路
: 本专利技术的目的是提供一种,通过 使用链表结点表示任务(或事件)的调度执行阶段,采用线性链表记录测试的调度过程的方 法来达到确定实时任务(或事件)可调度性测试的目的;适用于实时任务或事件优先级固定 的情形。 上述的目的通过以下的技术方案实现: 一种,该方法包括:根据给定的 调度模型,采用一个线性链表记录调度模拟和测试过程,对任务T1, τ2,...,τη,在给定的 时间起点SimSP到截止时间点SimEP内按优先级从高到低顺序模拟每个任务τ ^勺所有任 务实例的调度执行。 所述的,所述的根据给定的 调度模型,采用一个线性链表记录调度模拟和测试过程,对任务T1, τ2,...,τη,在给定的 时间起点SimSP到截止时间点SimEP内按优先级从高到低顺序模拟每个任务τ ^勺所有任 务实例的调度执行是指,采用一个线性链表记录任务的调度模拟执行和测试过程,任务实 例开始执行时间点记录到链表结点的start字段,任务实例执行中止时间点记录到链表结 点的end字段,每个链表结点表示从该结点start字段值给出的时间点到该结点end字段 值给出的时间点之间一个或多个任务实例的连续调度执行;MAX intCT- SimEP;给标志变量 flag赋一个初值;对每个i,I g i gn,LRT1^ C 1;【在时间范围SimSP到SimEP模拟任务 τ i的从第1个到第个任务实例的执行,即建立 链表结点,对每个j,I j 〖第j个链表结点的Start字段赋值为 任务实例Tli j的释放时间r U,第j个链表结点的end字段赋值为r I j+Ci;〗;然后对任务 τ 2, τ 3, . . .,τ n,在时间范围SimSP到SimEP内依优先级从高到低顺序模拟每个任务τ i 的从第1个到第个任务实例的执行,即,K对每个i,2蠓i蠓n,每个j, j从小到大依次调用执行模拟单个任务实例函数Fl对任务 T1的第j个任务实例τ u进行模拟;〗;】;链表最后一个结点的end字段赋值为min(该 结点的end字段值,SimEP);给出任务集是可调度的信息。 所述的,所述的执行模拟单 个任务实例函数Fl对任务τ i的第j个任务实例τ u进行模拟是指,【根据r u在链表中 通过与结点中的start字段值及end字段值比较查找并从当前作业j在链表中的相对位置 开始,按CP模型调度时将运行时间匕对应为1个或连续多个任务τ ^勺空闲区间链表结点, 这些结点表示的区间长度之和等于C1;按TP模型调度时将运行时间(:i对应为任务τ i的一 个允许区间结点PINode,结点PINode表示的区间长度等于C i,且在该任务实例释放时间到 结点PINode之间的全部任务τ i的极大空闲区间都合并到其相邻区间;按时间次序依次链 入链表中的相应位置,链入链表的同时合并调度执行区间时间点边界重合的链表结点,在 模拟过程中无法在链表上完成运行时间C 1的对应时修改标志变量flag值不同于其初值, 在模拟完成后记录任务τ i当前的最大响应时间LRT 1;如果标志变量flag值不同于其初值 或者LRT1M1,则返回不可调度信息并中止对该任务集的可调度性测试;】。 所述的,所述的TP模型的 任务^的允许区间是指:任务τ啲一个空闲区间EI是指,对于任务τ τ2,...,τη1的 调度结果中一个没有被占用的连续的时间范围区间[ti,t2),t2>ti,在该区间内没有任务集 { τ τ 2, . . .,τ n J中的任务释放,并且在时刻t i及之前所有已释放的任务集{ τ τ 2,.. .,τη J中的任务都已执行完毕; 任务^的一个空闲区间[tl,t2)称为一个任务τ 极大空闲区间maxEI是指,时刻 L为任务τ ^勺释放时间或者任务集{τ τ2,...,τη1}中的任务结束时间,并且从时刻t2 开始有任务集{ τ i,τ 2, . . .,τ n J中的任务释放或者七2等于Φ _(1 1^XLC当前第1页1&本文档来自技高网
...

【技术保护点】
一种基于线性链表的实时任务可调度性测试直接模拟方法,其特征是:该方法包括:根据给定的调度模型,采用一个线性链表记录调度模拟和测试过程,对任务τ1,τ2,...,τn,在给定的时间起点SimSP到截止时间点SimEP内按优先级从高到低顺序模拟每个任务τi的所有任务实例的调度执行。

【技术特征摘要】

【专利技术属性】
技术研发人员:任健姜誉
申请(专利权)人:黑龙江大学
类型:发明
国别省市:黑龙江;23

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

1