【技术实现步骤摘要】
本专利技术涉及实时操作系统,尤其涉及一种实时操作系统中的任务延时处 理方法及系统。
技术介绍
实时操作系统是 一 种能够在指定或者确定时间内完成系统功能,并且对 外部和内部事件在同步或者异步时间内能做出及时响应的系统。在实时操作系统中,操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作运 行的时间有关,也就是说,实时系统对逻辑和时序的要求非常严格,如果逻 辑和时序控制出现偏差,则将会产生严重后果。为了提供对于实时性的支持,实时操作系统必须对CPU和其他资源进行有效的调度和管理,即实时调度。实时操作系统中各任务(该任务可以是 线程)的状态主要有就绪状态、运行状态、等待状态、中断状态和休眠状态。 其中,由于休眠状态比较少有,因此不再详述,图l示出了其它各状态之间 的转换关系,如图l所示,就绪状态会向运行状态转换、运行状态中会出现 中断状态,中断状态结束后会返回运行状态,运行状态结束后进行等待状态, 等待状态再向就绪状态进行转换。具体实现时,将处于就绪状态的任务放入就绪队列中,对就绪队列中的 任务可基于抢占点进行调度,即在抢占点上进行任务的切换调度。其中一种 抢占点可以是按照规定的时间间隔设置的抢占点,即一般情况下每隔一定的 时间中断一次,通常称为时钟节拍或时钟周期,该时钟节拍可看作是系统心脏的脉动,中断之间的时间间隔取决于不同的应用,一4殳在5ms到1 OOms 之间。当时钟周期到来时,操作系统内核会将当前运行的任务延时整数个时钟周期,此时进入调度的抢占点。由于实时性是实时操作系统内核最重要的特性之一。因此,如何在每个 抢占点进行快速调度对实时系统是非 ...
【技术保护点】
一种实时操作系统中的任务延时处理方法,其特征在于,该方法包括:在延时队列为空时,将需要延时的当前任务加入延时队列中,否则将所述当前任务按照任务的绝对延时时间的升序加入到延时队列中,并计算出延时队列中相邻任务之间的相对延时时间;当时钟周期到来时,判断延时队列中第一个任务的延时时间是否为1个时钟周期,如果是,则将所述第一个任务及紧邻其后的相对延时时间为0的任务从延时队列中移出;否则,将所述第一个任务的延时时间减去1个时钟周期。
【技术特征摘要】
1、一种实时操作系统中的任务延时处理方法,其特征在于,该方法包括在延时队列为空时,将需要延时的当前任务加入延时队列中,否则将所述当前任务按照任务的绝对延时时间的升序加入到延时队列中,并计算出延时队列中相邻任务之间的相对延时时间;当时钟周期到来时,判断延时队列中第一个任务的延时时间是否为1个时钟周期,如果是,则将所述第一个任务及紧邻其后的相对延时时间为0的任务从延时队列中移出;否则,将所述第一个任务的延时时间减去1个时钟周期。2、 如权利要求l所述的方法,其特征在于,所述将当前任务按照任务的绝 对延时时间的升序加入到延时队列中,并计算出延时队列中相邻任务之间的相 对延时时间包括Al、从延时队列中提取第一个任务作为当前进行比较的任务;B1 、判断所提取的任务的绝对延时时间是否大于等于当前任务的绝对延时 时间,如果是,则执行步骤C1后结束;否则,执行步骤D1;Cl、将当前任务插入所述任务之前,并将所述任务的绝对延时时间减去当 前任务的绝对延时时间后的差值作为所述任务的相对延时时间,若当前任务不 是延时队列的第 一个任务,则将当前任务的绝对延时时间减去当前任务之前紧 邻的任务的绝对延时时间的差值作为当前任务的相对延时时间;Dl、判断所提取的任务是否为延时队列中的最后一个任务,如果是,则将 所述当前任务加入所述任务之后,并将所述当前任务的绝对延时时间减去所述 任务的绝对延时时间的差值作为当前任务的相对延时时间;否则,从延时队列 中提取下一个任务作为当前进行比较的任务,并返回执行步骤Bl。3、 如权利要求l所述的方法,其特征在于,所述将当前任务按照任务的绝 对延时时间的升序加入到延时队列中,并计算出延时队列中相邻任务之间的相 对延时时间包括A2、从延时队列中提取最后一个任务作为当前进行比较的任务;B2、判断所提取的任务的绝对延时时间是否小于等于当前任务的绝对延时 时间,如果是,则执行步骤C2后结束;否则,执行步骤D2;C2、将当前任务加入所述任务之后,并将所述当前任务的绝对延时时间减 去所述任务的绝对延时时间后的差值作为当前任务的相对延时时间,若当前任 务不是延时队列的最后一个任务,则将当前任务之后紧邻的任务的绝对延时时 间减去当前任务的绝对延时时间的差值作为当前任务之后的所述任务的相对延 时时间;D2、判断所提取的任务是否为延时队列中的第一个任务,如果是,则将所 述当前任务加入所述任务之前,并将所述任务的绝对延时时间减去当前任务的前一个任务作为当前进行比较的任务,并返回执行步骤B2。4、 一种实时操作系统中的任务延时处理系统,其特征在于,该系统包括 延时队列加入模块,用于在延时队列为空时,将需要延时的当前任务加入延时队列中,否则将所述当前任务按照任...
【专利技术属性】
技术研发人员:艾国,游明琦,
申请(专利权)人:北京中星微电子有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。