文章目录
复习
前段时间学习了进程的概念,从以下这几个方面展开学习
- 冯诺依曼体系结构
- 操作系统
- 进程概念
- 进程状态
- 环境变量
- 程序地址空间
如果有遗忘一定要记得复习,链接在下方
进程概念知识点大总结
接下来我们学习进程控制
进程控制
思维导图
主要从进程创建、进程终止、进程等待、程序替换这五个方面进行学习,今天学习第一部分进程创建
💙进程创建
1.fork函数------- pid_t fork(void);
代码共享,数据独有
1.1 用法
说到进程创建就不得不提fork
函数了,它的作用是从已经存在的进程中创建一个新进程,新进程称为子进程,原进程称为父进程
- 一个父进程希望复制自己,使父子进程同时只能怪不同的代码段,
例如
:父进程等待客户端请求,生成子进程来处理请求- 一个进程要执行一个不同的程序,
例如
:子进程从fork
返回后,调用exec
函数
#include <unistd.h>
pid_t fork(void);
进程调用fork
, 当控制转移到内核当中的fork
代码之后,内核会做以下操作
- 分配新的内存块和内核数据结构给子进程
- 将父进程部分数据结构内容拷贝至子进程
- 添加子进程到系统进程列表中
fork
返回,开始调度器调度