操作系统中进程的状态

一个过程的状态如下:

null

图片[1]-操作系统中进程的状态-yiteyi-C++库

  • 新建(创建)—— 在这一步中,进程即将创建,但尚未创建,操作系统将拾取辅助内存中的程序来创建进程。
  • 准备好了—— 新建->准备运行。创建进程后,进程进入就绪状态,即进程加载到主内存中。这里的进程已经准备好运行,正在等待获得执行它的CPU时间。准备好由CPU执行的进程被维护在准备好的进程队列中。
  • 跑—— 该进程由CPU选择执行,进程内的指令由任何一个可用的CPU核执行。
  • 阻止或等待—— 每当进程请求访问I/O,或需要用户输入,或需要访问关键区域(已获得锁定)时,它就会进入阻塞或等待状态。进程继续在主内存中等待,不需要CPU。I/O操作完成后,进程进入就绪状态。
  • 终止或完成—— 进程被终止,PCB被删除。
  • 暂停准备就绪- 进程最初处于就绪状态,但被调出主存(请参阅虚拟内存主题)并被调度程序放在外部存储器上的进程称为处于挂起就绪状态。每当进程再次进入主内存时,该进程将转换回就绪状态。
  • 暂停等待或暂停阻止– 与suspend ready类似,但使用执行I/O操作的进程,主内存不足导致它们移动到辅助内存。 工作完成后,可以进入暂停准备状态。

CPU和IO绑定进程: 如果进程在CPU操作方面是密集型的,那么它被称为CPU绑定进程。类似地,如果进程在I/O操作方面是密集的,那么它被称为IO绑定进程。

调度程序的类型:

  1. 长期-绩效- 决定需要多少进程才能保持就绪状态,这决定了多道程序设计的程度。一旦做出决定,它将持续很长时间,因此被称为长期调度程序。
  2. 短期-上下文切换时间- 短期调度程序将决定下一步执行哪个进程,然后调用调度程序。dispatcher是一种软件,它将进程从就绪状态移动到运行状态,反之亦然。换句话说,这就是语境转换。
  3. 中期-交换时间- 暂停决定由中期计划员做出。中期调度程序用于将进程从主内存移动到辅助内存的交换,反之亦然。

多道程序设计—— 我们有很多流程可以运行。多道程序设计有两种类型:

  1. 先发制人—— 进程被强制从CPU中移除。先发制人也称为分时或多任务处理。
  2. 非优先购买权- 进程在完成执行之前不会被删除。

多道程序设计的程度—— 最多可以处于就绪状态的进程数决定了多道程序设计的程度,例如,如果编程程度=100,这意味着最多可以有100个进程处于就绪状态。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享