《现代操作系统第四版》第五章答案

上传人:pu****.1 文档编号:508037204 上传时间:2023-09-06 格式:DOCX 页数:42 大小:40.13KB
返回 下载 相关 举报
《现代操作系统第四版》第五章答案_第1页
第1页 / 共42页
《现代操作系统第四版》第五章答案_第2页
第2页 / 共42页
《现代操作系统第四版》第五章答案_第3页
第3页 / 共42页
《现代操作系统第四版》第五章答案_第4页
第4页 / 共42页
《现代操作系统第四版》第五章答案_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《《现代操作系统第四版》第五章答案》由会员分享,可在线阅读,更多相关《《现代操作系统第四版》第五章答案(42页珍藏版)》请在金锄头文库上搜索。

1、第五章 输入 /输出 习题1.芯片技术的进展已经使得将整个控制器包括所有总线访问逻辑放在一个便宜的芯片上成为可能。这对于图 1-5 的模型具有什么影响?答:(题目有问题,应该是图 1-6 )在此图中,一个控制器有两个设备。单个控 制器可以有多个设备就无需每个设备都有一个控制器。 如果控制器变得几乎是自 由的,那么只需把控制器做入设备本身就行了。 这种设计同样也可以并行多个传 输,因而也获得较好的性能。2.已知图 5-1列出的速度,是否可能以全速从一台扫描仪扫描文档并且通过802.1 lg网络对其进行传输?请解释你的答案。答:太简单了。扫描仪最高速率为 400 KB/Sec ,而总线程和磁盘都为

