现代操作系统课后答案(中文).pdfVIP

  • 1105
  • 0
  • 约2.61万字
  • 约 20页
  • 2017-03-19 发布于湖北
  • 举报
现代操作系统 第一章 答案 1. 操作系统必须向用户提供一台扩展(即,实际上) 的机器,和它必须管理 I/O 设备和其它系 统资源。 2. 多道程序就是 CPU 在内存中多个进程之间迅速切换。它一般被用来使 CPU 保持忙碌,当 有一个或多个进程进行 I/O 时。 3. 输入 spooling 是作业中的读入技术,例如,从卡片在磁盘,这样当当前执行的进程完成时, 将等候 CPU 。输出 spooling 在打印之前首先复制打印文件,而非直接打印。在个人计算机上 的输入 spooling 很少,但是输出 spooling 非常普遍。 4. 多道程序的主要原因是当等候 I/O 完成时 CPU 有事可做。如果没有 DMA ,I/O 操作时 CPU 被完全占有,因此,多道程序无利可图 (至少在 CPU 利用方面) 。无论程序作多少 I/O 操作, CPU 都是 100%的忙碌。当然,这里假定主要的延迟是数据复制时的等待。如果 I/O 很慢的 话,CPU 可以做其它工作。 5. 第二代计算机没有必要的硬件保护操作系统免受恶意的用户程序的侵害。 6. 它依然存在。例如,Intel 以各种各样的不同的属性包括速度和能力消耗来生产 Pentium I, II, III 和 4 。所有这些机器的体系结构都是兼容的,仅仅是价格上的不同,这些都是家族思想的 本质。 7. 25 X 80 字符的单色文本屏幕需要 2000 字节的缓冲器。1024 X 768 象素 24 位颜色的位图需 要 2359296 字节。1980 年代这两种选择将分别地耗费$10 和$11520 。而对于当前的价格,将 少于$1/MB 。 8. 选择(a),(c),(d)应该被限制在内核模式。 9. 个人的计算机系统总是交互式的,而且经常只有一个用户。而大型机系统几乎总有许多用 户强调批处理或者分时。除了对所有资源的有效使用,大型机系统上的保护更加重要。 10. 从管道中每纳秒出现一条指令。意味着该机器每秒执行十亿条指令。它对于管道有多少 个阶段全然不予理睬。即使是 10-阶段管道,每阶段 1 nsec,也将执行对每秒十亿条指令。因 为无论那种情况,管道末端输出的指令数都是一样的。 11. 原稿包含 80 X 50 X 700 = 2800000 字符。当然,这不可能放入任何目前的 CPU 中,而且 对于 1MB 的 cache 来说也太大了,但是如果可能的话,在寄存器中只需 2.8msec ,在 Cache 中需要 5.8msec 。整本书大约有 2700 个 1024 字节的数据块,因此从磁盘扫描大约为 27 秒, 从磁带扫描则需 2 分钟 7 秒。当然,这些时间仅为读取数据的时间。处理和重写数据将增加 时间。 12. 从逻辑上说,边界寄存器使用虚拟地址或者物理地址没有任何关系。然而,前者的性能 更好。如果使用虚拟地址,虚拟地址和基址寄存器的相加,与比较可以同时开始,而且可以 1 并行。如果使用物理地址,相加完成之前是不能进行比较的,这就增加了存取时间。 13. 也许。如果调用者取回控制,并且在最终发生写操作时立即重写数据,将会写入错误的 数据。然而,如果驱动程序在返回之前首先复制将数据复制到一个专用的缓冲器,那么调用 者可以立即继续执行。另一个可能性是允许调用者继续,并且在缓冲器可以再用时给它一个 信号,但是这需要很高的技巧,而且容易出错。 14. 陷井由程序造成的,并且与它同步。如果程序一而再地被运行,陷井将总在指令流中相 同位置的精确发生。而中断则是由外部事件和其时钟造成的,不具有重复性。 15. Base = 40000 ,Limit = 10000 。按照本书中描述的方法 Limit = 50000 是不正确的。这种方 法也是可以执行的,不过这样做将等待 addree + Base 完成后才能开始边界检查,将会使计算 机速度减慢。 16. 进程表是为了存储当前被挂起、甚或是被延迟和阻塞的进程状态。在单一进程的系统中 是不需要,因为单一进程从不挂起。 17. 装配文件系统将使得装配目录中已有的任何文件都不可访问,因此装配点通常都是空的。 然而,系统管理人员可能需要将某些位于被装配目录中的非常重要的文件复制到装配点,使 得他们在进

文档评论(0)

1亿VIP精品文档

相关文档