《操作系统教程?/p>
(第三版?/p>
CH1
应用题参考答?/p>
1
CH1
应用题参考答?/p>
1
有一台计算机,具?/p>
1MB
内存,操作系统占?/p>
200KB
,每个用户进程各?/p>
200KB
。如果用户进
程等?/p>
I/O
的时间为
80%
,若增加
1MB
内存,则
CPU
的利用率提高多少?/p>
答:
设每个进程等?/p>
I/O
的百分比?/p>
P
,则
n
个进程同时等?/p>
I/O
的概率是
P
n
,当
n
个进程同时等?
I/O
期间
CPU
是空闲的,故
CPU
的利用率?/p>
1-P
n
。由题意可知,除去操作系统,内存还能容纳
4
个用户进程,由于每个用户进程等待
I/O
的时间为
80%
,故?/p>
CPU
利用?/p>
=1-(80%)
4
=0.59
若再增加
1MB
内存,系统中可同时运?/p>
9
个用户进程,此时?/p>
CPU
利用?/p>
=1-(80%)
9
=0.87
故增?/p>
1MB
内存?/p>
CPU
的利用率提高?/p>
47%
?/p>
87%
÷
59%=147%
147%-100%=47%
2
一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程?/p>
A
先开始做,程
?/p>
B
后开始运行。程?/p>
A
的运行轨迹为:计?/p>
50ms
、打?/p>
100ms
、再计算
50ms
、打?/p>
100ms
?/p>
结束。程?/p>
B
的运行轨迹为:计?/p>
50ms
、输?/p>
80ms
、再计算
100ms
,结束。试说明
(1)
两道程序
运行时,
CPU
有无空闲等待?若有,在哪段时间内等待?为什么会等待?/p>
(2)
程序
A
?/p>
B
有无等待
CPU
的情况?若有,指出发生等待的时刻?/p>
答:画出两道程序并发执行图如下:
(1)
两道程序运行期间?/p>
CPU
存在空闲等待,时间为
100
?/p>
150ms
之间
(
见图中有色部?/p>
)
?/p>
(2)
程序
A
无等待现象,但程?/p>
B
有等待。程?/p>
B
有等待时间段?/p>
180ms
?/p>
200ms
?/p>
(
见图中有色部
?/p>
)
?/p>
3
设有三道程序,按
A
?/p>
B
?/p>
C
优先次序运行,其内部计算?/p>
I/O
操作时间由图给出?/p>
A
B
C
C
11
?/p>
30ms
C
21
=60ms
C
31
=20ms
?/p>
?/p>
?/p>
I
12
?/p>
40ms
I
22
=30ms
I
32
=40ms
?/p>
?/p>
?/p>
C
13
?/p>
10ms
C
23
=10ms
C
33
=20ms
处理?/p>
输入?/p>
打印?/p>
程序
A
程序
B
A
计算
B
计算
计算
计算
时间
(ms)
0
50
100
150
180 200
250
300
打印
计算
打印
输入
计算
A
打印
A
打印
B
输入
A
计算
B
计算