ucore—15至16讲:处理机调度

第十五讲:处理机调度

15.1 处理机调度概念

  • CPU资源的时分复用
    既要选进程,也要选CPU
    在这里插入图片描述
  • 调度时机
    在这里插入图片描述

15.2 调度准则

  • 处理机资源的使用模式
    在这里插入图片描述
  • 比较调度算法的准则
    在这里插入图片描述
  • 快:吞吐量与延迟
    高带宽不一定低延时,低延时不一定高带宽
    在这里插入图片描述
  • 处理机调度策略的三个目标:响应时间(延时)、吞吐量(带宽)、公平性
    减少延时
    在这里插入图片描述
    增加吞吐量
    在这里插入图片描述
    保证公平性
    在这里插入图片描述

15.3 调度算法(考虑就绪队列)

15.3.1 先来先服务(FCFS)

  • First Come First Serve
    根据进入就绪状态的时间排序
    在这里插入图片描述
    注意周转时间的算法:进程从初始化到结束的总时间(包括等待时间!!!)

  • 先来先服务算法的特征
    在这里插入图片描述

15.3.2 短进程优先(SPN/SPF)

  • Shortest Process Next
    需注意这个执行时间是预期的,它实际上不可知
    在这里插入图片描述
  • 短进程优先的特征
    优点具有最优平均周转时间
    在这里插入图片描述
    缺点
    在这里插入图片描述
  • 执行时间的预估
    对之前的执行时间做衰减,最近的执行时间权重最大
    在这里插入图片描述
    在这里插入图片描述

15.3.3 高响应比优先(HRRN)

  • High Response Ratio Next
    在这里插入图片描述

15.4 调度算法(考虑执行时间)

15.4.1 时间片轮转算法(Round-Robin)

  • 时间片
    在这里插入图片描述
  • 示例
    在这里插入图片描述
  • 时间片长度
    设置合理的时间片,维持上下文切换开销在1%内
    在这里插入图片描述
  • 时间片 与 先来先服务的比较
    先来先服务于到达时间以及进程执行时间有关,抖动较大;
    时间片处于FCFS的最佳与最差之间,更加稳定;
    在这里插入图片描述

15.4.2 多级队列调度算法(MQ)

  • 多级队列调度算法(MQ)
    就绪队列划分成多个独立的子队列,每个队列有自己的调度算法
    对于前台进程队列,多用于交互,对时间要求少,可使用时间片算法;
    对于后台进程队列,计算时间较长,可使用FCFS;
    队列间的调度
    在这里插入图片描述
  • 多级反馈队列调度(MLFQ)
    进程可在不同队列间移动的多级队列调度;
    在这里插入图片描述
    算法特征:CPU密集的进程,优先级下降快;
    I/O密集型进程停留在高优先级;

15.4.3 公平共享调度(FSS)

  • Fair Share Scheduling
    在这里插入图片描述

15.5 调度算法(其他)

15.5.1 实时调度

  • 实时操作系统
    在这里插入图片描述
  • 实时任务
    在这里插入图片描述
  • 周期实时任务
    在这里插入图片描述
  • 硬实时和软实时
    在这里插入图片描述
  • 可调度性
    在这里插入图片描述
  • 实时调度算法
    前者是静态调度,后者是动态调度;
    都只是提一下,了解即可
    在这里插入图片描述

15.5.2 多处理机调度

  • 多处理器调度
    在这里插入图片描述
    对称与非对称多处理器
    非对称多处理器:将若干个处理器挂接到总线上,在各处理器之间形成简单的主从设备关系。非对称处理器不允许所有处理器访问所有系统资源,使系统性能受到限制。
    对称多处理器:所有处理器的地位都是相同的,所有的资源,特别是存储器、中断及I/O空间,都具有相同的可访问性,消除了结构上的障碍

  • 对称多处理器的进程分配
    在这里插入图片描述
    实际系统中,两种分配方式都有采用!

15.6 优先级反置

  • 优先级反置现象
    由于T1已经占用资源L1,所以T2被阻塞;
    T2被阻塞时,如果T1虽然占用L1资源,但是尚未获得CPU进入运行状态,T3抢占了T1的CPU(T3与T1没有资源冲突),则会导致高优先级的T2进入长时间等待 => 优先级反置
    => 解决问题的关键就是防止低优先级的进程被中间优先级的进程抢占CPU
    在这里插入图片描述

  • 解决方法一:优先级继承
    图中最开始的有优先级:T1>T2>T3
    在这里插入图片描述
    图中,t3时刻,T1优先级高于T3,直接抢占CPU(从而T1被阻塞 => 提高T1优先级);
    t4时刻,T1请求被T3占用的资源,因此被阻塞,T3获得CPU(因为此时T3已被提升,高于T2,不会被T2抢占);

  • 解决方法二:优先级天花板协议
    在这里插入图片描述
    但是实际系统中,与上述方法都有较大区别!!

第十六讲(实验6):调度器

16.1 总体介绍和调度过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值