Ready List



typedef  struct  os_rdy_list          OS_RDY_LIST;

struct  os_rdy_list {
    OS_TCB              *HeadPtr;                           /* Pointer to task that will run at selected priority     */
    OS_TCB              *TailPtr;                           /* Pointer to last task          at selected priority     */
    OS_OBJ_QTY           NbrEntries;                        /* Number of entries             at selected priority     */
};

OS_RDY_LIST               OSRdyList[OS_CFG_PRIO_MAX];   



void  OS_RdyListInit (void):
    将OSRdyList[] 初始化成如上图所示。

void  OS_RdyListInsert (OS_TCB  *p_tcb):
    将p_tcb的prio对应的bitmap中的位置1,如果等于OSPrioCur, OS_RdyListInsertTail(p_tcb); ,否则 OS_RdyListInsertHead(p_tcb);

void  OS_RdyListInsertHead (OS_TCB  *p_tcb):
    将p_tcb插入到对应的优先级的列表的开头。

void  OS_RdyListInsertTail (OS_TCB  *p_tcb):
    将p_tcb插入到对应的优先级的列表的最后。

void  OS_RdyListMoveHeadToTail (OS_RDY_LIST  *p_rdy_list):
    将p_rdy_list最前面的TCB移到最后面。(时间片轮询时用到)

void  OS_RdyListRemove (OS_TCB  *p_tcb):
    将p_tcb从ready list中移除。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值