x386:根据堆栈指针的得到struct thread_info,从它的task域得到task_struct信息
进程状态 task_struct中的state域:5种状态
schedule()
+--------------------------------+
| /|/ do_exit()
fork创建——>TASK_RUNNING TASK_RUNNING-------------->TASK_ZOMBIE
(准备就绪但没运行) (正在运行)
/|/ /|/ | |
| +-------------------------+ |
等待的事件发生后 | 被优先级高的任务抢占 |为了等待特定事件
任务被唤醒重新置入 | |在等待对列上睡眠
运行队列 +------TASK_INTERRUPTIBLE--------+
或TASK_UNINTERRUPTIBLE
设置任务状态:set_task_state(task,state);
进程关系
1)关系树
2)遍历树
3)哈希数组