进程创建

朱恒志(与最后申请证书的姓名务必一致)+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

 

操作系统三大功能:

进程管理(最核心最基础)

内存管理

文件系统

 

fork系统调用在父进程和子进程各返回一次

子进程中返回的是0,父进程中返回值是子进程的pid。

以程序中的else if(pid==0)和else都会被执行,它的背后有两个进程,可以利用这一点在用户态创建子进程。

 

fork、vfork和clone三个系统调用都可以创建一个新进程

而且都是通过调用do_fork来实现进程的创建

 

 

实验

cd LinuxKernel  

rm menu -rf

git clone https://github.com/mengning/menu.git

cd menu

mv test_fork.c test.c

make rootfs

 

qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S

 

 

gdb

file linux-3.18.6/vmlinux

target remote:1234

 

posted on 2016-04-01 13:56  20135314朱恒志  阅读(236)  评论(0编辑  收藏  举报