系统CPU调度

本文概述

  • 在进程控制块中保存了什么?
  • 为什么我们需要计划?
在像MS DOS这样的单编程系统中, 当进程等待任何I / O操作完成时, CPU仍然是偶像。这是开销, 因为它浪费时间并导致饥饿问题。但是, 在多程序系统中, CPU在进程的等待时间内不会保持空闲状态, 而是开始执行其他进程。操作系统必须定义将给CPU的进程。
在多程序系统中, 操作系统将CPU上的进程调度为具有最大利用率, 此进程称为CPU调度。操作系统使用各种调度算法来调度进程。
短期调度程序的任务是为CPU调度作业池中存在的进程数。每当正在运行的进程请求某些IO操作时, 短期调度程序都会保存该进程的当前上下文(也称为PCB), 并将其状态从运行更改为等待。在此期间, 进程处于等待状态;短期调度程序从就绪队列中选择另一个进程, 并将CPU分配给该进程。此进程称为上下文切换。
在进程控制块中保存了什么? 在进程的生存期内, 操作系统会维护进程控制块。当进程终止或终止时, 将删除进程控制块。以下信息保存在进程控制块中, 并随进程状态而变化。
系统CPU调度

文章图片
为什么我们需要计划? 在Multiprogramming中, 如果长期调度程序选择了更多的I / O绑定进程, 那么大多数时候CPU仍然是偶像。操作系统的任务是优化资源利用。
【系统CPU调度】如果大多数正在运行的进程将它们的状态从运行更改为等待, 那么系统中总会出现死锁的可能性。因此, 为了减少这种开销, OS需要调度作业以获取CPU的最佳利用率并避免死锁的可能性。

    推荐阅读