03第三章中断与处理机调度21-讲义-课件-讲义

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0
P5
5
2
3
7
2
Gantt Chart
P4 P2 P3 P5
P3
P2
P1
0
34 5 7
13
17
25
3.2.1.5 最高优先数算法(Cont.)
P4 P2 P3 P5
0
34 5 7
P3
P2
13
17
P1 25
进程 到达时间 运行时间 优先级 开始时间 完成时间 周转时间 带权周转时间
P1
0
8
0
17
平均等待时间=(18+9+3+0)/ 4 =7.5(ms)
3.2.1.4最高响应比优先(HRN)
Highest Response Ratio Next
RR=(BT+WT)/BT=1+WT/BT 其中:
BT=burst time WT=wait time
优点:
同时到达任务, 短者优先 长作业随等待时间增加响应比增加
P1
0
12
15
27
27
2.25
P2
0
5
3
8
8
1.6
P3
0
7
8
15
15
2.14
P4
0
3
0
3
3
1
平均周转时间 T =(27+8+15+3)/4=13.25 平均带权周转时间W =(2.25+1.6+2.14+1)/4=1.75
3.2.1.2 短作业优先
特点:
假定所有任务同时到达,平均等待 时间最短。
进程运行行为:
CPU burst, I/O burst, CPU burst, I/O burst, ……
CPU调度:考虑处于CPU burst进程集合
CPU burst时间根据以前行为推定。
CPU burst vs. I/O burst
下一个CPU burst的长度估算
令τn是估计的第n个CPU阵发期的长度, tn
3.2.1.5 最高优先数算法(HPF)
静态优先数(static)
优先数在进程创建时分配,生存期内不变。 响应速度慢,开销小。 适合批处理进程
动态优先数(dynamic)
进程创建时继承优先数,生存期内可以修改。 响应速度快,开销大。
3.2.1.5 最高优先数算法(Cont.)
非剥夺式优先数
03第三章中断与处理机 调度21
3.2.1 处理机调度算法
考虑因素(scheduling criteria)
CPU利用率 ; (max) 吞吐量 ; (max) 周转时间 ; (min) 响应时间 ; (min) 系统开销 ; (min)
调度参数
周转时间:完成时间-进入时间
T tf ts
P1
0
27
P2
1
3
P3
2
5
CPU调度状况可用Gantt 图表示.
P1
P2
P3
0
27 30
35
3.2.1.1 先到先服务算法(Cont.)
P1
P2
P3
0
27 30
35
进程 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间
P1
0
27
0
27
27
1
P2
1
3
27
30wenku.baidu.com
29
9.67
P3
2
5
获得处理机的进程运行,直至
终止 等待
剥夺式优先数
获得处理机的进程运行,直至
终止 等待 出现高优先级的进程
3.2.1.5 最高优先数算法(Cont.)
可抢占CPU
Process Arrival time Priority Burst time
P1
0
P2
2
P3
4
0
8
1
5
3
7
P4
30
35
33
6.6
平均周转时间 T =(27+29+33)/3=29.67 平均带权周转时间W =(1+9.67+6.6)/3=5.76
3.2.1.1 先到先服务算法(Cont.)
优点:
“公平”;
缺点:
短作业等待时间长。
3.2.1.2 短作业优先
SJF(Shortest Job First)
平均周转时间:周转时间的平均值
T
1n n ( i1 Ti )
带权周转时间:周转时间/运行时间
W T R
平均带权周转时间:带权周转时间的平均值
W1 n(i n1Wi)1 n(i n1
Ti ) Ri
CPU burst vs. I/O burst
阵发期 :
CPU burst cycle: 进程(线程)使用CPU计算; I/O burst cycle: 进程(线程)使用设备I/O。
按CPU burst长度
Process P1 P2 P3 P4
Arrival time 0 0 0 0
Burst time 12 5 7 3
Gantt Chart
P4 P2
P3
P1
03 8
15
27
3.2.1.2 短作业优先
P4 P2
P3
P1
03 8
15
27
进程 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间
进程运行,直到结束、等待或被抢先
非剥夺式(non-preemptive)
就绪进程不可从运行进程手中抢占CPU。
进程运行,直到结束或等待
3.2.1.1 先到先服务算法
FCFS(First Come First Serve)
按进程申请CPU(就绪)的次序。
Process Arrival time Burst time
12
19
P1 30
3.2.1.3 最短剩余时间优先算法(Cont.)
P1 P2
P3
P4
P3
P2
01
3
5
8
12
19
P1 30
进程 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间
P1
0
12
0
30 30
2.5
P2
1
9
1
19 18
2
P3
3
6
3
12
9
1.5
P4
5
3
5
8
3
1
平均周转时间=(30+18+9+3)/4=15 平均带权周转时间=(2.5+2+1.5+1)/4=1.75
的值是进程最近一次CPU阵发期长度,则有 如下估算公式:
τn+1=αtn + (1-α)τn
参数α(0≤α≤1)控制tn和τn在公式中起的作用: 当α=0时,τn+1=τn;当α=1时,τn+1=tn。
通常α取0.5。
剥夺式调度与非剥夺式调度
剥夺式(preemptive)
就绪进程可以从运行进程手中抢占CPU。
25
25
3.13
P2
2
5
1
3
17
15
3
P3
4
7
3
4
13
9
1.29
P4
0
3
2
0
3
3
1
P5
5
2
7
5
7
2
1
平均周转时间 T =(25+15+9+3+2)/5=38.8 平均带权周转时间W =(3.13+3+1.29+1+1)/5=1.88
长作业可能被饿死。
3.2.1.3 最短剩余时间优先算法(SRTN)
Shortest Remaining Time Next
可剥夺SJF
Process Arrival time Burst time
P1
0
12
P2
1
9
P3
3
6
P4
5
3
Gantt图
P1 P2 P3
P4
P3
P2
01
3
5
8
相关文档
最新文档