共计 872 个字符,预计需要花费 3 分钟才能阅读完成。
引言
本文为第三篇,进程管理之五状态模型,进程在操作系统里边是有多个状态的,本文就是了解进程在操作系统中的多个状态
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 完成的时候,就会由阻塞状态切换到就绪状态
在快速变化的技术中寻找不变,才是一个技术人的核心竞争力。知行合一,理论结合实践
正文完