进程是系统资源分配的最小单位。
1.创建和执行
父进程通过 fork 系统调用创建子进程, 子进程被创建后,处于创建状态。
linux为子进程配置数据结构,如果内存空间足够,子进程就在内核中就绪,成为 就绪状态,等待linux调度。
linux为子进程分配时钟周期,在合适的时间将子进程调度上CPU执行,这时处于内核状态。
子进程被分配的时钟周期结束时,linux将子进程diao出cpu,进入用户状态。
2.睡眠状态
子进程在运行时,如果请求的资源得不到满足,就进入睡眠状态,从内存调到swap分区。
如果请求的资源被释放了,那么子进程就会被调入内存,继续以系统状态执行
3.子进程结束
子进程可以通过exit系统结束调用。子进程进入僵死状态,生命周期结束。
ork创建子进程 -> 分配PID -> 复制父进程表项副本 -> 增加父进程表项索引节点 -> 创建上下文