操作系统第五版费祥林课后习题答案解析参考Word格式.docx
《操作系统第五版费祥林课后习题答案解析参考Word格式.docx》由会员分享,可在线阅读,更多相关《操作系统第五版费祥林课后习题答案解析参考Word格式.docx(172页珍藏版)》请在冰点文库上搜索。
11
5010
0150
180200
250
300
(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)
(2)程序A无等待现象,但程序B有等待。
程序B有等待时间段为180rns至200ms间(见图中有色部分)
3设有三道程序,按A、B、C优先次序运行,其内部计算和UO操作时间由图给出。
A
B
C
CH=30ms
I
C21—6*0ms
C3j=20ms
Ii2=40ms
Iii=30ms
1.
Cn=10ms
C23=10ms
C33=20ms
试画出按多道运行的时间关系图(忽略调度执行时间)。
完成三道程序共花多少时间比单道运行节省了多少时间若处理器调度程序每次进行程序转换化时1ms,试画出各程序状态转换的时间关系图。
1)忽略调度执行时间,多道运行方式(抢占式):
2
单位10ms
时⑥0378101213141719
抢占式共用去190ms,单道完成需要260ms,节省70ms。
忽略调度执行时间,多道运行方式(非抢占式):
时间0379101213141618单位10用
I/O
112
II|
1122|1132
CPU
C11
C21
fcUC31€23|J
C33
■
非抢占式共用去180ms,单道完成需要260ms,节省80ms。
3)调度执行时间1ms,多道运行方式(抢占式):
调度执行时间ITns,多道运行方式(非抢占式):
4在单CPU和两台1/0(II,12)设备的多道程序设计环境下,同时投入三个作业运行。
它们的执行轨迹如下:
Jobl:
12(30ms)、CPU(10ms)、Il(30ms)、CPU(10ms)、12(20ms)
Job2:
Il(20ms)、CPU(20ms)、12(40ms)
J0b3:
CPU(30ms)、Il(20ms)、CPU(10ms)、Il(10ms)
如果CPU、Il和12都能并行工作,优先级从高到低为Jobl、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU,但不抢占II和12o试求:
(1)每个作业从投入到完成分别所需的时间。
(2)从投入到完成CPU的利用率。
(3)12设备利用率。
画出三个作业并行工作图如下(图中着色部分为作业等待时间):
,
Job3
Job2|Jobl|Job2
1Job3
JoblI
1Job3|
11
Job2
Jobl
1|Job3
12
•
1Jobl
ir
1CPUL
Il
F12
II
CPU|「CPU
Job]
1CPU
icpuin
时间
J
F
1[
(ms)
10
20
3040
50
60
70
80
90100
no
(1)Jobl从投入到运行完成需110ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需110ms.
CPU空闲时间段为:
60ms至70ms,80ms至90ms,100ms至110ms。
所以CPI;
利用率为(110-30)/10=%。
设备II空闲时间段为:
20ms至40ms,90ms至100ms,故II的利用率为(110-30)/110=72.7%。
设备12空闲时间段为:
30ms至50ms,故12的利用率为(110-20)/110=%。
5在单CPU和两台1/0(II,12)设备的多道程序设计环境下,同时投入三个作业运行。
12(30ms)、CPU(lOrns)、Il(30ms)、CPU(10ms)
Il(20ms)、CPU(20ms)、12(40ms)
Job3:
CPU(30ms)、Il(20ms)
如果CPU、Il和12都能并行工作,优先级从高到低为Jobl、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU。
试求:
(1)每个作业从投入到完成分别所需的时间.
(2)每个作业投入到完成CPU的利用率。
(3)I/O设备利用率。
!
Jobl|
CPU[J0b3_IJob2IJob】」Job2IJop31
11,Job2|IJoblIJob31
12’JoblII域2I
Jobl|12]CPUIIIICPU」
Job2|Il|CPU同CPU112|
时间|1||$II)|I
010203040506070809Q
(1)Jobl从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90mso
(2)CPU空闲时间段为:
60ms至70ms,80ms至90ms。
所以CPU利用率为(90-20)/90=%。
(3)设备II空闲时间段为:
20ms至40ms,故II的利用率为(90-20)/90=77.78%。
30ms至50ms,故12的利用率为(90-20)/90=%。
6若内存中有3道程序A、B、C,它们按A、B、C优先次序运行。
各程序的计算轨迹为:
A:
计算(20)、1/0(30)、计算(10)
B:
计算(40)、1/0(20)、计算(10)
c:
计算(10)、1/0(30)、计算(20)
如果三道程序都使用相同设备进行I/O(即程序用串行方式使用设备,调度开销忽略不计)。
试分别画出单道和多道运行的时间关系图。
两种情况下,CPU的平均利用率各为多少?
分别画出单道和多道运行的时间图
(1)单道运行时间关系图
I/O|A
1J
1_1
5
1|
cpuiAji*i
■i
?
__iUisj4
J
I1111
时间iiiii
;
111!
1111」
02040506080100120140160180i处
单道总运行时间为190msoCPU利用率为(190-80)/190二%
单道运行时间关系图
1-A
1LB
Ic
1A|B
1A101c1
UL.
J,
L:
i■i
i•i
iii
111
02040506080100120140
多道总运行时间为140msoCPU利用率为(140-30)/140二%
7若内存中有3道程序A、B、C,优先级从高到低为A、B和C,它们单独运行时的CPU和I/O占用时间为:
程序A:
30
4020
20(ms)
1/02
I/Ol
I/OlCPU
程序B;
40
30(ms)
I/O2
程序C:
70(ms)
如果三道程序同时并发执行,调度开销忽略不讣,但优先级高的程序可中断优先级低的程序,优先级与I/O设备无关。
试画出多道运行的时间关系图,并问最早与最迟结束的程序是哪个每道程序执行到结束分别用了多少时间计算三个程序全部运算结束时的CPU利用率?
答:
画出三个作业并发执行的时间图:
101
C1
B1
LA1BIcL
lA
tJ
IB|c|A|c|
1A
__11AI
102
__j1
B.11C1
|cpu|101|
RU|10!
|
p1
IV1
101|
w
mi
102|
cpu
1°
PU1
卬u1021
L
」■匸
11••••1•«
•••<
■••
6090
120
150180
210240270300
330
(1)最早结束的程序为B,最后结束的程序为Co
(2)程疗;
A为250ms°
程丿了:
B为220ms。
程序C为310ms。
(3)CPU利用率为(310-120)/310=%
有两个程序,A程序按顺序使用:
(CPU)10秒、(设备屮)5秒.(CPU)5秒、(设备乙)10秒、(CPU)10秒。
B程序按顺序使用:
(设备甲)10秒、(CPU)
10秒、(设备乙)5秒、(CPU)5秒.(设备乙)10秒。
在顺序环境下先执行A,再执行B,求出总的CPU利用率为多少?
程序A执行了40秒,其中CPU用了25秒。
程序B执行了40秒,其中CPU用了15秒。
两个程序共用了80秒,CPU化40秒。
故CPU利用率为40/80=50%。
9、在某计算机系统中,时钟中断处理程序每次执行的时间为2ms(包括进程切换开销)。
若时钟中断频率为60HZ,试问CPU用于时钟中断处理的时间比率为多少
因时钟中断频率为60HZ,所以,时钟周期为:
1/60s二50/3ms。
在每个时钟周期中,CPU花2ms执行中断任务。
所以,CPU用于时钟中断处理的时间比率为:
2(50/3)=6/50=12%。
第二章处理器管理
1.下列指令中哪些只能在核心态运行?
(1)读时钟日期;
(2)访管指令;
(3)设时钟日期;
(4)加载PSW;
(5)置特殊寄存器:
(6)改变存储器映象图;
(7)启动I/O指令。
(3),(4),(5),(6),(7).
2假设有一种低级调度算法是让“最近使用处理器较少的进程”运行,试解释这种算法对“I/O繁重”型作业有利,但并不是永远不受理“处理器繁重”型作业。
因为I/O繁忙型作业忙于I/O,所以它CPU用得少,按调度策略能优先执行。
同样原因一个进程等待CPU足够久时,山于它是“最近使用处理器较少的进程”,就能被优先调度,故不会饥饿。
3并发进程之间有什么样的相互制约关系下列日常生活中的活动是属哪种制约关系:
(1)踢足球,
(2)吃自助餐,(3)图书馆借书,(4)电视机生产流水线工序。
并发进程之间的基本相互制约关系有互斥和同步两种。
其中
(1)、(3)为互斥问题.
(2)、(4)为同步问题。
4在按动态优先数调度进程的系统中,每个进程的优先数需定时重新讣算。
在处理器不断地在进程之间交替的情况下,重新计算进程优先数的时间从何而来?
许多操作系统重新计算进程的优先数在时钟中断处理例程中进行,山于中断是随机碰到哪个进程,就插入哪个进程中运行处理程序,并把处理时间记在这个进程的账上。
□若后备作业队列中等待运行的同时有三个作业JI、J2、J3,已知它们各自的运行时间为a、b、c,且满足a<
b<
c,试证明采用短作业优先算法调度能获得最小平均作业周转时间。
采用短作业优先算法调度时,三个作业的总周转时间为:
T1==a+(a+b)+(a+b+c)=3a+2b+c①
设调度次序为:
J2、JI、J3。
则
若不按短作业优先算法调度,不失一般性,三个作业的总周转时间为:
令②-①式得到:
T2-Tl=b-a>
0
可见,采用短作业优先算法调度才能获得最小平均作业周转时间。
6、若有一组作业J1,…,Jn,其执行时间依次为S1,…,Sn。
如果这些作业同时到试找出一种作业调度算法到达系统,并在一台单CPU处理器上按单道方式执行。
使得平均作业周转时间最短。
首先,对n个作业按执行时间从小到大重新进行排序,则对n个作业:
J1'
,…,Jn,创门的运行时间满足:
S1WS2W……WS(n-1)WSn'
。
那么有:
T=[S|+(Si+S2>
+(S|+S?
+S3)十…+(S|扌S2+S3+…+SB)]/n
=[nXS「+(n-l>
XS;
+(n-3)XS「]十…十S;
]]/n
=(S>
S2-<
-S3*…十S.HOXSr+1XS2+2XS3^-+(n-l)S;
]/n
由于任何调度方式下,SI'
+S2'
+S3'
+…+Sn'
为一个确定的数,而当S1'
WS2'
W…WS(n-1)'
WSn'
时才有:
O*S1+1*S2+2*S3+…(n~l)Sn的值最大,也就是说,此时T值最小。
所以,按短作业优先调度算法调度时,使得平均作业周转时间最短。
7、假定执行表中所列作业,作业号即为到达顺序,依次在时刻0按次序1、2、
3、4、5进入单处理器系统。
(1)分别用先来先服务调度算法、时间片轮转算法、短作业优先算法及非强占优先权调度算法算出各作业的执行先后次序(注意优先权高的数值小);
(2)II-算每种情况下作业的平均周转时间和平均带权周转时间。
作业号
执行■时间
优先权
3
4
5
(1)采用FCFS算法调度作业,运作惜况:
执行次序
执行时间
等待时间
开始时间
完成时间
周转时间1
带权周转时间
13
6・5
1S
14
19
3.8
作业平均周转时间
TT10+11十13十14+19〉/5=13・4
作业平均带权周转时间
W«
(1+11+6.5+14+3.8)75=7.26
(2)釆用双算法调度作业,若令时间片长=1,各作业执行情况为:
1、2、
3、4、3、1、3、5、1、5、1、5、1、5、1、1、1、1、1。
作业
提交时间
周转时间
1.9
7
3.5
2.8
T=(19+2+7+4+14)/5=9.2
W叫1.9+2+35+44-2.8)/5=2.84
(3)采用SJF算法调度作业,运作情况:
9
1.8
T=(1+2+4+9+19)75=7
W=(1+2+2+L8+1.9)/5=L74
(4)采用非剥夺优先权算法调度作业,运作情况:
8对某系统进行监测后表明平均每个进程在I/O阻塞之前的运行时间为T。
一次进程'
切换的系统开销时间为So若采用时间片长度为Q的时间片轮转法,对下列各种情况算岀CPU利用率。
1)Q=82)Q>
T3)SVQVT4=Q=S5=Q接近于0
峯l>
Q=~CPU利用率=T/(T+S)
2)Q>
TCPU利用率<
T7(T+S)
3)T>
Q>
SCPU利用率=Q/(Q+S)
4)Q=SCPU利用率=50%
5)Q-0CPU利用率一0
9有5个待运行的作业,各自预计•运行时间分别是:
9、6、3、5和x,采用哪种运行次序使得平均响应时间最短?
按照最短作业优先的算法可以使平均响应时间最短。
x取值不定,按照以下情况讨论:
1)
xW3
次序为x.3,5,6,9
2)
3<
xW5
次序为:
3.x,5,6,9
3)
5<
xW6
次序为彳3.5,j6.
4)
6<
xW9
次序为.3.5.6.x.
5>
次序为m3w5>
6,
X
10•有5个批处理作业A到E均己到达计算中心,其运行时间分别2.4.6.8和10分钟:
各自的优先级分跳狠掀完为、、飞、飞、氏积5、这里5为最高级。
对于1)时间片轮转算法、2)优先数法、3)短作业优先算法、4)先来先服务调度算法(按到达次序C、D、B、E、A),在忽略进程切换时间的前提下,计算出平均作业周转时间。
(对1)每个作业获得相同的2分钟长的时间片;
对2)到4)采用单道运行,直到结束。
)
(1)FCFS调度算法
带杈周转时间
c
6
D
8
1.75
18
4.5
E
28
15
T=(6+14+18+25+30)/5=19.2
W=(l+L75+4.5+2.8+15)/5=5.01
(2)优先级调度算法
执疗次序
2.25
24
T=(10+l8+24+28+30)/5=22
W»
(l+2.25+4+7+15)/5-5.85
(3)时间片轮转法
竿待时间"
周转时⑥
3.33
&
26
3.25
T=(2+12+20+26+30)/5=18
作业平均带权周转时闾
W=(l+3+3.33+3.25+3)/$=2.71
按次序ABCDEBCDECDEDEE轮转执行。
(4)SJF调度算法
尊持时伺
Ai
1.5
2.5
'
T=(2+6+12+20+30)/5=14
W=(H1.5+2+2.5+3/5=2
11、有5个批处理作业A到E均已到达计算中心,其运行时间分别10、6、
2、4和8分钟:
各自的优先级分别被规定为3、5、2、1和4,这里5为最高级。
若不考虑系统切换开销,计算出平均作业周转时间。
(l)FCFs(按A、
B、C、D、E);
(2)优先级调度算法,(3)时间片轮转法(每个作业获得相同的2分钟长的时间片)。