文章目录
一、系统调用简介
在开发应用程序时 , 进行 " 进程创建 " , 调用的 fork()
, vfork()
, clone()
等函数 , 就是 " 系统调用 " ;
" 系统调用 " 是 操作系统 提供的 应用程序 调用 内核功能 的接口 , 如 : 创建进程 , 文件操作 等 ;
系统调用 与 内核 的关系 :
在 应用进程 中调用 fork()
系统调用 函数 , 实际上调用的是 Linux 内核中的 sys_fork()
函数 ;
在 应用进程 中调用 vfork()
系统调用 函数 , 实际上调用的是 Linux 内核中的 sys_vfork()
函数 ;
在 应用进程 中调用 clone()
系统调用 函数 , 实际上调用的是 Linux 内核中的 sys_clone()
函数 ;
Linux 内核中的 sys_fork()
, sys_vfork()
, sys_clone()
函数 , 调用的是 _do_fork()
函数 , _do_fork()
函数调用的是 copy_process()
函数 ;
二、进程相关系统调用源码
Linux 进程相关 " 系统调用 " 对应的源码在 linux-5.6.18\kernel\fork.c
源码中 ,