什么是操作系统中的进程调度程序?
进程调度程序是操作系统的一部分,负责调度进程。如果进程处于就绪、等待和运行状态,它会正确地调度它,并且还负责在一段时间内将 CPU 处理器分配给特定任务。
此外,当任务或进程完成后,它不会让 CPU 处于空闲状态。它将根据其当前状态分配其他任务。如果进程处于就绪状态,它将将其分配给 CPU,这样它始终保持 CPU 繁忙。
良好进程调度程序的特征
良好进程调度程序的特征如下:
它通过始终分配就绪状态的进程来提高 CPU 的利用率。
它具有灵活性,您可以轻松更改您的计划。
它允许您重新访问或审查您的项目。
通过使用它,您可以严格遵守截止日期。**例如**,如果您有一个项目的截止日期为 9 月 10 日,那么您可以将截止日期设置为 9 月 10 日下午 6 点或任何时间。
此外,任务不是孤立的;您可以清楚地看到它们之间的关系或它们如何相互关联。
调度类别
调度有两个主要类别。如下所示:
抢占式调度
这意味着 CPU 在另一个低优先级任务之前运行一个具有更高优先级的任务,而不管低优先级任务是否正在运行。此时,低优先级任务会暂停一段时间,并在高优先级任务完成执行后恢复。
非抢占式调度
在这种类型的调度技术中,CPU 已分配给特定进程。使 CPU 保持繁忙的进程将通过切换上下文或终止来释放 CPU。
这是可以用于各种硬件平台的主要策略。这是因为它不需要像抢占式调度那样需要特殊的硬件(例如时钟)。
当进程完全进入等待状态或终止时,就会发生非抢占式调度。
主要区别
抢占式和非抢占式调度之间的主要区别如下:
在抢占式调度中,处理器分配给进程的时间是固定的,而在非抢占式调度中,处理器分配给进程直到其完成。
在抢占式调度中,任务是根据优先级切换的,而在非抢占式调度中,不会发生切换。
抢占式算法有将进程从就绪状态移动到运行状态的开销,而非抢占式调度则没有这种开销。
虽然非抢占式调度是静态的,但抢占式调度是灵活的。