正在加载图片...
do fork 不论是fork,vfork还是clone,在内核中最终都调用了 do fork arch/x86/kernel/process_32.c 00671: asmlinkage int sys_fork(struct pt_regs regs) 00672: 00673: return do_fork(SIGCHLD,regs.sp,&regs,0,NULL,NULL); 00674: 00676: asmlinkage int Sys_clone(struct pt_regs regs) 00677: { 00678: unsigned long clone_flags; 00679: unsigned long newsp; 00680: int user *parent_tidptr,*child_tidptr 00681: 00682: clone flags regs.bx; 00683: newsp regs.cx; 00684: parent tidptr =(int user *)regs.dx; 00685: child_tidptr (int user *)regs.di; 00686: if (newsp) 00687: newsp regs.sp; 00688: return do_fork(clone flags,newsp,&regs,o,parent tidptr,child tidptr) 00689: 00701: asmlinkage int Sys_vfork(struct pt_regs regs) 00702: 00703: return do_fork(CLONE_VFORK CLONE_VM SIGCHLD,regs.sp,&regs,0,NULL,NULL); 00704:11/23/09 嵌入式操作系统 12/92 do_fork ❖ 不论是fork,vfork还是clone,在内核中最终都调用了 do_fork arch/x86/kernel/process_32.c
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有