进程调度算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.3.2 高优先权优先调度算法(FPF)
• 高响应比优先调度算法 • 响应比=响应时间/估计运行时间 =(等待时间+估计运行时间)/估计运行时间 • 系统挑选响应比最大的后备作业投入运行。当作 业等长(即估计运行时间相等)时,它就是先来 先服务;当作业几乎同时到达(即等待时间相等) 时,它接近于短作业优先。而且随着后备作业的 延长,作业的优先级别将不断提高。这个算法既 可以保持短作业优先的特性,又可以有效地避免 “无限等待”的现象。
作业:已知A,B,C,D,E五个进程分别在第0、1、2、3、4个单 位时间先后到达,它们分别需要4、3、5、2、4个单位时间 运行完毕。若采用先来先服务算法进行调度,计算各进程的 周转时间和带权周转时间。 • 分析: 周转时间=完成时间-到达时间 完成时间=开始执行时间+运行时间 带权周转时间=周转时间/运行时间
8:06
B 3 8:02 8:09 8:02=7 7/3
8:09
D 2 8:04 8:11 8:04=7
8:11
作业 A B C D
到达时间 8:00 8:02 8:03 8:04
运行时间 5 3 1 2
周转时间 运行时间 到达时间
带权周转时间
5/5 = 1
7/2 = 3.5
设有以下4个作业,它们的到达时间和所需CUP时间如下表所 示,若采作响应比高者优先调度算法,它们的调度顺序、每 个作业周转时间以及平均周转时间为多少? • 分析:
高响应比优先调度算法优点
• 既考虑了短作业的利益,又考虑了长作业 的利益。
– 对于一个作业来说,响应比是变化的动态量, ∵等待时间是一直变化的。刚开始时,短作业 由于所需CPU时间少,因而会获得高的响应比 值,会被优先投入运行。但随着时间的推移, 长作业的等待时间变长,它的响应比会上升, 也会被投入运行。
8:05
B 2 8:02 5
8:07
D 1 8:04 4
8:08
C 3 8:03 8
8:11
就绪 进程
等待 时间
运行 时间
响应比
C
带权周转时间 5/5=1 5/2=2.5 4/1=4 8/3=2.
8:07-8:03=4 8:07-8:04=3
3 1
(4+3)/3=2. (3+1)/1=4
D
开始/完成时间 8:00
8:05
A C 1 8:03 6-3=3 5 8:00 4-0=4
8:06
B 3 8:02 9-1=8
8:09
D 2 8:04 13-4=9
8:11
作业 A B C D
到达时间 8:00 8:02 8:03 8:04
运行时间 5 3 1 2
周转时间 运行时间 到达时间
带权周转时间
例3:已知A,B,C,D,E五个进程分别在第0、1、2、3、4个单位 时间先后到达,它们分别需要4、3、5、2、4个单位时间运 行完毕。若采用短作业优先算法进行调度,计算各进程的周 转时间和带权周转时间。 • 分析: 周转时间=完成时间-到达时间 完成时间=开始执行时间+运行时间 带权周转时间=周转时间/运行时间
完成时间=开始执行时间+运行时间 C 8:05 - 8:03 = 2 带权周转时间=周转时间/运行时间 D 8:05 - 8:04 = 1 • 响应比= 响应时间 / 估计运行时间 =(等待时间+估计运行时间)/ 估计运行时间 等待时间 = 当前时间 – 到达时间
开始/完成时间 8:00
来自百度文库8:05
A C 1 8:03 8:06 8:03=3 3/1 = 3 5 8:00 8:05 8:00=5
4/4=1
3/2=1.5
8/3=2.67
9/4=2.25
例4:已知A、B、C、D四个作业的初始状态如图,采用高响 应比优先算法,计算各进程的周转时间和带权周转时间。
• 分析:
周转时间=完成时间-到达时间
就绪 进程 B 等待 时间 8:05 - 8:02 = 3 运行 时间 3 1 2 响应比 (3+3)/3 = 2 (2+1)/1 = 3 (1+2)/2 = 1.5
开始/完成时间 0
A 运行时间 到达时间 周转时间 4 0 4-0=4
4
D 2 3 6-3=3
6
B 3 1 9-1=8
9
E 4 4 13-4=9
13
C 5 2 18-2=16
18
带权周转时间
4/4=1
3/2=1.5
8/3=2.67
9/4=2.25
16/5=3.2
SJF调度算法优缺点
• 优点:能有效地降低作业的平均等待时间,提高 系统吞吐量。 • 缺点:
– 对长作业不利。由于调度的总是短作业,也就是允许 后来的短作业“加塞”,∴可能会导致长作业在(无 法预计的)很长时间内得不到运行,引起长作业“无 限等待”。 – 不能保证紧迫性作业(进程)被及时处理。 – 由于作业(进程)的运行时间是根据用户提供的时间 而定的,而用户也可能会有意无意地缩短其作业的估 计运行时间,∴该算法不一定能真正做到短作业优先 调度。
例4:已知A、B、C、D四个作业的初始状态如图,采用高响 应比优先算法,计算各进程的周转时间和带权周转时间。
• 分析:
周转时间=完成时间-到达时间
就绪 进程 B 等待 时间 运行 时间 3 1 2 响应比
完成时间=开始执行时间+运行时间 C 带权周转时间=周转时间/运行时间 D • 响应比= 响应时间 / 估计运行时间 =(等待时间+估计运行时间)/ 估计运行时间
开始/完成时间 0
A 运行时间 到达时间 周转时间 4 0 4-0=4
4
B 3 1 7-1=6
7
C 5 2 12-2=10
12
D 2 3 14-3=11
14
E 4 4 18-4=14
18
带权周转时间
4/4=1
6/3=2
10/5=2
11/2=5.5
14/4=3.5
短作业(进程)优先调度算法SJF
• 在作业调度中,是从后备作业队列中选择 1个或多个估计运行时间最短的作业调入 内存。 • 在进程调度中,则是从就绪队列中选出一 个估计运行时间最短的进程,给它分配处 理机并投入运行。直到该进程运行完成或 因某事件而阻塞放弃处理机时,再重新调 度。是一种非抢占方式的进程调度。
周转时间=完成时间-到达时间
作业 A B 到达时间 8:00 8:02 8:03 8:04 运行时间 5 2 3 1
完成时间=开始执行时间+运行时间 C 带权周转时间=周转时间/运行时间 D • 响应比= 响应时间/估计运行时间 =(等待时间+估计运行时间)/估计运行时间
开始/完成时间 8:00
A 运行时间 到达时间 周转时间 5 8:00 5