📜  操作系统CPU调度

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

CPU调度

在像MS DOS这样的单编程系统中,当进程等待任何I / O操作完成时,CPU仍然是偶像。这是开销,因为它浪费时间并导致饥饿问题。但是,在多程序系统中,CPU在进程的等待时间内不会保持空闲状态,而是开始执行其他进程。操作系统必须定义将给CPU的进程。

在多程序系统中,操作系统将CPU上的进程调度为具有最大利用率,此过程称为CPU调度。操作系统使用各种调度算法来调度进程。

短期调度程序的任务是为CPU调度作业池中存在的进程数。每当正在运行的进程请求某些IO操作时,短期调度程序都会保存该进程的当前上下文(也称为PCB),并将其状态从运行更改为等待。在此期间,进程处于等待状态;短期调度程序从就绪队列中选择另一个进程,并将CPU分配给该进程。此过程称为上下文切换

在过程控制块中保存了什么?

在过程的生命周期中,操作系统维护过程控制块。当进程终止或终止时,将删除进程控制块。以下信息保存在过程控制块中,并随过程状态而变化。

为什么我们需要计划?

在Multiprogramming中,如果长期调度程序选择了更多的I / O绑定进程,则在大多数情况下,CPU仍然是偶像。操作系统的任务是优化资源利用。

如果大多数正在运行的进程将其状态从运行更改为等待,则系统中始终可能出现死锁。因此,为减少此开销,OS需要调度作业以获取CPU的最佳利用率并避免死锁的可能性。