2、 16.7MB/sec ,因此磁盘和总线都无法饱和。3图5-3b显示了即使在存在单独的总线用于内存和用于I/O设备的情况下使用内存映射I/O的一种方法,也就是说,首先尝试内存总线,如果失败则尝试I/O总线。一名聪明的计算机科学专业的学生想出了一个改进办法: 并行地尝试两个 总线,以加快访问I/O设备的过程。你认为这个想法如何?答:这不是一个好主意。内存总线肯定比 I/O 总线快。一般的内存请求总是内 存总线先完成,而I/O总线仍然忙碌。如果 CPU要一直等待I/(总线完成,那就是将内存的性能降低为I/O总线的水平。4. 假设一个系统使用 DMA 将数据从磁盘控制器传送到内存。 进一步假设平均花

3、费t2ns获得总线,并且花费tins在总线上传送一个字( tlt2 )。在CPU对DMA控制器进行编程之后,如果(a)采用一次一字模式,(b)采用突发模式,从磁盘控制器到内存传送 i000 个字需要多少时间?假设向磁盘控制器发送命令需要获取总线以传输一个字,并且应答传输也需要获取总线以传输一个字。答:(a)1000 X (tl+t2) + (tl+t2) + (tl+t2第一个(tl+t2是获取总线并将命令发送到磁盘控制器,第二个(t1+t2是用于传输字,第三个(t1+t2是为了确认。总之,共 3000 X (t1+t纳秒。(b) (t1+t2)+t1+100X t2+(t1+12,)第一个(

4、t 1+12)是获取总线并将命令发送到磁盘控制器,第二个t1是为磁盘控制器获取总线,第三个 1000 X t2是突发传送,第第四个(t1+t2是获取总线并做确认。总3t1+1002 xt25. 假设一台计算机能够在 10ns 内读或者写一个内存字,并且假设当中断发生时 所有 32位寄存器连同程序计数器和 PSW 被压人堆栈。该计算机每秒能够处理 的中断的最大数目是多少?答:一次中断需要入栈 34 个字。而从中断返回需要把 34 个字从栈中取出。总 耗时为680 ns。因此,每秒最多处理147万次中断,假设每次中断什么也不做。6. CPU 体系结构设计师知道操作系统编写者痛恨不精确的中断。取悦于

5、 OS 人 群的一种方法是当得到一个中断信号通知时,让 CPU 停止发射指令,但是允许 当前正在执行的指令完成, 然后强制中断。 这一方案是否有缺点?请解释你的答案。答:当前的处理器一般采用多级流水线操作,无法准确地确定 CPU 当前正在执 行的指令是哪一条,所以停止让 CPU 发送指令后,需要等待把流水线中的指令 全部执行完成才能响应中断, 对于指令不按序执行的处理器而言, 会造成中断响 应的不精确。7. 在图 5-9b 中,中断直到下一个字符输出到打印机之后才得到应答。中断在中断服务程序开始时立刻得到应答是否同样可行 ? 如果是,请给出像本书中那样在中断服务程序结束时应答中断的一个理由。如

6、果不是,为什么?答:在开始中断服务例程时就确认是可以的。 而在最后才做的原因是因为中断服 务例程的代码都非常短。 通过先输出另一个字符和然后确认该中断, 如果立即发 生另一个中断, 打印机将在此中断期间工作, 将使得打印稍快。 该方法的缺点是当其他中断禁用时,死机时间稍长。8. 一台计算机具有如图 1-6a 所示的三阶段流水线。在每一个时钟周期,一条新的指令从PC所指向的地址处的内存中取出并放人流水线,同时PC值增加。每 条指令恰好占据一个内存字。 已经在流水线中的指令每个时钟周期前进一个阶段。 当中断发生时,当前 PC 压入堆栈, 并且将 PC 设置为中断处理程序的地址。然后,流水线右移一个

7、阶段并且中断处理程序的第一条指令被取入流水线。 该机 器具有精确的中断吗 ?请解释你的答案。答:(题目有问题,应该是图 1-7a )具有精确的中断。入栈的 PC 指向第一条未 读取的指令。之前的所有指令都已执行, 而指向的指令及其后续指令均尚未执行 这就是精确中断的条件。 精确中断在单管线的机器上不难实现, 但是当指令不按 序执行时会有麻烦,此时就不再具有精确的中断。9. 一个典型的文本打印页面包含 50 行,每行 80个字符。设想某一台打印机每分 钟可以打印 6个页面,并且将字符写到打印机输出寄存器的时间很短以至于可以 忽略。如果打印每一个字符要请求一次中断,而进行中断服务要花费总计5 ns

8、的时间,那么使用中断驱动的I/O来运行该打印机有没有意义?答:该打印机打印每分钟打印50 X 80 X= 624000个字符,也就是400字符/s每个字符使用 50ns 的 CPU 时间用于中断,因此,每秒总共的中断时间是 20 ms使用中断驱动I/O余下的980ms可供其它使用。换句话说,中断耗时只占CPU时间的 2% ,这几乎不会影响运行的程序。10. 请解释 OS 如何帮助安装新的驱动程序而无须重新编译 OS。答: UNIX 通过以下的方法实现。有一个由设备编号索引的表,每个表项是一个C 结构,其中包含指向打开、关闭、读取和写入功能的指针,以及来自设备的其他一些东西。 要安装新设备, 必

9、须在此表中新建一个条目, 并将指针填充到新加载 的设备驱动程序中。11. 以下各项工作是在四个1/(软件层的哪一层完成的?a)为一个磁盘读操作计算磁道、扇区、磁头。b)向设备寄存器写命令。c)检査用户是否允许使用设备。d) 将二进制整数转换成ASCII码以便打印。(a )设备驱动程序。(b )设备驱动程序。(C)设备无关的软件。(d )用户级软件。12. 一个局域网以如下方式使用:用户发出一个系统调用,请求将数据包写到网上, 然后操作系统将数据复制到一个内核缓冲区中, 再将数据复制到网络控制器接口板 上。当所有数据都安全地存放在控制器中时, 再将它们通过网络以 10Mb/s 的速率发送。在每一

10、位被发送后, 接收的网络控制器以每微秒一位的速率保存它 们。当最后一位到达时,目标 CPU 被中断,内核将新到达的数据包复制到内核 缓冲区中进行检査。 一旦判明该数据包是发送给哪个用户的, 内核就将数据复制到该用户空间。如果我们假设每一个中断及其相关的处理过程花费 1ms 时间, 数据包为 1024 字节(忽略包头),并且复制一个字节花费 1ns 时间,那么将数 据从一个进程转储到另一个进程的最大速率是多少 ? 假设发送进程被阻塞直到接 收端结束工作并且返回一个应答。 为简单起见,假设获得返回应答的时间非常短, 可以忽略不计。答:在这个过程中,包必须复制四次,需要 4.1毫秒。有两个中断,占

11、2 毫秒。 最后,传输时间为 0.83毫秒, 1024 字节的数据包共需要 6.93毫秒。最大数据 传输速率为 147763 字节 /秒,或约 10 兆位 /秒的网络标称容量的 12% 。(如果我 们考虑协议开销,结果会变得更糟)13. 为什么打印机的输出文件在打印前通常都假脱机输出在磁盘上?答:如果每次输出都立即分配打印机, 某进程可以通过打印机 1 个字符来冻结打印机,然后休眠一个星期。14.3 级 RAID 只使用一个奇偶驱动器就能够纠正一位错误。 那么 2 级 RAID 的意义是什么?毕竟 2 级 RAID 也只能纠正一位错误而且需要更多的驱动器。答: RAD level 2 不仅可以

12、从故障驱动器来恢复错误位,还可以从未被检测的的瞬时差错中恢复。如果某驱动器发送一个坏数据位, RAID level 2 可以纠正,而RAIDlevel 3 不能。15. 如果两个或更多的驱动器在很短的时间内崩溃,那么 RAID 就可能失效。假设在 给定的一小时内一个驱动器崩溃的概率是 p ,那么在给定的一小时内具有 k 个驱动器的 RAID 失效的概率是多少?答:0次故障的概率P0为(l-p)k 1次故障的概率P1为kp(l-p)k-1而整个RAID发生故障的概率为 1-P0-P1 ,也就是 1-(1-p)k-kp(1-p)k-116. 从读性能、写性能、空间开销以及可靠性方面对0级RAID到

13、5级RAID进行比较。答:读取性能: RAID 级别 0,2,3,4 和 5允许一个读请求并行读取服务。然而,RAID级别1进一步允许两个读取请求同时进行。写入性能:所有 RAID级 别提供类似的写入性能。空间开销:第 0 级没有空间开销,而第 l 级 l00% 的开18.75% 。对于销。第 2级带 32位数据字和六位奇偶校验驱动器,空间开销约32 位数据字, 3级的空间开销约为 3.13% 。最后,假设 4和 5级别具有 33 个驱动器,则他们的空间开销是 3.13% 。可靠性: 0 级没有可靠性支持。所有其他RAID 级别可以在一个磁盘崩溃时保证数据。此外,对于 3,4 和 5 级别,在

14、一 个字内的一个单一的随机位错误可以被检测到, 而第 2 级,在一个字内的一个单 一的随机位错误可以被检测和纠正。17. 为什么光存储设备天生比磁存储设备具有更高的数据密度?注意:本题需要 某些髙中物理以及磁场是如何产生的知识。答:在两个磁极之间会产生磁场。不仅难于使磁场源变小,而且磁场传播迅速,这将导致此行媒体的表面接近磁源或者传感器的机械问题。 而半导体激光可以在非常小的地方产生激光,而且激光可以从较远的地方感知这些极小的点。18. 光盘和磁盘的优点和缺点各是什么?答:光盘的主要优点是它们比磁盘具有更高的记录密度。 磁盘的主要优点是比光19. 如果一个磁盘控制器没有内部缓冲,一旦从磁盘上接

15、收到字节就将它们写到 内存中,那么交错编号还有用吗 ?请讨论。答:有可能。如果大多数文件被存储在逻辑上连续的扇区内, 那么就可能使得程 序有时间以交叉扇区的形式处理刚刚接收的数据, 这样当下一请求发出时, 磁盘 正好在正确的地方。20. 如果一个磁盘是双交错编号的,那么该磁盘是否还需要柱面斜进以避免在进 行磁道到磁道的寻道时错过数据?请讨论你的答案。答:也许要,也许不要。如果跨道时磁头移动少于 2 个扇区,就不需要柱面倾斜如果大于 2 个扇区,则需要柱面倾斜。21. 考虑一个包含 16个磁头和 400 个柱面的磁盘。该磁盘分成 4个 100 柱面的区域不同的区域分别包含 160个、 200个、 240 个和 280个扇区。假设每个扇区包含 512 字节,相邻柱面间的平均寻道时间为 1ms, 并且磁盘转速为7200rpm。计算a磁盘容量、b)最优磁道斜进以及c)最大数据传输率。答:(a) 个区的容量是磁道X柱面X扇区柱面X字节扇区。1 区:16X 100X160512 X = 131072000字节容量2 区 :16X100X 200X 512 = 163840000 字节容量3 区 :16X100X 240X 512 = 196608000 字节容量4 区 :16X100X 280X 512 = 229376000 字节容量

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号