什么是操作系统中的进程调度程序?


进程调度程序是操作系统的一部分,负责调度进程。如果进程处于就绪、等待和运行状态,它会正确地调度它,并且还负责在一段时间内将 CPU 处理器分配给特定任务。

此外,当任务或进程完成后,它不会让 CPU 处于空闲状态。它将根据其当前状态分配其他任务。如果进程处于就绪状态,它将将其分配给 CPU,这样它始终保持 CPU 繁忙。

良好进程调度程序的特征

良好进程调度程序的特征如下:

  • 它通过始终分配就绪状态的进程来提高 CPU 的利用率。

  • 它具有灵活性,您可以轻松更改您的计划。

  • 它允许您重新访问或审查您的项目。

  • 通过使用它,您可以严格遵守截止日期。**例如**,如果您有一个项目的截止日期为 9 月 10 日,那么您可以将截止日期设置为 9 月 10 日下午 6 点或任何时间。

  • 此外,任务不是孤立的;您可以清楚地看到它们之间的关系或它们如何相互关联。

调度类别

调度有两个主要类别。如下所示:

抢占式调度

这意味着 CPU 在另一个低优先级任务之前运行一个具有更高优先级的任务,而不管低优先级任务是否正在运行。此时,低优先级任务会暂停一段时间,并在高优先级任务完成执行后恢复。

非抢占式调度

在这种类型的调度技术中,CPU 已分配给特定进程。使 CPU 保持繁忙的进程将通过切换上下文或终止来释放 CPU。

这是可以用于各种硬件平台的主要策略。这是因为它不需要像抢占式调度那样需要特殊的硬件(例如时钟)。

当进程完全进入等待状态或终止时,就会发生非抢占式调度。

主要区别

抢占式和非抢占式调度之间的主要区别如下:

  • 在抢占式调度中,处理器分配给进程的时间是固定的,而在非抢占式调度中,处理器分配给进程直到其完成。

  • 在抢占式调度中,任务是根据优先级切换的,而在非抢占式调度中,不会发生切换。

  • 抢占式算法有将进程从就绪状态移动到运行状态的开销,而非抢占式调度则没有这种开销。

  • 虽然非抢占式调度是静态的,但抢占式调度是灵活的。

更新于:2021-11-30

1K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告