**
## 进程初识
**
进程:
进程对于用户来说进程就是一个运行中的程序,就是一个编译好的二进制文件。站在我们程序员的角度上来看,进程就是一些列指令运行的过程,站到操作系统上来看,就是分配系统资源的基本单位。就是一个描述进程的一个符号,简称PCB
那程序和进程有什么区别呢?:
- 程序占用磁盘,不占用系统资源
- 内存赵勇系统资源
- 一个程序对应多个进程,一个进程对应一个程序
- 程序没有生命周期,进程有生命周期
单道程序和多道程序设计
在这里我们使用图形来解释单道程序设计和多道程序设计,![在这里插入图片描述](https://img-blog.csdnimg.cn/20190327231203955.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Jva2VfZmVuZ3dlaQ==,size_16,color_FFFFFF,t_70)
**进程的状态切换
**
在linux下其实还有更多的状态,例如s(睡眠状态)、R(运行状态)、D(不可中断睡眠状态)、T(停止状态)、t(追踪状态)、x(死亡状态)、z(僵尸状态)。
进程查看指令
进程其实是在我们跟目录下/proc目录下面,当我们打开这个目录的时候就出现了当下我们所有的进程。
![当前用户下所有的进程](https://img-blog.csdnimg.cn/20190327230439440.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Jva2VfZmVuZ3dlaQ==,size_16,color_FFFFFF,t_70)
或者我们使用ps指令也可以查看
ps [option]:option可以选择-ef/-aux/-ajx操作,只是我们查询到的详细程度不一样,-aux可以查询到更详细的信息。
进程PCB
进程pcb就是一个进程描述块,在linux下是一个结构体,名字是struct task_struct的结构体。
在结构体中包含了程序计数器,上下文数据、内存指针、记账信息、进程状态、优先级等等信息,就是在一个内存中存储的信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)