• Lecture 6 CPU Scheduling(处理器调度)


    1 CPU调度程序

    基本概念

    在这里插入图片描述


    CPU程序程序类型

    在这里插入图片描述


    CPU调度程序
    无论何时,只要CPU空闲了,操作系统必须选择一个在准备队列中的进程执行。被选择的进程被CPU调度程序执行。
    抢占调度

    • 非抢占调度
      • 一旦某个进程得到CPU,就会一直占用到终止或者等待状态。
    • 抢占调度
      • 会按照一些优先级顺序调度程序。

    2 CPU调度准则

    调度算法性能的衡量

    • CPU利用率:CPU的忙碌程度
    • 响应时间:从提交任务到第一次响应的时间
    • 等待时间:进程累积在就绪队列中等待的时间
    • 周转时间:从提交到完成的时间
    • 呑吐率:每个时钟单位处理的任务数
    • 公平性:以合理的方式让各个进程共享CPU

    调度性能指标

    在这里插入图片描述

    3 调度算法

    先来先服务(FCFS)

    在这里插入图片描述


    ![在这里插入图片描述](https://img-blog.csdnimg.cn/1cdc208b1b474e9283d8c5dc158302c9.png)


    时间片轮转(ROUND ROBIN)

    • 每个进程都可以得到相同的CPU时间(CPU时间片, time slice),当时间片到达,进程将被剥夺CPU并加入就绪队列的尾部 。
    • 抢占式调度算法
    • n个就绪队列中的进程和时间片q ->
      • 每个进程获得1/n的CPU时间,大约是q个时间单位
      • 没有进程等待时间会超过 (n-1)q

    在这里插入图片描述


    ![在这里插入图片描述](https://img-blog.csdnimg.cn/2a189a0781514fefb9a52588c5264c42.png)
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/e94f9456637243e9bf4261db00906b37.png)


    最短作业优先(SJF)

    在这里插入图片描述


    ![在这里插入图片描述](https://img-blog.csdnimg.cn/e26ccb039b6b4692aa36ceb8165d1438.png)


    优先级调度(PRIORITY)

    • 优先级通常为固定区间的数字,如[0, 10]:
      • 数字大小与优先级高低的关系在不同系统中实现不一样,以
      • Linux为例,0为最高优先级。
      • 调度策略:下一次调度总是选择优先级最高的进程。
      • SJF是优先级调度的一个特例。
      • 优先级调度可以是抢占式,也可以是非抢占式。

    在这里插入图片描述


    优先级的定义

    • 静态优先级
      • 优先级保持不变,但会出现不公平(饥饿)现象
    • 动态优先级(退化Aging)
      • 根据进程占用CPU时间:当进程占有CPU时间愈长,则慢慢降低它的优先级;
      • 根据进程等待CPU时间:当进程在就绪队列中等待时间愈长,则慢慢提升它的优先级。

    4 Linux线程调度

    在这里插入图片描述


    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    毅速丨哪些金属材料在3D打印中应用最多
    体育场馆LED显示屏的分类及应用
    想转行学软件测试担心哪些问题?
    爆款视频生成器-视频批量剪辑系统源码开发分享
    [入门到吐槽系列] 微信小程序 敏感违规图片检测 mediaCheckAsync,客服接口 消息推送 的各种坑分享!
    SSH key 运作方式
    SQL动态分区、用户管理以及流程控制
    模型部署笔记--Pytorch-FX量化
    js基础,元素获取,事件触发,随机点名
    windows + excel 批量操作文件/文件夹
  • 原文地址:https://blog.csdn.net/weixin_61823031/article/details/126431853