📜  操作系统进程调度程序

📅  最后修改于: 2020-12-14 01:38:35             🧑  作者: Mango

流程调度器

操作系统将各种调度程序用于以下所述的进程调度。

1.长期调度程序

长期计划程序也称为作业计划程序。它从池(辅助内存)中选择进程,并将其保留在维护于主内存中的就绪队列中。

长期调度程序主要控制多重编程的程度。长期调度程序的目的是在池中存在的作业中选择IO绑定和CPU绑定进程的完美组合。

如果作业调度程序选择更多的IO绑定进程,则所有作业可能一直都处于阻塞状态,并且CPU大部分时间都将保持空闲状态。这将降低多程序化的程度。因此,长期调度程序的工作非常关键,可能会在很长一段时间内影响系统。

2.短期计划程序

短期调度程序也称为CPU调度程序。它从就绪队列中选择作业之一,并分派给CPU执行。

调度算法用于选择要为执行而调度的作业。从某种意义上来说,短期调度程序的作业可能非常关键,因为如果它选择CPU突发时间非常长的作业,则此后的所有作业都必须在就绪队列中等待很长时间。

如果短期计划程序在选择作业时犯了一些错误,则可能会出现此问题,称为饥饿。

3.中期调度程序

中期调度程序负责换出的进程。如果运行状态进程需要一定的IO时间才能完成,则需要将其状态从运行更改为等待。

中期调度程序用于此目的。它将进程从运行状态中删除,以便为其他进程腾出空间。这些过程是换出过程,此过程称为交换。中期调度程序负责中止和恢复过程。

它降低了多重编程的程度。为了使就绪队列中的进程完美地结合在一起,交换是必要的。