作系统导论第八第九章作业


title: “操作系统导论第八第九章作业
date: 2019-10-14 13:01:03
tags:
-操作系统导论
-作业
categories:
操作系统导论


学号:201708010720 姓名:钟京华 班级: 计科1707



第八章作业解题报告

1:只用两个工作和两个队列运行几个随机生成的问题。针对每个工作计算MLFQ的执行记录。限制每项作业的长度并关闭IO。让你的生活更轻松。

解:

根据题目要求,使用命令行观察两个工作两个队列下的工作行为记录:

./mlfq.py -j 2 -n 2 -m 10 -M 0 -c

即设置工作最大长度为10,IO请求为0的两个工作,现在观察到两个工作MLFQ的执行记录如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ueAmfFG1-1571065444558)(C:\Users\123456\AppData\Roaming\Typora\typora-user-images\1571054606381.png)]

时间片记录如下:

1571054650052

最终统计结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WcdanhrD-1571065444559)(C:\Users\123456\AppData\Roaming\Typora\typora-user-images\1571054711943.png)]

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

解:

轮转调度在第七章给出了定义,为:RR在一个时间片内运行一个工作,然后切换到运行对了中的下一个任务,而不是运行一个程序直到结束。它反复执行,直到所有任务完成

我们现在要实现程序像轮转调度程序那样工作,即取消所有队列,只包含一个队列,即将所有工作放在同一个队列,拥有相同优先级即可,相应命令行如下:

./mlfq.py -j 3 -n 1 -m 20 -q 1 -M 0 -c

即- j 3 表示有三个工作,n 1 表示只有一个队列,即所有程序在同一个优先级,每时间片切换一次程序,同时-m 20表示工作长度最大为20,-q 1 表示时间片为1

得到的运行结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JzZco39N-1571065444567)(C:\Users\123456\AppData\Roaming\Typora\typora-user-images\1571055722292.png)]

时间统计:

1571055842320

可以看到三个工作长度为 17 8 10,轮转时间为 1 2 3,即每个时间片轮转一次程序,符合轮转调度。

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

解:

该问题可以从两个层面考虑,一个是系统,一个是工作

系统方面:要保证一个长时间运行并且可能饥饿的工作能获得至少5%的CPU,由于系统带有-B标志,那么我们需要设计每隔一段时间,将所有工作推回到最高优先级,这个时间常量计算如下:
S = 10 / 0.05 = 2000 ; S = 10/0.05 = 2000; S=10/0.05=2000;
也就是我每隔2000ms,即两秒就将所有工作放入最高优先级,即可保证长时间运行的工作获得至少5%的CPU。

工作方面:最高队列的时间片长度为10ms,即如果工作在最高队列运行10秒钟,那么该工作会被降级。现在,如果我每9秒发起一次I/O请求,访问一个不相关的文件,并且不做任何操作,那么我就永远不会被降级,能最大化的保证我在CPU上的运行时间,这既是所谓的“愚弄调度程序”。

第九章 作业解题报告

1.计算3个工作在随机种子为1.2和3时的模拟解。

解:

随机种子为1 时,执行命令行:

./lottery.py -j 3 -s 1 -c

-j 3 表示三个工作。-s 1 表示种子1,得到结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N4fEPt6H-1571065444569)(C:\Users\123456\AppData\Roaming\Typora\typora-user-images\1571062256043.png)]

2.现在运行两个具体的工作每个长度为10,但是一个(工作0)只有一张彩票,一个(工作1)有100张(-1 10 : 1 , 10 : 100)。彩票数量如此不平衡时会发生什么?在工作1 完成之前,工作0是否会运行?多久?一般来说,这种彩票不平衡对彩票调度的行为有什么影响?

解:

两个工作具有相同的工作时间,但是彩票数量却如此不平衡,可能会导致两个工作的运行时间有极大的差别,它们的完成时间也会差别非常大。在工作1完成之前,工作 0 有 0.09% 的运行概率。大概会运行一个长度的时间。

这种不平衡的彩票数量会使彩票调度的初始目标(确保每个工作获得一定比例的CPU时间,而不是优化周转时间和响应时间)发生偏离。

模拟结果:

1571063647006

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tFWtla43-1571065444570)(C:\Users\123456\AppData\Roaming\Typora\typora-user-images\1571063691792.png)]

可以看到工作1 在时间10完成,但是工作0在时间20才完成,两个工作运行时间相同的程序完成时间差距巨大

3.如果运行两个长度为100的工作,都有100张彩票(-1100:100,100:100),调度程序有多不公平?运行一些不同的随机种子来确定(概率上的)答案。不公平性取决于项工作比另一项工作早完成多少。

如果长度相同,彩票数相同,我们期望它们的完成时间大致相同,运行不同种子得到工作时间完成表:

随机种子\完成时间job0job1不公平因子U
01922000.96
12001960.98
22001900.95
31962000.98

可以看到不公平因子解决于1,已经接近公平。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值