【操作系统复习】第三章 第三节 进程调度

操作系统复习

第三章 进程管理

3.3 进程调度

一、处理机调度的基本概念

1.调度的类型

  • 高级调度:作业调度
    • 多道批处理系统中,决定将哪些作业从外存调入内存
  • 低级调度:进程(或内核级线程)调度
    • 决定就绪队列中的哪个进程获得处理机
    • 要解决的问题
      • WHEN:进程调度时机:何时分配CPU
      • HOW:进程调度方式:如何分配CPU
      • WHAT:进程调度算法:按什么原则分配CPU
  • 中级调度:内存调度
    • 决定进程在内外存之间的对换(挂起和激活)

2.调度的性能准则

  • 面向用户
    • 周转时间(批处理系统)
      • 周转时间=作业完成事件-作业完成时间
      • 平均周转时间=Σ周转时间/作业个数
      • 平均带权周转时间
    • 响应时间(分时系统)
    • 优先级

计算:不同调度策略下,一批作业的平均周转时间

  • 面向系统
    • 吞吐量(批处理系统)
    • 处理机利用率(批处理系统)
    • 公平性(分时系统)
  • 调度算法本身
    • 易于实现
    • 执行开销比

3.进程调度的时机:WHEN

  • 当前进程运行→退出
    • 现运行进程完成任务正常结束或因出现错误异常结束;
  • 当前进程运行→就绪
    • 时间片到 (按时间片运行);
    • 具有更高优先级的进程进入就绪队列,要求使用处理机(可剥夺调度)。
  • 当前进程运行→阻塞
    • 进程提出I/O请求 ––– 阻塞,调新进程;
    • 执行原语操作而信号量不足被阻塞;

4.进程调度的方式:HOW

  • 非剥夺调度
  • 剥夺调度:优先级
二、进程调度算法:WHAT

大题:调度算法过程、计算性能(平均等待时间、平均完成时间)

1.先来先服务 FCFS

  • 按照进程进入就绪队列的先后次序分派CPU;
  • 特点
    • 有利于长作业,不利于短作业
    • 有利于CPU繁忙的作业,不利于I/O繁忙的作业
    • 实现简单

2.时间片轮转 RR

  • 时间片长度变化的影响
    • 无限长:退化为FCFS算法
    • 很长:系统响应时间增长
    • 很短:上下文切换次数多,开销大,吞吐量低
  • 对响应时间的要求
    • 响应时间=进程数目*时间片长度

计算:根据进程数目和响应时间,计算时间片长度

  • 时间片长度的影响因素
    • 进程数目
    • 系统的处理能力
  • 需要平衡短作业性能和长作业吞吐量
  • 不利于IO密集型进程

3.基于优先级的调度算法 Priority

  • 与FCFS策略相结合
  • 优先级的类型
    • 静态优先级
    • 动态优先级
  • 缺点:低优先级进程可能饿死

4.最短进程(作业)优先 SPN/SPF/SJN/SJF

  • 优先级:运行时间
  • 非抢占
  • 优点
    • 提高系统吞吐量
    • 平均响应时间/平均周转时间最短,标尺
  • 缺点
    • 有利于短作业,不利于长作业
    • 需要预知作业的运行时间(几乎不可能)

5.最短剩余时间优先 SRT/SRTF

  • 优先级:剩余运行时间
  • 可抢占的SPN
  • SJF/SRTF在平均响应时间/平均周转时间方面最优

6.最高响应比优先 HRRN(作业调度)

  • 响应比: R R = 等 待 时 间 + 要 求 服 务 时 间 要 求 服 务 时 间 = 响 应 时 间 要 求 服 务 时 间 RR = \frac{等待时间+要求服务时间}{要求服务时间}=\frac{响应时间}{要求服务时间} RR=+=
  • 如果作业等待时间相同,有利于短作业
  • 如果作业要求服务时间相同,等待时间越长,优先级越高,保证长作业优先级越来越高

7.多级队列算法

  • 多个就绪队列,不同调度算法

8.多级反馈队列调度

  • 调度机制
    • 多个就绪队列,每个队列优先级不同
    • 同一队列内使用RR算法,优先级越高,时间片越短
    • 新进程进入内存后,投入高优先级队列末尾
    • 若一个时间片用完,未结束,降低优先级,投入低一级优先级队列
    • 若一个时间片未用完,发生阻塞,提高优先级,投入高一级优先级队列
    • 高优先级队列为空,才调度低一级优先级队列
    • 如果进程执行时有新进程进入较高优先级的队列,则抢先执行高优先级进程
  • 特点
    • 短作业:为提高系统吞吐量和缩短平均周转时间而照顾短进程—短作业优先
    • IO型进程:为获得较好的I/O设备利用率和缩短响应时间而照顾I/O型进程—每次I/O返回时提高优先级,时间片用完时降低优先级
    • 计算型进程:时间片的变化使得运算型进程将获得较长的时间片执行,减少调度次数
    • 不必估计进程的执行时间,动态调节优先级

9.彩票调度

三、实时调度

1.实时调度方法:硬实时,HRT

  • 离线调度,静态表调度(静态分析+静态调度)
    • 固定调度方案
  • 固定优先级调度(静态分析+动态调度)
  • 动态优先级调度

2.速率单调调度 RMS

  • 周期任务:周期越短,优先级越高

3.最早期限优先 EDF

  • 优先级:Deadline的早晚
  • 可抢占/不可抢占的动态优先级调度
  • 可用于非周期任务和周期任务

4.最低松弛度优先 LLF

  • 优先级:松弛度=任务必须完成的时刻-已运行时间-当前时间
  • 可抢占的动态优先级调度

5.优先级反转

  • 现象:高优先级进程被低优先级进程阻塞
  • 解决方法:优先级继承
    • 所有使用到高优先级进程所需资源的进程,继承高优先级直到用完竞争资源,再回到原来的优先级
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值