操作系统导论课后作业-第八章答案

课程作业-第八章:

8.1只用两个作业和两个队列运行几个随机生成的问题。针对每个作业计算 MLFQ 的执行记录。为了简化计算,限制每项作业的长度并关闭 I/O。

答:

终端输入./mlfq.py -n 2 -j 2 -m 100 -M 0 -s 9 -c

指令中,-n为队列个数,-j为工作个数,-m为每项作业长度上限,-M为I/O频率,因为关闭I/O,其频率为0

这里,队列个数为2,工作个数为2,每项作业上限为100,I/O频率为0,随机种子为9,显示查看每个单位时间的运行情况。如下图所示:

假设Job0为事件A,Job1为事件B,分析如下表所示:

时刻

队列0

队列1

CPU

0-10

AB

A

10-20

A

B

B

20-30

AB

A

31-35

BA

B

35-60

A

A

在34时间时,B(Job1)完成工作;在60时间时,A(Job0)完成工作。

每个Job的周转时间和响应时间如下图所示:

从图中可以看出,平均响应时间为5.00,平均周转时间为47.00。其他情况分析方法同上。

8.3将如何配置调度程序参数,使得调度程序像轮转调度程序那样工作?

答:

将队列数设置为1,即可使得调度程序像轮转调度程序那样工作具体过程如下图所示:

这里,给出一个队列,三个Job,时间片长度为4,可以看到,三个工作以4为单位循环使用CPU。

8.5给定一个系统,其最高队列中的时间片长度为 10ms,你需要如何频繁地将工作推回到最高优先级级别(带有-B 标志),以保证一个长时间运行(并可能饥饿)的作业得到至少5%的CPU?

答:

10ms/5%=200ms,所以boost的周期设置为200ms,才能使该工作至少得到5%的CPU。或者,设置成200的整数倍数ms也可以,但不如直接设置为200ms优。并且,任务数量需要少于20个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一二爱上蜜桃猫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值