ucos任务的各个状态简述

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

被中断等待事件。时间挂起

1. 运行状态 任何时候只有一个在运行。正在运行的任务可能会因为等待某一个任务而进

入等待状态,此时下一个优先级更高的进入了就绪状态被赋予了CPU 的控制权,即任务级切换。如果一个未屏蔽中断发生,当前任务将进入中断状态,则在中断返回时将进行任务切换,即更到优先级的任务

2. 就绪状态 如果一个任务所等待的资源除CPU 外已全部获得,则处于就绪状态。如果该

任务的优先级最高,则马上执行。如果当前还有高优先级的任务,则次任务等待更高优先级的任务放弃CPU 的控制权后再调度CPU的使用权。

3. 等待状态 即正在运行的任务需要等待某一事件或时间延迟的发生。当任务因等待事件

被挂起时,下一个优先级更高的立即得到CPU的控制权。当其等待的事件发生了,该被挂起的任务重新进入就绪状态。事件发生的报告可能来自另一个任务,也可能来自中断服务子程序。

4. 休眠状态 任务驻留在程序空间中,还没有交给ucos管理,把任务交给ucos 是通

过调用OSTaskCreate ()或OSTaskCreateExt ()两个函数之一实现的。任务一旦确立将进入就绪状态。一个任务可通过调用OSTaskDel ()返回到休眠状态,即被删除,或通过调用该函数让另外一个任务进入休眠状态。

5. 被中断状态 正在运行的任务可以被中断,除非该任务关闭中断,或ucos 关闭中断。被

中断了的任务即进入了中断服务状态。响应中断时,正在执行的任务被挂起,中断服务子程序控制了CPU 的使用权。中断服务子程序可能会报告一个或多个时间的发生,而使一个或多个任务进入就绪状态。此时,中断服务子程序返回之前,ucos 要判定被中断的任务是否还是就绪态任务中优先级最高的。如果更高的进入了就绪状态,则他会运行,否则原来的继续运行。

相关文档
最新文档