《操作系统导论》实验三:模拟进程调度算法

本文介绍了操作系统实验中模拟进程调度算法,包括SJF、FIFO和RR。通过调度算法的运行,分析了不同工作负载下的响应时间、周转时间,并探讨了何时SJF和FIFO、SJF和RR的周转时间或响应时间相同。实验展示了随着进程执行时间和时间片变化,调度算法响应时间的趋势。

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

1.作业包:scheduler.py
2.作业说明:

通过程序 s c h e d u l e r . p y scheduler.py scheduler.py,我们能够观察到不同进程调度算法执行情况,譬如响应时间、周转时间和总等待时间。

命令行参数解释如下:

  • − h -h h: 查看帮助信息以及推出
  • − s -s s: 随机数生成器的种子
  • − j -j j: 系统中的进程数量
  • − l -l l: 使用进程列表,进程间用逗号隔开,不使用随机生成的进程
  • − m -m m:进程执行时间的最大长度
  • − p -p p:进程调度算法,包括 S J F SJF SJF, F I F O FIFO FIFO, R R RR RR
  • − q -q q:RR调度算法的时间片长度
  • − c -c c:计算进程调度执行情况
3.作业要求:

(1)使用 S J F SJF SJF F I F O FIFO FIFO 调度算法运行3个执行时间为200的进程,计算响应时间和周转时间

答:该题目下 S J F SJF SJF F I F O FIFO FIFO 调度算法执行情况一致,下面仅显示 F I F O FIFO FIFO 的执行结果。在这里插入图片描述
计算执行情况:

作业响应时间周转时间等待时间
102000
2200400200
3400600400
平均200400200

运行验证:
在这里插入图片描述
(2)修改 3 个进程的执行时间为100、200 和 300

答:该题目下 S J F SJF SJF F I F O FIFO FIFO 调度算法执行情况一致,下面仅显示 F I F O FIFO FIFO 的执行结果。

在这里插入图片描述
计算执行情况:

作业响应时间周转时间等待时间
101000
2100300100
3300600300
平均133.33500133.33

运行验证:
在这里插入图片描述
(3)修改 (1) 调度算法为 R R RR RR 且 时间片为 1

在这里插入图片描述
计算执行情况:

作业响应时间周转时间等待时间
10598398
21599399
32600400
平均1599399

运行验证:
在这里插入图片描述
(4)使用什么样的工作负载, S J F SJF SJF F I F O FIFO FIFO 调度算法产生的周转时间相同?

答:归纳前两问可知,只要前面的进程的执行时间小于等于后面的进程执行时间即可。

(5)使用什么样的工作负载和时间片, S J F SJF SJF R R RR RR 调度算法产生的响应时间相同?

答:进程的执行时间和时间片长度相同时。

(6)随着进程执行时间增长, S J F SJF SJF 调度算法的响应时间如何? 使用模拟器表示这一趋势

答:进程执行时间同步增长,则 S J F SJF SJF 调度算法的响应时间同步增长。

3个进程执行时间:1,1,1
在这里插入图片描述
3个进程执行时间:2,2,2
在这里插入图片描述
(6)随着时间片增长, R R RR RR 调度算法的响应时间如何? 给出 N N N 个进程下最坏响应时间的公式

答:时间片 q q q 增长,则 R R RR RR 调度算法的响应时间增长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值