3.2 调度算法

作业调度: 将位于后备队列的某个作业调入内存,排在就绪队列上
进程调度: 从就绪队列选取一个进程,并为其分配处理机,及“执行”

△先来先服务调度算法(FCFS)

  • 先来先服务(First Come First Service,FCFS
  • 关键: 按照到达的 先后次序
  • 既可用于作业调度,又可用于进程调度
    • 用于作业调度时,考虑的是哪个作业先到达后备队列
    • 用于进程调度时,考虑的是哪个进程先到达就绪队列

△短作业优先调度算法(SJF)(抢占/非抢占)

  • 短作业优先(Short Job First,SJF)
  • 关键:长短(剩余服务时间 来计算优先级,越短优先级越高(抢占/非抢占
  • 既可用于作业调度,又可用于进程调度

优先级调度算法(抢占/非抢占)

  • 关键: 优先级高的,先被调度
  • 既可用于作业调度,又可用于进程调度(抢占/非抢占

☆轮转调度算法(RR)

  • 轮转(Round Robin,RR
  • 仅用于进程调度只有作业放入内存建立了相应进程后,才能被处理机分配时间片

RR过程详解

  • 系统会将所有的就绪进程按FCFS排成一个就绪队列,队首先执行一个时间片
  • 执行完该时间片后,若进程尚未运行完毕,将其放入就绪队列队尾
  • 我们约定:新到达的进程先进就绪队列,轮转出来的后进就绪队列

★多级反馈队列调度算法(FB)(抢占/非抢占)

  • 多级反馈队列(FB
  • 仅用于进程调度

FB过程详解

  1. 设置多个就绪队列:
    a. 就绪队列的优先级依次降低
    b. 每个就绪队列都使用FCFS进行调度
    c. 每个就绪队列都有对应时间片,且第i+1个队列的时间片要比第i个队列的时间片长1倍
  2. 当且仅当第一队列空闲时,才调度第二队列中的进程
  3. 一个进程在第i个队列的时间片执行完,若进程还未运行完毕,则转入第i+1个就绪队列末尾
  4. 如果处理机在第i队列中为某进程服务时,又有新进程进入任一优先级较高的队列,则需把正在运行的进程放回到第i队列的末尾,并把处理机分配给新到的高优先级进程,下一次在给该进程完整时间片
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值