本书深入浅出地探讨了操作系统的工作原理和核心概念,提供了对关键理论的理解以及实际问题解答,旨在帮助读者掌握操作系统的设计精髓。
1.12题答案如下:
a. 主存储器的价格计算为:价格 = Cm×8×106 = 8×103 分 = $80。
b. 使用高速缓冲技术后,主存储器的价格变为:价格 = Cc×8×106 = 8×104 分 = $800。
c. 根据等式1.1知:
\[ 1.1 \times T_1 = T_1 + (1-H)T_2 \]
代入给定值计算得:\( H= \frac{1190}{1200} \)
对于第1.13题,我们考虑三种情况下的字存取时间:
- 字在高速缓冲存储器中时的访问时间为 20ns。
- 字不在缓存但在主内存中的访问时间为60+20=80ns(包括检查和载入的时间)。
- 若该字既不在高速缓冲也不在主内存,从磁盘获取到内存需要12ms,并且还需要将数据复制至高速缓冲存储器中,总共耗时为12,000,080ns。
根据给定的命中率计算平均访问时间:
\[ Avg = (0.9)(20) + (0.6 \times 0.1)(80) + ((1-0.6)\times(1-0.9))(12,000,080) \]
代入数值得:\(Avg=480,026ns\)
对于第1.14题,如果处理器使用栈来管理过程调用和返回,则在某些特定条件下可以取消程序计数器而改用栈指针。具体而言:
- 如果仅将栈用于保存返回地址。
- 或者当栈既被用来传递参数也被作为控制单元时。
这两种情况下都可以不用程序计数器,而是使用栈指针来替代管理过程调用和返回的操作。然而,在后者的情况下,处理器仍需要一个指向当前处理的指令位置(即程序计数器的功能)以及指示数据如何在函数间传输的机制。这意味着虽然可以简化某些部分的设计,但完全取消程序计数器并不总是可行或理想的策略。