首页
IT
登录
6mi
u
盘
搜
搜 索
IT
ucosiii任务调度特性
ucosiii任务调度特性
xiaoxiao
2021-12-02
17
任务调度
1、任务级调度 OSSched()
2、中断级调度OSIntExit()
3、运行多个任务具有相同优先级,可以被设置为循环轮转调度
4、任务发生调度的情况
(1)任务调用提交服务函数Post,发送信号量或者消息给其它任务时调度发生,调度在Post函数的结束时发生,注意
调度是不会发生(见OS_OPT_POST_NO_SCHED的可选参数)
(2)任务调用OSTimeDly()或OSTimeDlyHMSM(),如果延时参数不是0,调度发生,调度会在该任务被放入挂起队列
后马上执行
(3)任务所等待的事件发生或超时,当Pend()被调用时,接收到该事件的任务或者超时的任务就会被移出等待队列。然
后调度器选择就绪列表中优先级最高的任务执行。移出等待队列的任务不一定就绪状态,因为它还可能在停止队列。
(4)任务取消挂起,一个任务可以被取消挂起,若另一个任务调用PendAbort(),当任务被移出等待列表中时调度发生。
(5)新任务被创建
(6)用户调用OSSched
(7)调用OSSchedRoundRobinYield任务放弃分配给它的时间片
(8)通过调用OSSchedUnlock调度器被解锁
(9)退出中断服务程序,OSIntExit
(10)OSTaskSupend或OSTaskResume,调度发生
转载请注明原文地址: https://ju.6miu.com/read-679656.html
专利
最新回复
(
0
)