ucosiii任务调度特性

    xiaoxiao2021-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)