第二章.4节 CPU调度Ⅱ(了解)

版权声明:就是开个版权玩一下 https://blog.csdn.net/qq_41997479/article/details/86321600

(PS:个人课下整理的操作系统笔记,OneNote直接拷贝过来的,图片看不了就将就一下,配合张伟老师的PPT看效果更好)

一、调度算法(Algorithm):(了解)

1.多级队列(MultiLevel Queue)调度——将一个就绪队列分成几个子队列,每个子队列有它自己的调度算法

  • 进程通常根据它的内存大小、进程优先级、进程种类来分到各个队列中
  • 如把就绪队列分为前端(interactive,高优先级进程如RR)和后端(batch,CPU密集型进程如FCFS)
  • 队列之间也必须要有调度算法(如进程从前端调度到后端),
    • 通常采用固定优先级(fixed priority)可抢占(primitive)调度,防止饥饿
    • 也可以采用时间片(time slice)调度(如80% to foreground in RR,20% to background in FCFS )
  • 多级调度队列的算法不允许进程在队列间移动,优点:低调度开销,缺点:不够灵活,因此有接下来的:

2.多级反馈队列(MultiLevel Feedback Queue)调度——允许进程在队列间移动,通用却复杂

  • 如果进程占用过多CPU时间,它会被移到更低优先级队列中
  • 而较低优先级的进程等待时间过长(饥饿),会移到高优先级队列中(老化)
  • 举例:

  • 调度程序的参数定义:
    1. 队列数量
    2. 每个队列的调度算法
    3. 进程何时升到高优先级队列的算法
    4. 进程何时降到低优先级队列的算法
    5. 来一个进程需要服务,确定进入哪一个队列的方法

 

二、多处理器(Multi-Processor)调度(了解)

  1. 多个CPU使负载分配(load sharing)称为可能,也带来更复杂的调度问题
  2. 多处理器调度方法:
    1. 非对称多处理(asymmetric multiprocessing)——一个处理器访问系统数据结构,减轻数据共享的需要,处理所有的调度决定、IO处理和其他系统活动
    2. 对称多处理(symmetric multiprocessing,SMP)——每个处理器自我调度

 

三、实时(Real-Time)调度

1.硬(hard)实时系统——在保证时间内完成关键任务

2.软(soft)实时系统——对计算限制较少,要求关键进程有更高的优先权

 

四、算法评估

  1. 最大化CPU使用率,最大化吞吐量
  2. 分析评估法(analytic evaluation):使用算法产生公式或数字,以评估该算法性能
    1. 确定模型法(deterministic modeling)
  3. 排队模型
    1. little公式:n(平均队列长度)=(平均到达率,如每秒3个进程)λ*W(队列平均等待时间)
  4. 模拟(simulation)
  5. 实现

猜你喜欢

转载自blog.csdn.net/qq_41997479/article/details/86321600
今日推荐