📜  操作系统中进程的状态

📅  最后修改于: 2021-09-27 15:15:57             🧑  作者: Mango

先决条件 – 简介,流程调度程序
进程的状态如下:

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

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

调度器的类型:

  1. 长期 – 性能 –决定应该让多少进程保持就绪状态,这决定了多道程序的程度。一旦做出决定,它会持续很长时间,因此称为长期调度程序。
  2. Short term – 上下文切换时间 – Short term scheduler 将决定接下来执行哪个进程,然后调用调度程序。调度程序是一种软件,可将进程从就绪状态移动到运行状态,反之亦然。换句话说,它是上下文切换。
  3. 中期 – 交换时间 –暂停决定由中期调度程序做出。中期调度程序用于交换,将进程从主内存移动到辅助内存,反之亦然。

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

  1. 抢占 –进程被强制从 CPU 中删除。抢占也称为分时或多任务。
  2. 非抢占 –进程在完成执行之前不会被删除。

多道程序的程度 –
最多可驻留在就绪状态的进程数决定了多道程序的程度,例如,如果编程程度=100,则表示最多可驻留100 个进程处于就绪状态。