1.只用两个工作和两个队列运行几个随机生成的问题。针对每个工作计算MLFQ的执行记录。限制每项作业的长度并关闭I/O,让你的工作更轻松。
这里我们随机生成两个就绪的进程,将进程的最大长度设置为3,队列的时间片长度为1,2(按优先级递减顺序),关闭I/O。
可以看出在0时刻两个任务都就绪了,并且任务0开始执行
在1时刻:任务1开始执行,任务0阻塞(第一个队列时间片长为1,运行一个单位时间优先级就会下降)。
在2时刻:任务1完成,任务0接着又开始工作
在3时刻:任务0完成。
3将如何配置调度程序参数,像轮转调度程序那样工作?
答:如果只有一个队列(-n 1 不用设置 -Q),那么队列里的程序就会像轮转调度程序那样工作了。
5.给定一个系统,其最高队列中的时间片长度是10ms,你需要如何频繁地将工作推回到最高优先级别(带有-B标志),以保证一个长时间运行(并可能饥饿)的工作得到至少5%的CPU?
答:因为进程不在最高队列的时候可能会饥饿,所以我们要保证它在最高队列的一个周期的工作得到了5%的CPU(如果每个进程都很长,每一个周期都是相同的)
10ms/5%=2s 所以保证工作周期是2s即可。