LKD读书笔记

来源:互联网 发布:网络三剑客下载 编辑:程序博客网 时间:2024/04/29 02:07

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)哈希数组