《操作系统导论》实验五:模拟彩票调度算法

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

通过程序 l o t t e r y . p y lottery.py lottery.py,我们能够观察到彩票调度算法执行进程的情况。

命令行参数解释如下:

  • − h -h h: 查看帮助信息以及退出
  • − s -s s: 随即因子
  • − j -j j: 系统中的进程数量
  • − l -l l: 使用进程列表,进程间用逗号隔开,不使用随机生成的进程
  • − m -m m:进程执行时间的最大长度
  • − T -T T:彩票的最大数量
  • − q -q q: 就绪队列的时间片长度
  • − c -c c:计算进程调度执行情况
3.作业要求:

(1) 分别用随机因子 1,2,3 生成 3 个进程并计算模拟结果

答:下面以随机因子 1 为例:

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

在这里插入图片描述

进程1进程2进程3
票号0~8384~108110~152

执行顺序:

2 0 1 2 2 2 1 1 1 1 1 1

(2) 运行 2 个进程,执行时间均为 10,进程0只有1张彩票,而进程1有100张彩票( (e.g., -l 10:1,10:100),彩票数目如此不平衡会发生什么?进程0在进程1完成前会运行么?运行多少次?总而言之,该种不平衡分配对彩票调度算法有什么影响?

答:

./lottery.py -j 2 -l 10:1,10:100 -c

在这里插入图片描述
执行顺序:

1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

彩票数目如此不平衡,很可能导致进程1一直得到执行,进程0能够运行,但运行概率很低为 1/101,该种不平衡分配对彩票份额低的进程不友好。

(3) 运行 2 个进程,执行时间均为 100,进程持有彩票数均为100(-l 100:100,100:100),该调度有多不平衡?使用不同的随机因子确定答案;多大程度上一个进程可比另一个提早完成
答:影响因子与提早时间占比相关度不高。

./lottery.py -j 2 -s 0 -l 100:100,100:100 -c
./lottery.py -j 2 -s 1 -l 100:100,100:100 -c
随机因子01
结束时间192:200196:200
提早时间占比0.040.04

(4) 时间片(-q)增大对有什么影响?
答:时间片增大,其中一个进程越早完成。

./lottery.py -j 2 -s 0 -l 100:100,100:100 -q 1 -c
./lottery.py -j 2 -s 0 -l 100:100,100:100 -q 10 -c
时间片110
结束时间196:200160:200
提早时间占比0.040.4
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值