|
发表于 2008-8-12 17:19:25
|
显示全部楼层
Linux的任务总共有6种状态标志,分别是:
(1)可运行状态:可运行状态是那些正在等待CPU资源的任务的状态,这些任务在就绪队列run-queqe中.这些任务只要得到CPU在个资源就马上可以被运行
(2)可打断睡眠状态:处于等待队列中的任务,待资源有效时唤醒,也可由其它任务被信号中断、唤醒后进入就绪状态
(3)不可打断睡眠状态:处于等待队列中的任务,直接等待硬件条件,待资源有效时唤醒,不可由其它任务通过信号中断、唤醒;这类状态的任务其睡眠的时间相对比较短。与可打断睡眠状态的区别就是后者可以由信号唤醒。
(4)僵死状态:虽然此时已经释放了内存、文件等资源,但是还没有释放任务控制块task_struct数据结构项。它不进行任何调度或状态转换,等待父任务将它彻底释放
(5)暂停状态:可能是任务控制信号所致,或者正在被跟踪调试,而导致暂时停止运行;需要其它任务的信号才能唤醒。任务被暂停,通过其它任务的信号才能唤醒。正在调试的任务可以在该停止状态。
(6)TAS_DEAD:已经退出且不需要父任务回收的任务的状态。 |
|