操作系统原理经典题型——进程作业调度算法(小白也能看懂)

七、进程作业调度算法

如题: 假设一个系统有 4个进程,他们的到达时间和服务时间如下表所示,忽略 I/O 以及其他的开销时间,若分别按 先来先服务( FCFS ) 、 短进程优先( SPF )、高响应比优先算法(HRRN) 调度算法进行 CPU 调度,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。

进程到达时间运行时间
P107
P224
P341
P454

首先你需要知道各个时间代表什么

  1. 到达(提交)时间:题目给你的,该进程什么时候来的(还没运行呢)
  2. 运行时间:题目给你的,该进程要运行多长时间
  3. 开始时间:根据算法得的,该进程啥时候真正开始运行
  4. 结束时间:开始时间 + 运行时间,该进程啥时候运行结束
  5. 周转时间:结束时间 - 到达时间,该进程从到达到结束一共用的时间
  6. 带权周转时间:周转时间 / 运行时间
  7. 平均带权周转时间:所有进程带权周转时间总和 / 进程数

所以吧,你其实只要根据算法得开始时间就完事了,其他都是加加减减乘乘除除的事情

先来先服务(FCFS)

思路:谁先来的就先执行谁(非抢占式)

解题过程:

  1. 别管算法,先列个表先,把题目告诉你的抄下来

    进程到达时间运行时间开始时间结束时间周转时间带权周转时间
    P107
    P224
    P341
    P454
  2. 管管算法,按思路,谁先来谁就执行(谁到达时间最早先执行谁)

    即P1→P2→P3→P4,在表中填出开始时间、结束时间

    进程到达时间运行时间开始时间结束时间周转时间带权周转时间
    P10707
    P224
    P341
    P454
    进程到达时间运行时间开始时间结束时间周转时间带权周转时间
    P10707
    P224711
    P341
    P454
    进程到达时间运行时间开始时间结束时间周转时间带权周转时间
    P10707
    P224711
    P3411112
    P4541216
  3. 计算出周转时间、带权周转时间

    进程到达时间运行时间开始时间结束时间周转时间带权周转时间
    P107077-0=77/7=1
    P22471111-2=99/4=2.25
    P341111212-4=88/1=8
    P454121616-5=1111/4=2.75
短作业优先(SJF)

思路:先执行最先到达的,然后根据谁运行时间短先执行(非抢占式)

解题过程:

  1. 别管算法,先列个表先,把题目告诉你的抄下来

  2. 按思路,0时刻只有P1到了,先执行P1,然后谁运行时间短谁先执行(注意如果运行完发现某个进程还没到就先别运行他)

    即P1→P3→P2→P4,在表中填出开始时间、结束时间

  3. 计算出周转时间、带权周转时间

    进程到达时间运行时间开始时间结束时间周转时间带权周转时间
    P10707
    P224
    P341
    P454
    进程到达时间运行时间开始时间结束时间周转时间带权周转时间
    P10707
    P224
    P34178
    P454
    进程到达时间运行时间开始时间结束时间周转时间带权周转时间
    P1070771
    P224812102.5
    P3417844
    P4541216112.75
高响应比优先算法(HRRN)

思路:计算响应比=(等待时间+执行时间)/执行时间,谁高谁先执行(等待时间=此时刻-到达时间)

解题过程:

  1. 别管算法,先列个表先,把题目告诉你的抄下来

  2. 按思路,0时刻只有P1到了,先执行P1,执行完在7时刻

    • 然后计算剩下进程的响应比

      P2:(5+4)/4=2.25,P3:(3+1)/1=4,P4:(2+4)/4=1.5

    所以接下来执行P3,P3执行完在8时刻

    • 计算响应比

      P2:(6+4)/4=2.5,P4:(3+4)/4=1.75

    所以接下来执行P2,最好执行P4

    即P1→P3→P2→P4

  3. 计算出周转时间、带权周转时间

进程到达时间运行时间开始时间结束时间周转时间带权周转时间
P1070771
P224812102.5
P3417844
P4541216112.75
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我嘞个乖乖鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值