1个回答
展开全部
在uC/OS-II中共有64个优先级,0优先级最高,63优先级最低。每个优先级只能对应到一个任务,也就是说在uC/OS-II不支持具有相同优先级的任务,所以只能创建64个任务,而用户只能创建56个任务,有一个优先级最低的空闲任务,在没有用户任务运行的时候运行。
uC/OS-II支持不同优先级间的任务调度,通过任务各自对应的优先级状态,快速地由OSTCBPrioTbl[OSPrioHighRdy](OSPrioHighRdy用来记录当前任务中最高优先级值)指针的指向切换到期望的TCB 来完成调度。这种调度与uC/OS-II的OSTCBList 数据结构紧密相关。
这是一个双向线性链表结构,任务调度是从线性链表上的一个结点( 一个TCB 控制块) 切换到从链表上的另一个结点,而不同的结点对应着不同的优先级,这样来完成不同优先级的任务调度。
uC/OS-II支持不同优先级间的任务调度,通过任务各自对应的优先级状态,快速地由OSTCBPrioTbl[OSPrioHighRdy](OSPrioHighRdy用来记录当前任务中最高优先级值)指针的指向切换到期望的TCB 来完成调度。这种调度与uC/OS-II的OSTCBList 数据结构紧密相关。
这是一个双向线性链表结构,任务调度是从线性链表上的一个结点( 一个TCB 控制块) 切换到从链表上的另一个结点,而不同的结点对应着不同的优先级,这样来完成不同优先级的任务调度。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询