码迷,mamicode.com
首页 > 系统相关 > 详细

Linux内核及分析 第六周 分析Linux内核创建一个新进程的过程

时间:2016-04-03 10:13:42      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

实验过程

1.github上克隆相应的mengning/menu.git

技术分享

2.测试menuOS,测试fork直接执行结果

技术分享

3.配置调试系统,进入gdb调试,利用file linux-3.18.6/vmlinux和target remote:1234来配置加载初始调试环境

技术分享

4.在linux内核进程创建可能用到的点设置断点分别为sys_clone,do_fork,dup_task_struct,copy_thread,copy_process和ret_from_fork.

技术分享

技术分享

总结:

1.通过调用do_fork来实现进程的创建;

2.复制父进程PCB--task_struct来创建一个新进程,要给新进程分配一个新的内核堆栈;

3.修改复制过来的进程数据,比如pid、进程链表等等执行copy_process和copy_thread 4、成功创建新进

作者: 王雪铖

原创作品转载请注明出处

《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

 

Linux内核及分析 第六周 分析Linux内核创建一个新进程的过程

标签:

原文地址:http://www.cnblogs.com/20135105wangxc/p/5349065.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!