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

Posted baicaiit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统编程--进程相关概念相关的知识,希望对你有一定的参考价值。

程序和进程

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

并行和并发

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

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

pcb(进程控制块)

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

进程状态

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

技术分享图片

进程控制

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

技术分享图片

fork的返回值

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

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

如何区分父子进程

通过fork函数返回值

以上是关于linux系统编程--进程相关概念的主要内容,如果未能解决你的问题,请参考以下文章

初探 Linux 系统编程之进程

初探 Linux 系统编程之进程

Linux系统编程-进程概念进程管理信号处理

Linux系统编程-进程概念进程管理信号处理

Linux系统编程 --进程间通信 -共享内存

操作系统 Linux操作系统编程开发