Day 3:调皮的进程状态

目录

一、进程的三种基本状态

二、三种基本状态的转换

三、创建状态和终止状态

四、引入挂起原语操作

1.引入挂起原语后三个进程状态的转换

2.引入挂起原语后五个进程状态的转换

3.“挂起”与“阻塞”的异同点


一、进程的三种基本状态

        每个进程至少处于三种基本状态之一。

        就绪(Ready)状态指进程已准备好运行,即已经分配到除CPU以外的所有必要资源,只要再获得CPU就可以立即执行。处于就绪态的进程会按一定策略排成一个队列,称作就绪队列。

        执行(Running)状态指进程已获得CPU,程序正在执行。单处理机系统某一时刻只有一个进程处于运行态,而多处理机系统在某一时刻有多个进程处于运行态。

        阻塞(Block)状态指正在执行的进程由于发生某事件暂时无法继续执行,即进程的执行受到阻塞。此时会引起进程调度。处于阻塞态的进程也会排成一个队列,称作阻塞队列。

二、三种基本状态的转换

        可用转换关系图表示三种基本状态之间的转换:

三、创建状态和终止状态

        创建(New)状态,进程的创建分为三个步骤:首先进程申请一个空白PCB,并向PCB中填写用于控制和管理进程的信息;然后为该进程分配运行时所必须的资源;最后,将该进程转入就绪状态并插入就绪队列中。如果进程所需资源不能被满足,那么创建工作便无法完成,进程也不能被调度运行,此时进程所处的状态就是创建状态。

        终止(Terminated)状态,进程的终止分为两个步骤:首先等待OS进行善后处理,然后将其PCB清零,并将PCB空间返还系统。当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被OS所终结,或是被其他有终止权的进程所终结,它将进入终止状态。进入终止态的进程以后不能再执行,但是在OS中依然保留一个记录,其中保存状态码和一些计时统计数据,供其他进程收集,一旦收集完成,该进程将被删除,即PCB被清零,并返还系统。

        引入创建状态和终止状态后进程的五种状态的转换关系图如下:

 

四、引入挂起原语操作

        为了系统和用户观察和分析进程的需要,引入了挂起操作。当该操作作用于某个进程时,该进程将被挂起,意味着此时该进程处于静止状态。如果进程正在执行,它将暂停执行。若原本处于就绪状态,则该进程暂时不接受调度。与挂起操作对应的是激活操作。

        引入挂起操作的原因,是基于系统和用户的如下需要:终端用户的需要;父进程的请求;负荷调节的需要;操作系统的需要。

        原语操作的特点是:执行期间不允许中断,只能一气呵成。

1.引入挂起原语后三个进程状态的转换

        具有挂起状态的进程状态图如下:

        引入挂起原语Suspend和激活原语Activate后,进程将可能发生以下几种状态的转换:

        活动就绪→静止就绪:活动就绪状态(Readya)指进程处于未被挂起的就绪状态,此时进程可以接受调度;使用挂起原语Suspend将该进程挂起后,该进程转变为静止就绪状态(Readys),处于Readys状态的进程不再被调度执行。

        活动阻塞→静止阻塞:活动阻塞状态(Blockeda)指进程处于未被挂起的阻塞状态,使用挂起原语Suspend将该进程挂起后,该进程转变为静止阻塞状态(Blockeds),处于该状态的进程在其所期待的事件出现后,它将从Blockeds状态变为Readys状态。

        静止就绪→活动阻塞:处于Readys状态的进程被Activate原语激活后转变为Readya状态。

        静止阻塞→活动阻塞:处于Blockeds状态的进程被Activate原语激活后转变为Blockeda状态。

2.引入挂起原语后五个进程状态的转换

        增加了创建状态和终止状态后具有挂起状态的进程状态图如下:

        增加考虑的情况有:

        NULL→创建:一个新进程产生时处于创建状态。

        创建→活动就绪:进程创建完成后,该进程转为活动就绪状态。

        创建→静止就绪:考虑到系统当前资源状况和性能的要求,不分配给新建进程所需资源,主要是主存,该进程转为静止就绪状态,被安置在外存,不参与调度,此时进程创建工作尚未完成。

        执行→终止:当一个进程已完成任务时,或是出现了无法克服的错误,或是被OS或是被其他进程所终结,此时进程转为终止状态。

3.“挂起”与“阻塞”的异同点

        “挂起”和“阻塞”都是暂时不能获得CPU的服务,但“挂起”是将进程映像调到外存,而“阻塞态”下进程映像还在内存中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

交交的土拨鼠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值