1,任务调度:任务调度器(scheduler,dispatcher),在下列调度点时,调度器会自动启动:
a,任务释放信号里给另一个任务或者想另外一个任务发消息时。任务调用发布服务OSxxPost()时,如果用户指定禁止调度的参数OS_OPT_POST_NO_SCHED(),则不启动调度任务。
b,任务调用延时函数OSTimeDly(),或者OSTimeDlyHMSM(),当任务被插到等待延时的列表中后,启动scheduler。
c,任务等待事件发生而事件还没有发生,任务调用OSxxxPend()函数。
d,任务取消等待,当任务从某一内核对象(信号量,消息队列等)的等待列表中移除时,启动scheduler。
e,创建和删除任务时,启动scheduler。
f,删除一个内核对象
任务改变自身优先级或者其他任务的优先级
任务通过调用OSTaskSuspend()将自身挂起
任务接触挂起某一调用OSTaskSuspend()挂起的任务