基于优先级的多道程序系统作业调度——基于优先级

本文介绍了如何编写和调试一个多道程序系统的作业调度模拟程序,该程序采用了基于优先级的调度算法。设定CPU最大运行资源为10,时间片为0.5。测试样例包括三个作业,通过模拟运行展示了调度过程和计算各作业的完成时间、周转时间和带权周转时间。代码实现详情见正文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编写并调试一个多道程序系统的作业调度模拟程序。

  作业调度算法:采用基于优先级的作业调度。

本程序中,我设定CPU最大可运行资源数为10,时间片为0.5,如果输入的作业(单个)占用CPU时间大于10,程序终止,无法调度。

测试样例:

作业名   提交时间   CPU时间   IO时间   优先级

  1         5          2         1         3

  2         2          5         4         4

  3         2          4         2         1

按照优先级排序:2,1,3

原理:从时间 2 开始,作业2运行0.5后交给作业1,以此类推,直到作业1先完成,此时轮转了3次 + 1 = 3*1.5 + 1 = 5.5,作业1完成时间为 5.5 + 2 + 1 = 8.5,而它不占用CPU的时间是7.5(IO不占用)。

ex:作业1完成时间 8.5,周转时间 8.5 - 5 = 3.5,带权周转时间 3.5 / 2 = 1.75。

作业 3 完成时间 = 2 + 3*1.5(作业1在,每轮1.5)+ 1.5(作业1收尾这一轮) + 4*1(只剩2个,每轮1) + 2 = 14

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值