首页 > 处理器调度算法

处理器调度算法

1. P117页,练习15:最高响应比

HRRF:

作业

提交时刻

运行时刻

开始时刻

完成时刻

周转时间/min

带权周转时间/min

1

10:00

2:00

10:00

12:00

120

120/120

2

10:10

1:00

12:25

13:25

195

195/60

3

10:25

0:25

12:00

12:25

120

120/25

 

 

 

 

 

 

平均作业周转时间T=2.41

平均作业带权周转时间w=3.02

 

2. P119页,练习22(2):时间片轮转

 

各个进程的调度次序:1、2、3、4、1、2、3、4、1、3、4、1、3、4、1、4

平均作业周转时间T=23.5ms

平均作业带权周转时间w=3.01

 

3. 现设定采用三级反馈队列调度算法,三个队列分别为0、1和2,对应时间片为2、4、8。现有四个进程A、B、C、D,到达时刻分别为0、5、7、12,执行时间分别为7、4、13、2。请写出整个进程调度过程,包括每个时间段,执行的进程,执行后进程状态,各个队列内进程的变化。

 

4. 从以下几个方面比较各个调度算法的优缺点:

1.资源利用率

2.吞吐率

3.周转率

4.响应时间

5.公平性

6.适用范围

答:

1.先来先服务优先算法(FCFS):这是一种非剥夺式调度算法,只顾及了作业等候的时间,未考虑作业要求的服务时间的长短,不利于短作业而又优待了长作业.短作业的平均周转时间和平均带权周转时间变大.所以FCFS资源利用率高,但是吞吐率低,周转率低,响应时间长,公平性不好.

2.最短作业优先算法(SJF):这也是一种非剥夺式调度算法,能够克服FCFS算法偏爱长作业的缺点,但是效率也不高.

SJF算法的主要弱点:

(一)是要预先知道作业所需的CPU时间,很难精确估算.

(二)是忽视作业的等待时间.

所以,,吞吐率高,周转率高,响应时间短,公平性较好.

3.最短剩余时间优先算法(SRTF):从队列中选出一个估计运行时间最短的作业优先调度,即可用于作业调度,也可用于进程调度,但SJF调度算法也存在不容忽视的缺点:

(1) 对长作业不利。严重的是,若一长作业(进程)进入系统的后备队列(就绪队列),由于调度程序总是优先调度那些(即使是后进来的)短作业(进程),将导致长作业(进程)长期不被调度——饥饿

(2)完全未考虑作业(进程)的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理

4.高响应比优先调度算法(HRRF): 高响应比优先调度算法:根据“响应比=(进程执行时间+进程等待时间)/进程执行时间”这个公式得到的响应比来进行调度。高响应比优先算法在等待时间相同的情况下,作业执行的时间越短,响应比越高,满足段任务优先,同时响应比会随着等待时间增加而变大,优先级会提高,能够避免饥饿现象。优点是兼顾长短作业,缺点是计算响应比开销大,适用于批处理系统。

5.优先级调度算法(HPF):在进程等待队列中选择优先级最高的来执行。常被用于批处理系统中,还可用于实时系统中。

6.时间片轮转调度算法(RR):给每个进程固定的执行时间,根据进程到达的先后顺序让进程在单位时间片内执行,执行完成后便调度下一个进程执行,时间片轮转调度不考虑进程等待时间和执行时间,属于抢占式调度。优点是兼顾长短作业;缺点是平均等待时间较长,上下文切换较费时。适用于分时系统。

 

转载于:https://www.cnblogs.com/qx77/p/10667387.html

更多相关:

  • 生成分析文件 命令行运行: valgrind --tool=callgrind ./palmGateMachine 检测完毕之后会生成一个文件callgrind.out.26805, 后面的数字其实是这个待测进程的pid 可视化方法 可视化方法 可视化工具 kcachegrind 1、下载地址: https://launchp...

  • MQTT 心跳和keepalive配置 内容: 正常MQTT 服务器端会配置一个超时时间,一般为60s, 在这个时间段内一个连接如果没有数据传输的话,服务端会主动断开连接以释放资源, 有两种方式可以规避这个问题: 方式1: 最为简单, 将keepalive的时间设置小于 服务端的超时时间,则客户端每隔 keepalive的时间就...

  • 概述 我们用jmeter做性能测试,必然需要学会分析测试报告。但是初学者常常因为对概念的不清晰,最后被测试报告带到沟里去。   常见的误区 分析响应时间全用平均值响应时间不和吞吐量挂钩响应时间和吞吐量不和成功率挂钩。。。。。   平均值特别不靠谱 平均值为什么不靠谱?相信大家读新闻的时候经常可以看到,平均工资,平均房价,平均支出,等等...

  • 原文: https://mp.weixin.qq.com/s/Dns-ucDwuDeR7lNSlibyAA 放假通知   今年7月1日放暑假 9月2日开学   今天,省教育厅发布通知,2019年全省中小学幼儿园暑期放假时间统一为7月1日,秋季开学时间9月2日。2020年寒假放假时间为1月18日,春季开学时间为2月10日。 刚刚...

  •  作业帮直播课app由作业帮一课升级更名而来,作业帮直播课app课程设置科学合理,课程紧贴校内教学进度,老师根据学习要求进行同步教学。作业帮直播课app更有长期班课、专题课、小学兴趣班等,欢迎加入。软件介绍  作业帮直播课app平台授课范围涵盖小学、初中、高中三个学段,学科覆盖数学、语文、英语、物理、化学、生物、政治、历史、地理。...

  • 第一次作业 第一次作业自己虽然很想向着面向对象的方向上写,但写出来还是很C语言式的程序。从头到尾扫描字符串,扫到加减号便认为接下来是一项,再用正则表达式去分情况匹配出这一项。用Hashmap来存储数据,方便合并同类项。最后套一个try-catch捕获没有考虑到的可能的异常。最后写了将近三百行,而我看见的代码基本就两百行解决了。关键在预...

  • 转自:http://oss.org.cn/kernel-book/ch05/5.3.2.htm 调度程序虽然特别重要,但它不过是一个存在于内核空间中的函数而已,并不神秘。Linux的调度程序是一个叫Schedule()的函数,这个函数被调用的频率很高,由它来决定是否要进行进程的切换,如果要切换的话,切换到哪个进程等等。我们先来看在什么...