进程的状态与转换


前言

进程是程序的一次执行,在执行过程中有些进程正在被cpu处理,有时需等待CPU服务

一、进程的三种基本状态

运行态:占有CPU,并在CPU运行。
就绪态:已具备运行的条件,但由于没有空闲的CPU而暂时不能运行。
阻塞态:因等待某一事件而暂时不能运行
ps:
1.单核处理机下,每一时刻最多有一个进程处于运行态(双核环境下可同时有两个进程处于运行态)。
2.进程在就绪态下,已经拥有了除CPU之外所有需要的资源,一旦获取CPU可立即进入运行态运行。
3.阻塞态下等待的事件,如等待操作系统分配打印机,等待读磁盘操作的结果,为了提高CPU的利用率需要先将其他进程所需资源分配到位,才能得到CPU服务。
补充(另外两种状态):
1.创建态:进程正在被创建,操作系统为其分配资源,初始化PCB(进程控制块)。
2.终止态:进程正在从系统中撤销,操作系统回收其所拥有的资源,撤销PCB。

二、进程状态的转换

创建态——>就绪态:系统完成创建进程的一系列工作。(处理机 × ,其他 √)
就绪态——>运行态:进程被调度。(处理机 √,其他 √)
运行态——>就绪态:时间片到货处理机被抢占。
运行态——>终止态:进程运行结束或运行遇到不可修复的错误。
运行态——>阻塞态:进程用“系统调用”的方式申请某种资源或请求等待某个事件发生。(处理机×,其他 ×)
阻塞态——>就绪态:申请的资源被分配或等待事件发生。
ps:1.阻塞态——>就绪态不是进程自身能控制的是一种被动行为,运行态——>阻塞态是一种进程自身做出的主动行为。
2.不能由阻塞态直接转换为运行态,也不能由就绪态态直接转换为阻塞态(因为转换为阻塞态是进程自身控制的主动行为,只能在运行态下才能主动发出这种请求)

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Astronaut Liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值