CPU调度(一)

相关基本概念

  • CPU利用率 = CPU忙时 / 运行总时间
    引入多道程序设计,让多个进程竞争使用资源,目的就是为了提高计算机的资源使用率,尤其是CPU利用率。
    竞争使用资源,自然就存在了资源分配的问题。
  • CPU区间 - I/O区间 的循环
    所有进程执行都包括CPU操作+I/O操作,都呈现出这样的循环。CPU burst和I/O burst翻译成CPU区间和IO区间。


    CPU IO burst cycle
  • CPU调度器




    调用scheduler的时机,通常有:

    • 某一进程从运行状态转为等待状态(如遇到了I/O请求,或调用wait等待一个子线程的终止)
    • 某一进程从运行状态切换到就绪状态(出现中断,或者被某个超高优先级进程抢占)上图中少了这个箭头
    • 某一进程从等待状态转为就绪状态(IO之后回到就绪队列,当然也有可能这个进程优先级很高等待完了立刻得到CPU)
    • 某一进程终止

切换CPU的情形不止以上所述的四种情形。还有其他调用scheduler的情形有好多好多。

不过所有情形可以有以下的分类:

  1. 非抢占式nonpreemptive
    拥有CPU的进程自愿交出CPU,也就是上面的第一种(他需要新的资源,如IO)和第四种(结束了)情况。
  2. 抢占式preemptive
    如果非自愿交出CPU,就是抢占式,如第二种(另一个高优先级来了被迫交出CPU)和第三种(进到就绪队列了他就想要资源,那对于正在拥有CPU的进程就是被迫的)情形。
  • CPU分配器Dispatcher
    在Scheduler时候提到,调度器是先从就绪队列中选取一个进程,接下来再把CPU分配给这个进程。而第二步分配CPU的动作也可以由这里的dispatcher来完成,操作的内容通常包括:
    • switching context
    • kenel mode ——> user mode (CPU调度一定是在内核态里面做的,用户进程执行一定在用户态里面,所以一定涉及mode的切换)
    • 跳转至用户程序中PC寄存器所指示的位置

分配延迟:CPU分配器暂停前一进程,启动后一进程所经历的时间。

  • CPU调度器的追求指标
    • CPU利用率(CPU utilization)
    • 吞吐率(Throughput)——单位时间内完成执行的进程数
    • 周转时间(Turnaround time)——执行某一进程所耗用的CPU累积时间,从进程提交到进程完成的所有时间段之和,包括等待存入内存、在就绪队列等待、在CPU上执行和IO执行
    • 等待时间(Waiting time)——某一进程等待在就绪队列里面的累计时间
    • 响应时间(Response time)——某一进程从发出调度请求(比如鼠标一动按了保存按钮请求保存文件),到其得到CPU调度器响应(页面有反应了,即文件保存成功或者失败),其间所经历的时间

这章的研究问题就是,有限的一个CPU怎样分配给就绪队列里的这些进程,使得CPU利用率最高,吞吐量最高,周转时间、等待时间、响应时间最短。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第三部分 CPU调度 一、相关基本概念 引入多程序设计,目的是提高计算机资源利用率,尤其是CPU利用率(CPU u...
    曲谐_阅读 17,177评论 3 20
  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 10,930评论 1 22
  • 调度的概念 调度的基本概念 在多道程序系统中,进程的数量往往多于处理机的个数,进程争用处理机的情况就在所难免。 处...
    CodeKing2017阅读 6,156评论 0 2
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 14,201评论 3 34
  • - 墨绿色的柜子从余光中流动而过,我稍微加了加快脚步。朝着自己要找的人那儿走去,她的脑袋微微低了低,可见这柜子相对...
    TracyWinchest3阅读 1,202评论 0 0

友情链接更多精彩内容