ucos-ii的任务调度机制

本文详细介绍了UCOS-II实时操作系统中的任务调度机制,包括任务管理的表格、任务创建过程以及任务调度的触发时机和执行步骤。通过理解OSTCBPrioTbl[]、任务控制块链表、任务就绪表等关键数据结构,以及任务创建和调度的逻辑,有助于深入掌握UCOS-II的内核工作原理。
摘要由CSDN通过智能技术生成

     近看了下ucos-ii的任务调度这块,有些收获,但还有困惑的地方,这里写下作为自己的总结。

     1、在ucos-ii中,有这么几张表来管理任务。

     A、OSTCBPrioTbl[],其结构为OS_TCB指针的数组,其元素个数为64, 每一个元素对应一个任务的优先级,ucos-ii最多可以有64个任务,所以当有任务建立的时候,其每一个元素均指向一个任务控制块(若相应的优先级,已经建立了任务的话);若相应的优先级没有建立任务,则该数组元素指向的是(OS_TCB *)0;

      B、任务控制块链表,该链表的每个节点,都是OS_TCB型结构。任务控制块链表除了本身构成一个双向链表, 其还与OSTCBPrioTbl[](OSTCBPrioTbl[]存放的就是任务控制块的首地址)和任务堆栈相联系(通过OS_TCB结构的OSTCBStkPtr元素指向任务堆栈的栈顶来实现)。在新建一个任务的时候,都必须新建任务控制块置于任务控制块链表中,通过OSTCBList来实现将其放于任务控制块链表的开头即新建的任务控制块。

      C、任务就绪表,为9个字节,(OSRdyGrp和OSRdyTbl[8]).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值