Chinaunix首页 | 论坛 | 博客
  • 博客访问: 55088
  • 博文数量: 18
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 182
  • 用 户 组: 普通用户
  • 注册时间: 2016-03-14 17:05
文章分类
文章存档

2017年(15)

2016年(3)

我的朋友

分类: 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后,子进程从哪里开始执行?



阅读(1370) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~