Task synchronization

Nucleus 进程(任务)有如下几种状态:

1.Running: 当前占有CPU的task.

2.Suspended:    资源未到位, 挂起状态

3.Finished:    task schedule  完成, 并无法再schedule, 即非while循环的task

4.Terminated    任务被终止, 一般是调用函数TCC_Terminate_Task

 

4.5两种只有在任务复位(即调用TCC_Reset_Task)之后才可能被重新执行.

 

Suspended状态又可分为如下几种:

1.NU_READY       任务在READY状态, 资源已经到位,一旦获得CPU   slice就能运行

2.NU_SLEEP_SUSPEND      任务sleep状态(调用了kal_sleep_task())

3.NU_QUEUE_SUSPEND     suspended at queue, 一旦任务队列中有消息, task就会被唤醒.

4.NU_SEMAPHORE_SUSPEND     由于无法获得信号量而挂起, 一旦信号量被释放,且他在优先列表中的First中, task就会变成Ready

5.NU_EVENT_SUSPEND            waiting the validity of an event.

6.NU_DRIVER_SUSPEND          waiting for an ENHMUTEX.

 

 

具体留待之后研究

 

2011-03-31       11:42:02

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值