luxinsun 发表于 2010-6-19 16:56:00

实时多任务操作系统任务状态的划分

一般情况下任务状态可以划分为以下四种状态。
1.睡眠态
任务已经建立,但还没有启动的;任务已经脱离调度,但还存在的系统中,这种状体下任务不参与系统调度。
2.挂起态
任务使用了系统的延时函数,延时时间还没有到;任务在等待某个事件的发生。
3.运行态
任务占用了CPU,cpu在运行本任务的代码。
4.就绪态
a.任务延时时间到或等待的事件已发生,任务本该运行,但有高优先级任务或中断抢占了cpu,导致任务不能运行。
b.任务运行的过程中,有其他高优先级的任务抢占了CPU,任务暂停运行。
c.任务运行的过程中,有中断抢占了CPU,任务暂停运行,这种情况也可以称为“中断态”。
d.理论上讲,就绪态的时间越短越好。

ffxz 发表于 2010-6-19 17:59:10

就绪态意味着:任务能够运行,但还未获得处理机。<在RT-Thread中,就绪态线程也能够转为挂起态,通过rt_thread_suspend的调用>

就绪态的时间也不一定说越短越好,基本上不应有这个限制,而且有些任务本身就是那类特别耗时的任务。

cat_li 发表于 2010-6-28 08:47:33

回复【楼主位】luxinsun
-----------------------------------------------------------------------

学习了
页: [1]
查看完整版本: 实时多任务操作系统任务状态的划分