分类: LINUX
2017-04-02 12:37:37
网易云课堂-Linux内核分析(中科大孟宁老师)-课程网址:
一、进程是如何描述的?
1、进程描述符task_struct数据结构
2、所有进程链表struct list_head tasks;
3、进程的内核堆栈:
Linux为每个进程分配一个8KB大小的内存区域,用于存放该进程两个不同的数据结构:
– Thread_info
– 进程的内核堆栈
进程处于内核态时使用,不同于用户态堆栈
内核控制路径所用的堆栈很少,因此对栈和Thread_info来说,8KB足够了
二、Linux进程状态转换图:
三、进程之间的亲属关系:
程序创建的进程具有父子关系,在编程时往往需要引用这样的父子关系。进程描述符中有几个域用来表示这样的关系
四、进程是如何创建出来的?
在服务进程中创建一个子进程,子进程拷贝父进程所有信息。子进程这是就会作为一个独立的进程,进行进程调度。
现在的问题是,子进程获得CPU后,子进程从哪里开始执行?