操作系统课后习题1 9答案 联系客服

发布时间 : 星期一 文章操作系统课后习题1 9答案更新完毕开始阅读8b18979d340cba1aa8114431b90d6c85ec3a88e3

练习1 1.1-1.10题解见书

1.11 有一台输入设备和一台输出设备的计算机系统上,运行有两道程序。两道程序投入运行情况如下: 程序1先开始运行,其运行轨迹为:计算50ms、输出100ms、计算50ms、输出100ms,结束;

程序2后开始运行,其运行轨迹为:计算50ms、输入100ms、计算100ms、结束。

1. 忽略调度时间,指出两道程序运行时,CPU是否有空闲?在哪部分空闲?指出程序1和程序

2. 有无等待CPU的情况?如果有,发生在哪部分? 题解:

由题画出CPU利用图如下:

由图可知,1.CPU有空闲,在100ms~150ms时间段是空闲的。 2.程序1无等待时间,而程序2在一开始的0ms~50ms时间段会等待。

1.12 在计算机系统上运行三道程序,运行次序为程序1、程序2、程序3。 程序1的运行轨迹为:计算20ms、输入40ms、计算10ms。 程序2的运行轨迹为:计算40ms、输入30ms、计算10ms。 程序3的运行轨迹为:计算60ms、输入30ms、计算20ms。 忽略调度时间,画出三道程序运行的时间关系图;完成三道程序共花多少时间?

与单道程序比较,节省了多少时间?

解答:三道程序运行,完成三道程序共花170ms。与单道程序(260ms)比较, 。90ms节省了.

(始终按照1-2-3的次序,即程序1→程序2→程序3→程序1→程序2→(在程序3运行前会停10ms等待输入完成)程序3。

(如果不是按照程序1、2、3的次序完成则会有多种情况。)

1.13 在计算机系统上有两台输入/输出设备,运行两道程序。

程序1的运行轨迹为:计算10ms、输入5ms、计算5ms、输出10ms、计算10ms。

程序2的运行轨迹为:输入10ms、计算10ms、输出5ms、计算5ms、输出10ms。

在顺序环境下,先执行程序1,再执行程序2,求总的CPU利用率为多少?

题解:由题画出CPU利用图如下:

由图可知,在总共80ms的时间里,CPU空闲时间为40ms,即: CPU利用率=40ms/80ms*100%=50%

1.14 一个计算机系统有足够的内存空间存放3道程序,这些程序有一半的时间在空闲等待I/O操作。问多大比例的CPU时间被浪费掉了。 题解:由题画图如下:

因为每个程序有一半的时间在等待I/O操作,所以在并发状态下,程序1、程序2、程序3所占时间比依次减半(如上图),所以浪费的时间比例为1/8。

练习2

2.18 某系统中进程状态变化如图2.22所示,当对系统中的进程进行观察时,发现某一进程产生的一次状态变化会引起另一进程发生状态变化。

(1)在什么情况下,一个进程的状态变化3能够立即引起另一进程的状态变化1?

(2)在什么情况下,一个进程的状态变化2能够立即引起另一进程的状态变化1? (3)进程的状态变化3是否可能引起另一进程的状态变化2?进程的状态变化3是否可能引起另一进程的状态变化1?

解答:

(1)当就绪队列中还存在其它进程的情况下,一个进程的状态变化3能够立即引起另一进程的状态变化2。

(2)当就绪队列中还存在其它进程的情况下,一个进程从运行状态变化到就绪状态后,另一个就绪进程能够从就绪状态变为运行状态。 (3)不可能,可能。

2.19分别写出相应的程序来描述图2.23中的前趋图。

解答.

S4 S2 S6 S1 S5 S3 S7

S1:a:=x+1 程序: S2:b:=a+2 S3:c:=a+3 S4:d:=b+4 S5:e:=b+c S6:f:=e+5 S7:g=e+6