【操作系统学习笔记07】

2023-11-22 02:19·16 次阅读

【操作系统学习笔记07】

以下是下面链接中教程的笔记,如有侵权请联系我删除。随便学学可能不严谨,但如果有离谱错误烦请指正。
https://www.bilibili.com/video/BV1YE411D7nH?p=19&vd_source=febdc1a8028af6b442667407286a2750

调度程序包含:调度算法(谁运行)、时间片大小(运行多久)

调度程序运行时间点:

  • 创建新进程
  • 进程退出
  • 进程阻塞
  • I/O中断发生

非抢占式进程调度仅在运行进程阻塞或退出时运行调度程序

有内核级线程的操作系统,调度程序处理对象是内核线程,否则是进程

闲逛进程:没有任务时运行

  • 优先级最低
  • 运行的指令占一个完整的指令周期,末尾会检查中断
  • 资源消耗少(非常基本的功能)

调度算法评价指标

  • CPU利用率 = 忙碌时间 / 总时间
  • 系统吞吐量 = 总共多少道作业 / 总时间
  • 周转时间 = 作业提交给系统到作业完成
  • 带权周转时间 = 周转时间 / 实际运行时间 = (完成时间 - 提交时间) / 实际运行时间
  • 等待时间 = 等待处理机状态时间和
  • 响应时间 = 提出请求到首次产生响应的时间
  • ...

早期批处理系统中的典型调度算法
不关心响应时间,交互式系统中体验较差

  • 先来先服务
    1.作业完成时调用
    2.非抢占式(除非进程主动放弃处理机)
    3.1.优点:公平,算法实现简单
    3.2.缺点:短作业用户体验不好
    4.不导致饥饿

  • 短作业优先
    1.作业完成时调用
    2.1.非抢占式
    2.2.抢占式版本:最短剩余时间优先(新进来的进程比当前运行的进程剩余时间短会抢占处理机),等待队列变化时调用
    3.1.优点:短平均等待时间,短平均周转时间
    3.2.缺点:长作业用户体验不好
    4.可能导致饥饿

  • 高响应比优先
    1.作业完成时调用。每次调度时计算响应比:(当前等待时间+要求服务的时间)/ 要求服务的时间
    2.非抢占式
    3.优点:综合考虑
    4.不导致饥饿

posted @   Yukkurii  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示