<操作系统导论>第八章 调度: 多级反馈队列

本文探讨了使用多级反馈队列(MLFQ)调度算法处理两个随机进程的情况,每个进程最大长度设为3,时间片长度分别为1和2。在关闭I/O的情况下,分析了不同时刻的任务执行状态。问题提出如何配置调度参数以实现类似轮转调度的效果,以及如何确保长时间运行的工作至少获得5%的CPU时间。答案包括将工作周期设置为2秒以保证5%的CPU利用率。

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

在这里插入图片描述

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即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值