操作系统:进程的基本状态及其转换

一、进程的三种基本状态:

  • 就绪状态——当进程已分配到除CPU以外的所有必要的资源后,只要能再获得处理机便可立即执行,这时的状态称为就绪状态。同时处于就绪状态的多个进程排成就绪队列
  • 执行状态——指进程已获得处理机,其程序正在执行
  • 阻塞状态——进程因发生某种事件(如I/O请求、申请缓冲空间等)而暂停执行时的状态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态,有时也称为“等待”状态或“睡眠”状态。通常将处于阻塞状态的进程排成一个队列,即阻塞队列
进程的基本状态以及之间的转换

进程状态之间的转换:

  • 就绪→执行状态:处于就绪状态的进程,当进程调度为之分配了处理机后。
  • 执行→阻塞状态:正在执行的进程因发生某种事件而无法执行,如需要访问的临界资源正在被其它进程独占访问。
  • 执行→就绪状态:分时系统中,正在执行的进程如因时间片用完或一个优先权高的进程到来而被暂停执行。
  • 阻塞→就绪状态:处于阻塞状态的进程,其等待的事件已经发生,如I/O请求完成。

 

但是上面的三种状态不一定能满足所有的使用情形,于是乎我们引入了挂起状态!

 

二、进程的挂起状态:

为什么引入挂起状态?

  • 终端用户的需要——当终端用户在自己的程序运行期间发现有可疑问题时,往往希望暂时使自己的进程静止下来,既不执行也不接受调度,以便调整。
  • 父进程的需要——父进程常常希望考察和修改子进程,或者想要协调各子进程间的活动
  • 操作系统的需要——操作系统有时需要挂起某些进程,检查运行中资源的使用情况及进行记账,以便改善系统运行的性能。
  • 对换的需要——为了缓解内存紧张的情况,即将内存中处于阻塞状态的进程换至辅存上,使进程又处于一种有别于阻塞状态的新状态。
  • 负荷调节的需要——实时系统的负荷较重则可能影响到实时任务的控制,此时系统将不重要的进程挂起,以保证系统正常运行。

 

在引入挂起状态后,状态之间的转换变成了这样!

 

进程状态的转换:

在引入挂起状态后,又将增加从挂起状态(又称静止状态)到非挂起状态(又称活动状态)的转换。

  • 活动就绪→静止就绪 :处于就绪状态的进程被suspend()原语挂起后变为静止就绪状态。
  • 活动阻塞→静止阻塞 :阻塞状态的进程被挂起。
  • 静止就绪→活动就绪 :处于静止就绪的进程被active()原语激活。
  • 静止阻塞→活动阻塞 :静止阻塞的进程被激活。

 

Ending... ...

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
进程是指正在运行的程序,它在操作系统中具有独立的内存空间和执行状态进程基本状态包括以下几种: 1. 就绪状态进程已经获取了除了CPU以外的所有资源,等待分配CPU时间片。 2. 运行状态进程正在占用CPU执行指令。 3. 阻塞状态进程正在等待某些资源,如等待输入输出、等待网络连接、等待信号等。 4. 创建状态进程正在被创建,但尚未被操作系统分配资源。 5. 终止状态进程已经完成了它的任务,或者因为错误而被强制终止。 进程状态之间的转换原因如下: 1. 就绪状态到运行状态:当CPU时间片被分配给一个进程时,该进程从就绪状态转换到运行状态。 2. 运行状态到就绪状态:当CPU时间片用完时,运行状态进程转换到就绪状态,等待重新分配CPU时间片。 3. 运行状态到阻塞状态:当进程需要等待某些资源时,如等待输入输出或等待网络连接,进程从运行状态转换到阻塞状态。 4. 阻塞状态到就绪状态:当进程等待的资源就绪时,进程从阻塞状态转换到就绪状态。 5. 创建状态到就绪状态:当进程已经被创建,但尚未被操作系统分配资源时,进程处于创建状态。当操作系统分配资源给该进程时,进程从创建状态转换到就绪状态。 6. 运行状态到终止状态:当进程完成了它的任务,或者因为错误而被强制终止时,进程从运行状态转换到终止状态

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值