当前位置: 首页 > news >正文

考研408《操作系统》复习笔记,第二章《2.3 进程调度》

回忆【挂起态】

一、进程调度基本概念

        一个作业被提交到被放到等待队列准备运行、到运行结束,一个过程会经历的【三个层次调度】:业调度、存调度、程调度(顺序:“作内进”;他们对应的层次等级是:高级调度、中极调度、低级调度

  • 作业调度(高级调度):
    • 从【外存】的后备队列的作业中选1个或多个作业,拿出来,分配内存、I/O设备等资源,并建立对应的进程(就是【创建进程】干的事)
  • 内存调度(中级调度):
    • 太多进程挤满了内存,就从内存的就绪队列取出暂时无用的进程,放到【外存】(就绪态—>挂起态)
  • 进程调度(低级调度):
    • 在【内存】,从就绪队列队头的进程分配CPU,准备运行(就绪态—>运行态)

【另外】一定要记住这两点!!

二、调度的基本实现原理

1、触发调度的时机(了解即可)

【应该调度】的时机

其实正好就是对应了进程各个状态变化的时机

【不该调度】的时机

(其中【处理中断】需要保存PC、PSW的内容,计算机组成原理讲过,可以自行学习)

【另外一个B站博主写得很好的一个笔记】

2、调度器和闲逛进程(不可能考,直接跳过)

除了王道,压根0人在意这个知识点!!!

连他自己的课后题都没有这块的题目,我都不知道他写来干嘛的。。。。

3、调度方式

就2个:【非抢占式调度】【抢占式调度】

下面是详细分类图,你不愿意看就记住:

  • 前者是当前进程【自己资源让出CPU】,他不让出CPU的话谁来也不好使,我管你优先级还是什么理由
  • 后者是当前进程【被迫被抢走CPU】,我管你愿不愿意,老子优先级高、运行时短,老子就抢你
    • 不过抢占的原则必须遵循:【优先级原则】、【短进程原则】、【时间片原则】(不是你阿鸡阿猫阿狗都能来抢占的)

三、调度算法性能计算

举例加深公式印象:

四、调度算法实现

1、先理解几个专业术语:

  • 【I/O密集型进程】&【处理机密集型进程】
    • 【I/O密集型进程】:
      • 也叫【I/O繁忙进程】
      • 就是要经常申请I/O设备操作的进程,那这种进程耗时比较长,每次I/O申请就运行态—>阻塞态—>就绪态,然后得排到【就绪队列的 队尾】重新等运行
    • 【处理机密集型进程】:
      • 也叫【CPU繁忙进程】
      • 就是少申请I/O,尽量保持一直在CPU上运转的进程,进程执行速度必然快

  • 【长进程】&【短进程】
    • 【长进程】:运行耗时较长的进程
    • 【短进程】:运行耗时短的进程
    • 那通常肯定更希望【短进程】先执行,就像宿舍洗澡,你洗澡只用1分钟,你室友要1个小时,你先洗的话他就只用等1分钟就可以洗澡了;他先洗的话你得等1个小时。。。

  • 【上下文切换】【模式切换】
    • 【模式切换】
      • 就是我们第一章学的【CPU 在 “用户态” 和 “内核态” 之间的权限切换】
    • 【上下文切换】
      • 上下文切换是指【操作系统在不同进程(或线程)之间切换执行权时,保存当前进程的 “执行上下文” 并加载下一个进程的上下文
        • (“执行上下文” 包括:寄存器值、程序计数器(PC)、内存映射(页表)、栈指针等,是进程 / 线程执行状态的完整快照)
        • 只能在【内核态】执行
    • 对比

最后一个看不懂没关系,只需要记住【模式切换】=【CPU用户态-内核态变化】就行

2、先来先服务FCFS

直接记住红色标注重点,直接搞定!!

【老实排队!!先到先得!!!】

例题的话,依据是上面给过的

3、短作业优先SJF(通常默认“非抢占式”)

直接记住红色标注重点,直接搞定!!

【好色富豪永远偏爱年轻情妇】

  • 1、要么在众爱妃中选最年轻的,然后一直相处到不爱为止
  • 2、要么在众爱妃中一直选最年轻的,吃着碗里的看着锅里的,每来一个更年期的情妇马上换掉旧情妇

4、高响应比优先

解决了【短作业优先SJF】的 “长作业饥饿问题”

按【响应比的优先级】来选择调度,公式如下:

5、优先级算法

就算按【优先级高低】来调度谁先上CPU

注意:

  • 【高响应比优先算法】的【优先级】是有固定公式计算的
  • 【优先级算法】的【优先级】根据具体情况而定,我们无需计算,题目会直接给出

另外,他和【短作业SJF】一样,也分【非抢占】和【抢占式】

原理是一样的,看一下就行

6、时间片轮转算法

也没什么可说,就算规定一个【时间片】,所有进程都只能在时间片内执行

到时间就给我下CPU,滚就绪队列队尾,重新排队直到到队头

7、多级队列调度算法

没什么可以说,就是【按照类型分配多个就绪队列】

哪个就绪队列先执行随意定

各个队列可采用专用的算法,没有统一算法

8、多级反馈队列调度

大概流程,画的很丑希望各位理解

【总结对比】

http://www.dtcms.com/a/511273.html

相关文章:

  • 网站开发流程有哪几个阶段网站关键词多少个合适
  • GitHub 热榜项目 - 日榜(2025-10-21)
  • 如何提高中药饮片批发业务的市场竞争力?
  • 门户网站建设关键点网站开发编程入门学习
  • 多路由隔离:构建模块化Agent工具服务器
  • [云计算] Classic Network-->VPC: 用SDN和Overlay实现隔离
  • linux shell编程实战 04 条件判断与流程控制
  • 10.21云计算作业
  • 服务器数据恢复—EqualLogic存储硬硬盘坏道,数据恢复有妙招
  • 风险识别不充分会让项目付出什么代价
  • LeetCode 46. 全排列
  • 洛谷 - P13982 数列分块入门 7(线段树解法 - 超详细版)
  • 页面PDF文件格式预览(不使用pdf.js)
  • Prompt Engineering 关键技能:精准掌控 LLM 输出的格式、内容与风格
  • 苹果(IOS)制作开发和发布证书
  • iOS 上架技术支持全流程解析,从签名配置到使用 开心上架 的实战经验分享
  • ISO 15765系列标准在车载诊断系统中的具体应用有哪些?
  • 人体含水量测量体验系统-VR节约用水互动游戏
  • 【ArcGIS软件教程】数据导出、CAD转换、属性表导出、裁剪、空间连接、修复几何
  • XYlease租赁商城小程序
  • 上海做网站建设平面设计线上培训班哪个好
  • 硬件语言:verilog(1)
  • 全排列——交换的思想
  • 【系统架构设计师(第2版)】六、数据库设计基础知识
  • LeetCode每日一题——缀点成线
  • COM组件访问权限错误的解决方案‌错误信息:检索 COM 类工厂中 CLSID 为{xxxx} 的组件失败,原因是出现以下错误:80070005 拒绝访问
  • 计算机组成原理 刘宏伟 第四章 存储器(下)
  • MS-YOLOv11:一种用于遥感图像中小目标检测的小波增强多尺度网络
  • 外贸企业网站设计公司龙中龙网站开发
  • 整站优化seo做电脑网站手机能显示不出来怎么办