发明名称 基于中断的实时任务调度方法
摘要 一种基于中断的实时任务调度方法。能够在不增加系统额外资源开销的前提下保证较高的实时性和稳定性。它是基于中断的,并将任务作为虚拟中断纳入中断的体系进行调度。它采用查表的方式获得最高优先级的中断和虚拟中断,调度时间恒定,不因中断与虚拟中断的个数变化而改变。它原理简单,易于实现,特别适合应用于中、低端嵌入式实时系统。
申请公布号 CN100365580C 申请公布日期 2008.01.30
申请号 CN200510026581.7 申请日期 2005.06.09
申请人 华东师范大学 发明人 邵时;陆刚;张卫;吴荣华
分类号 G06F9/48(2006.01) 主分类号 G06F9/48(2006.01)
代理机构 上海德昭知识产权代理有限公司 代理人 程宗德;石昭
主权项 1.一种基于中断的实时任务调度方法,该方法在系统当前执行的任务被新产生的中断打断至系统从中断服务程序恢复的期间内施行,所述的系统是嵌入式实时系统,在该系统中,为所有使用到的每一个中断统一分配一个优先级号,优先级定为64,即0~63级,0级和63级分别为最高优先级和最低优先级,优先级号为每一个中断的唯一标识,该系统设有有64个位置的中断就绪表,分别与64级不同的中断相对应,该表的某些位置置位表明与这些位置对应的中断处于就绪状态,其特征在于,该方法将任务看作是一个虚拟中断,像中断一样,统一分配优先级号,任务就绪相当于在中断就绪表中与该任务优先级号对应的位置置位,就绪任务像就绪中断一样,与就绪中断一起进行基于中断的实时任务调度,具体操作步骤:20、设正在执行的中断或任务的优先级号为int1;21、发生中断,正在执行的中断或任务被新产生的中断打断;22、保护现场,将优先级号为int1的中断或任务的现场保存在中断堆栈;24、登记新产生的中断到中断就绪表;25、从中断就绪表获得最高优先级号,设该级号为int2;26、判断:int2小于int1 如是,进至28,如否,进至30;28、转而执行优先级号为int2的中断或任务;29、判断:新的中断或任务就绪 如是,返回25,开始新的一轮基于中断的实时任务调度,如否,进至30;30、恢复现场:从中断堆栈恢复优先级号为int1的中断或任务的现场;31、恢复继续执行优先级号为int1的中断或任务:从30中所述的现场开始,继续执行优先级号为int1的中断或任务。
地址 200062上海市中山北路3663号