uCOS-II内核超时等待机制的分析
1 引言
uC/OS-II是著名的源码公开的实时内核[1],是专为嵌入式应用设计的,可用于各类8位16位和32位单片机或DSP。现在有很多使用者正在或已经将其移植到各种类型的芯片。因为源码公开,uC/OS-II也经常被作为嵌入式实时内核的教材,为专业人员提供了学习实时内核的难得机会。在实际使用中不管基于何种操作系统平台,应用程序经常会等待一些系统资源,如信号量,事件标志,消息等。等待类型共有三种:(1)如果不能马上获取,悬挂等待;(2)不管是否能获取资源,马上返回,不会等待;(3) 如果不能马上获取资源,将进行有限时间的等待,即超时等待。
2 超时等待机制的基本原理
应用程序通过操作系统提供的系统调用接口获取资源时,在系统调用的入口参数里可以指定超时等待的最大时间,通常以毫秒为单位,内核会将其转化为系统的时钟滴嗒数(tick)。一般内核都会执行以下流程:
(1)如果资源能马上获取,系统调用将成功返回。
(2)如果资源不能马上获取,内核将设置一定时器进行计时,把当前任务悬挂在该资源的等待队列上,该任务从就绪表中删除,并进行调度,让出CPU的使用权。
(3)如果在指定的时间内资源变得可以获取了,定时器应马上停止计时,该任务从等待队列里摘下并且重新回到就绪表中等候调度。
(4)如果定时器到时,任务应该从等待队列里摘下并且重新回到就绪表中,系统调用返回超时信息。
内核在每一个tick都会做一系列的工作,包括任务的延迟以及超时等待资源的定时器等相关的检查操作。一般来讲,在指定的时间间隔以外到达的资源和信号被认为是无效的,这也是指定超时时间间隔的原意所在,有些对时间要求苛刻的场合就有这种需求,内核必须处理好这方面的问题。
3 uC/OS-II内核超时等待机制的分析
假设某任务T超时等待信号量资源R,先来分析时钟节拍函数的源代码。 void OSTimeTick(void)
{
uCOS II内核调度分析 8页 1下载券 uCOS-II内核超时等待机制... 暂无评价 5...为了方便初学者学习嵌入式实时操作系统的基本 原理,作者将μC/OS-II V2.52由...
uCOS-II内核分析_IT/计算机_专业资料。对uCOS-II的内核进行了精要的分析...当所有的 任务都在等待事件发生或等待延迟时间结束,C/OS-Ⅱ执行空闲任务 ...
uCOSII实时操作系统通信机制之内核分析_信息与通信_工程科技_专业资料。uCOSII...而任务等待一个信号量的实现方式又是如何设计的呢?内核支持超时等待机制,即可 ...
uCOS II内核调度分析 8页 1下载券 uCOS-II内核超时等待机制... 暂无评价 5...山西电子技术 2008年第3期 软件天地 基于 context分析uC/OS内核邓彬伟1马学军...
uCOS-II内核架构解析_信息与通信_工程科技_专业资料。分析ucos-II内核框架...():在事件等待超时时调用,将此任务从事件的任务等代表 中删除,并修改该任务的...
uCOS-II一些入门资料(内核架构解析等)_信息与通信...调度策略分析:(强实时、弱实时) 3、任务优先级分配...OS_EventTO(): 在事件等待超时时调用,将此任务从...
第一章_uCOS-II微小内核分析_理学_高等教育_教育专区。周立功ucos课件1,经典...()检查处于延时状态的任务是否达到延时时间, 或正在等待事件的任务是否超时 ...
uCOS-II内核原理 2页 1下载券 uCOS-II内核分析、移植与... 10页 免费 ...OS_EventTO():在事件等待超时时调用,将此任务从事件的任务等代表 中删除,并...
直到等待延时时间到,才将该任务恢复到就绪表中,并等待调度器的调度。 OSTimeDly... RTOS uCOS-II 原理及应用... 23页 免费 uCOS II内核调度分析 11页 免费...
这个任务于是进入等待状态,等待这段时间过去,下一个优先级最高的、并进入了 ...uCOS II 内核调度分析 1.只支持基于优先级的抢占式调度算法,不支持时间片轮训;...
热门文档