操作系统之进程状态及进程状态切换 (六) --- 创建态、就绪态、运行态、阻塞态、终止态。

进程状态

导言

在上篇说到,进程是程序的一次执行。在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU的服务,可见,进程存在多种状态。为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态。
下面介绍进程的三种基本状态和另外两种状态。


三种基本状态

  • 运行态
    进程拥有了CPU资源和其他所需资源。(比如打印机资源,当打印机准备好,打印机才能为该进程服务)
  • 就绪态
    进程拥有了其他所需资源,但还没拥有CPU资源。(当打印机准备好,该进程等待CPU的调度)
  • 阻塞态
    进程既没有CPU资源也没有其他所需资源。(当打印机资源在准备的时候,该进程不占用打印机资源,而且CPU会执行其他进程的指令)
    在这里插入图片描述

另外两种状态

当我们刚开始运行程序的时候,操作系统需要为该进程分配所需的内存空间等系统资源,并为其创建、初始化PCB。(如 分配进程标识符PID),此时,该进程就处于创建态。而当进程结束时 (正常结束或者由于bug导致进程无法继续执行下去,如 整数除0错误),操作系统会回收分配给该进程的系统资源以及撤销该进程的PCB…,目的是为了撤销该进程,此时,该进程就处于终止态。

  • 创建态
    进程正在被创建,操作系统为该进程分配系统资源、初始化PCB。
  • 终止态
    进程正在被撤销,操作系统会回收该进程拥有的系统资源、撤销PCB。

在这里插入图片描述

进程状态的转换

看下图。
在这里插入图片描述在这里,进程由"运行态–>阻塞态"是进程主动请求的,是一种主动行为。 (比如 进程主动请求打印机资源,由于打印机资源的准备需要花时间,所以,CPU会执行"原语",让该进程会进入阻塞态)
但是,进程由"阻塞态–>就绪态"不是进程自身控制的,是一种被动行为。(比如 请求的打印机资源准备好了,那打印机会给CPU发信号。之后,CPU会执行"原语",让进程会进入就绪态)

"原语"可以实现进程状态的转换,会在下一节中介绍。


总结

在这里插入图片描述

感谢

以上内容大部分来自于王道操作系统系列视频教学。

  • 10
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值