进程的状态分为以下五种:创建,就绪,阻塞,执行,中止。
![](https://i-blog.csdnimg.cn/blog_migrate/2d9605f6097fe73e6b5efc682d3ef213.png)
- 就绪状态
当进程被分配到除了CPU以外所有必要的资源后,只要再获得CPU的使用权,就可以立即运行,并且其他资源也都准备好了,只差CPU资源的状态,就是就绪状态。
而在一个系统中多个处于就绪状态的进程通常会排成一个队列。我们称这个队列叫做就绪队列。
- 阻塞状态
当进程因为某种原因如:其他外围设备未就绪而无法继续执行,从而放弃CPU的状态称为阻塞状态。当阻塞的进程多了,就会形成阻塞队列。
- 执行状态
当进程获得到CPU资源,其程序正在执行也就称为执行状态,在单处理机中,在某个时刻只能由一个进程是执行状态。
- 创建状态
我们在创建状态,要做的就是
- 创建进程
- 给进程分配PCB
- 插入就绪队列
满足以上三个条件,即将到达执行状态,但是因为其他资源未就绪而无法执行的状态为创建状态。操作系统本身,也提供给了我们fork函数接口创建进程。
- 中止状态
在中止状态中,由系统清理或者归还PCB的状态称为终止状态。
这五种状态,可以用如下方式去表示:
- 首先是创建进程。
- 进程创建完成之后,到达就绪状态,此时通过进程调度,分发时间片的形式让进程去执行。
- 在进程执行的时候,如果时间片分配的时间到了,就要归还资源,重新到达就绪状态
- 也可能对外围设备发送IO请求,等待设备响应的时候,处于一下阻塞。
- 阻塞结束之后,重新到达就绪状态。
- 不断循环,当程序执行结束之后,也就是终止状态。