引言
本文为第三篇,进程管理之五状态模型,进程在操作系统里边是有多个状态的,本文就是了解进程在操作系统中的多个状态
1、进程的五个状态
- 创建状态
- 就绪状态
- 阻塞状态
- 执行状态
- 终止状态
2、进程处于这五种状态时在做什么
(1)就绪状态
- 当进程被分配到除CPU以外的所有必要资源后,就处于就绪状态
- 只要再获得CPU的使用权,就可以里立即运行
- 其它资源都准备好,只差CPU资源的状态,就是就绪状态
其它资源包括进程控制块(PCB)、内存、栈空间、堆空间等
在操作系统里边,我们知道,多个程序可以并发的运行,这个时候就可能存在多个就绪状态的进程,这些进程通常会排成一个队列,这个队列就称为就绪队列,在就绪队列里边有多个就绪的进程
(2)执行状态
- 进程获得CPU使用权,其程序正在执行,称为执行状态
- 在单处理机(一个CPU只有一个核的情况),在某个时刻只能有一个进程是处于执行状态
(3)阻塞状态
进程由于某种原因,如:其它设备未就绪而无法继续执行,从而放弃CPU的状态,就称为阻塞状态
比如说有个进程要请求打印机,但是由于打印机正处于被占用的情况,进程收不到回应,那么就会处于阻塞状态。当多个进程同时请求打印机时,也会处于阻塞状态,此时也有阻塞队列的概念
(4)创建状态
创建状态分为两步:
a、分配PCB
b、插入就绪队列
创建进程时,拥有PCB,但其它资源尚未就绪的状态称为创建状态
(5)终止状态
终止状态也分为两步:
a、系统清理
b、归还PCB
进程结束由系统清理或者归还PCB的状态称为终止状态
3、就绪、阻塞、执行三种状态之间的切换
当进程发生进程调度的时候,就会由就绪状态变为执行状态,当某一个进程发生进程调度的时候就会获取到CPU的资源,当执行状态的进程的CPU资源用完了,它就会切换回就绪的状态,插入到就绪队列中,这里的CPU资源用完指的是,分配给某一个进程执行CPU的时间用完了
当执行状态的进程发生IO请求的时候就有可能变成阻塞状态(前边有说到请求打印机的例子)。当发生IO完成的时候,就会由阻塞状态切换到就绪状态
在快速变化的技术中寻找不变,才是一个技术人的核心竞争力。知行合一,理论结合实践