操作系统 CPU调度

2024年12月20日 操作系统 CPU调度 极客笔记

操作系统 CPU调度

在单任务处理系统中 (如MS DOS),当一个进程等待任何I/O操作完成时,CPU保持空闲。这是一种开销,因为它浪费时间并引起饥饿问题。然而,在多任务处理系统中,CPU在进程等待时间内不保持空闲,而是开始执行其他进程。操作系统必须定义给予CPU的进程。

在多任务处理系统中 ,操作系统对CPU上的进程进行调度,以最大程度地利用它,这个过程被称为 CPU调度 。操作系统使用各种调度算法来调度进程。

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

进程控制块中保存了什么信息?

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

为什么我们需要调度?

在多道程序设计中,如果长期调度程序选择了更多的I/O绑定进程,那么大部分时间,CPU会保持空闲。操作系统的任务是优化资源的利用。

如果大多数运行中的进程都将其状态从运行更改为等待,则系统中始终存在死锁的可能性。因此,为了减少这种开销,操作系统需要对作业进行调度,以获得CPU的最佳利用,并避免可能的死锁情况。

本文链接:http://so.lmcjl.com/news/19861/

展开阅读全文