linux系统编程--进程相关概念

程序和进程

程序:二进制文件,占用的磁盘空间,还没运行
进程:启动的程序,数据在内存中,占用系统资源(CPU,物理内存)

并行和并发

并发:不是一个时间点的概念,而是一个时间段的概念,某个时间段内处理的请求数量
并行:增加服务器或cpu对请求的处理

一个cpu把一个时间段分成若干时间碎片,每个时间碎片只能处理一个进程,交替的处理进程

pcb(进程控制块)

常见内部成员:
- 进程id
- 进程的状态:初始,就绪,运行,挂起,终止
- 进程切换时,需要保存和恢复一些CPU寄存器
- 描述虚拟地址空间的信息
- 描述控制终端的信息
- 当前工作目录
- umask掩码
- 文件描述符表
- 和信号相关的信息
- 用户id和组id
- 会话和进程组
- 进程可以使用的资源上限

进程状态

执行资格(可以去抢cpu)和执行权(获得cpu)
kill -9 pid (无条件杀死进程)

进程控制

进程如何生成子进程,fork函数

fork的返回值

>0 父进程的返回值
=0 子进程的返回值

子进程创建成果之后,代码的执行位置

如何区分父子进程

通过fork函数返回值

猜你喜欢

转载自www.cnblogs.com/baicaiit/p/10068553.html