三分钟理解三种基本进程状态

进程的三种基本状态

进程在生命周期内可能有多种状态,不过一般而言,每一个进程都至少有三种基本状态

就绪(Ready)状态
进程已处于准备运行的状态,获得除CPU以外所有必要的资源。如果获得CPU,则立即执行
执行(Running)状态
进程获得CPU,正在执行的状态
阻塞(Block)状态
正在执行的进程,由于等待某个事件(如I/O申请,申请缓冲区失败,访问临界资源等)的发生而暂时无法继续执行时的状态

三种状态的转换

进程的三种状态及转换

进程在运行期会经常发生这三个状态间转换

就绪→执行
处于就绪状态的进程,在进程调度程序为之分配下获得CPU,进程由就绪状态转变成执行状态。

执行→就绪
处于执行状态的进程在其执行过程中,分配给进程的时间片已用完而让出CPU,进程从执行状态变成就绪状态。

执行→阻塞
处于执行状态的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。阻塞是进程的主动行为
某些事件一般指:

  • 向系统请求资源(内存,临界资源等)失败(eg.向系统申请更多的内存时,系统中的内存不能达到进程的需求,进程将会进入阻塞状态)
  • 等待某事件的完成(eg.进程申请I/O设备,I/O设备启动后进程便自动进入阻塞状态去等待,等I/O操作完成后,进程将会被唤醒)
  • 新数据尚未到达(eg.有俩个进程,进程A用于数据的输入,进程B进行数据的加工,在进程A数据输入完成之前,进程B都是处于阻塞状态)
  • 等待新任务的到达(eg.例如网络环境中的发送进程,主要任务是发送数据包。若已有的数据包已发送完毕,则自动进入阻塞状态;仅当有新的数据包到达时,进程才会唤醒)
    由此也可见进程阻塞是主动行为

阻塞→就绪
处于阻塞状态的进程,若其等待的事件已经发生,进程由阻塞状态变为就绪状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Flyy.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值