《现代操作系统第四版》答案_第1页
《现代操作系统第四版》答案_第2页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、>t2)在CPU对DMA控制器进行编程之后,如果(a)采用一次一字模式(b)采用突发模式,从磁盘控制器到内存传送1000个字需要多少时间?假设向磁盘控制器发送命令需要获取总线以传输一个字,并且应答传输也需要获取总线以传输一个字。答:(a)10O0x(t1+t2)+(t1+t2)+(tL+t2);第一个t1+t2)是获取总线并将命令发送到磁盘控制器,第二个(t1+t2)是用于传输字,第三个(t1+t2)是为了确认。总之,共3000x(t1+t2)纳秒。第第(b)(t1+t2)+t1+10O0xt2+(tL+t2)"第一个(t1+t2)是获取总线并将命令发送到磁盘控制器,第二个t1

4、是为磁盘控制器获取总线第三个1000xt2是突发传送,个(t1+t2)是获取总线并做确认。总3t1+1O02xt2。5假设一台计算机能够在10ns内读或者写一个内存字,并且假设当中断发生时,所有32位寄存器连同程序计数器和PSW被压人堆栈。该计算机每秒能够处理的中断的最大数目是多少?答:一次中断需要入栈34个字。而从中断返回需要把34个字从栈中取出。总耗时为680ns。此,每秒最多处理147万次中断,假设每次中断什么也不做。6.CPU体系结构设计师知道操作系统编写者痛恨不精确的中断。取悦于OS人群的一种方法是当得到一个中断信号通知时,让CPU停止发射指令,但是允许当前正在执行的指令完成,然后强

5、制中断。这一方案是否有缺点?请解释你的答案。答:当前的处理器一般采用多级流水线操作,无法准确地确定CPU当前正在执行的指令是哪一条,所以停止让CPU发送指令后,需要等待把流水线中的指令全部执行完成才能响应中断,对于指令不按序执行的处理器而言,会造成中断响应的不精确。7在图5-9b中,中断直到下一个字箱输出到打印机之后才得到应答。中断在中断服务程序开始时立刻得到应答是否同样可行如果是,请给出像本书中那样在中断服务程序结束时应答中断的一个理由。如果不是,为什么?原因是因为中断服答:在开始中断服务例程时就确认是可以的。而在最后才做的务例程的代码都非常短。通过先输出另一个字符和然后确认该中断,如果立即

6、发生另一个中断,打印机将在此中断期间工作,将使得打印稍快。该方法的缺点是当其他中断禁用时,死机时间稍长。8一台计算机具有如图1-6a所示的三阶段流水线。在每一个时钟周期,一条新的指令从PC所指向的地址处的内存中取出并放人流水线,同时PC值增加。每条指令恰好占据一个内存字。已经在流水线中的指令每个时钟周期前进一个阶当中断发生时,当前PC压入堆栈,并且将PC设为中断处理程序的地址。然后,流水线右移一个阶段并且中断处理程序的第一条指令被取入流水线。该机器具有精确的中断吗请解释你的答案。答:(题目有问题,应该是图1-7a)具有精确的中断。入栈的PC指向第一条未读取的指令。之前的所有指令都已执行,而指向

7、的指令及其后续指令均尚未执行,这就是精确中断的条件。精确中断在单管线的机器上不难实现,但是当指令不按序执行时会有麻烦,此时就不再具有精确的中断。9.一个典型的文本打印页面包含50行,每行80个字符。设想某一台打印机每分钟可以打印6个页面,并且将字符写到打印机输出寄存器的时间很短以至于可以忽略。如果打印每一个字符要请求一次中断,而进行中断服务要花费总计5ps的时间,那么使用中断驱动的I/O来运行该打印机有没有意义?m:50X80X6H24000.8as4008>、sss§沖-H3980msssa-sffis、罟囂aJnDrCPUsssOSsassssssaMBMSKOS。csns

8、ssssffssBISH-imms«H£siB>0=SB.m:ssss.(d)aBFmMKKiaaalsws:a3s4siumssk図«SJm£alasl3器aH的速率发送。在每一位被发送后,接收的网络控制器以每微秒一位的速率保存它们。当最后一位到达时,目标CPU被中断,内核将新到达的数据包复制到内核缓冲区中进行检査。一旦判明该数据包是发送给哪个用户的,内核就将数据复制到该用户空间。如果我们假设每一个中断及其相关的处理过程花费1ms时间,数据包为1024字节(忽略包头)并且复制一个字节花费1ns时间,那么将数据从一个进程转储到另一个进程的最大速率是

9、多少假设发送进程被阻塞直到接收端结束工作并且返回一个应答。为简单起见,假设获得返回应答的时间非常短,可以忽略不计。答:在这个过程中,包必须复制四次,需要4.1毫秒。有两个中断,占2毫秒。最后,传输时间为0.83毫秒,1024字节的数据包共需要6.93毫秒。最大数据传输速率为147763字节/秒,或约10兆位/秒的网络标称容量的12%。(如果我们考虑协议开销,结果会变得更糟)13.为什么打印机的输出文件在打印前通常都假脱机输出在磁盘上?答:如果每次输出都立即分配打印机,某进程可以通过打印机1个字符来冻结打印机,然后休眠一个星期。14.3级RAID只使用一个奇偶驱动器就能够纠正一位错误。那么2级R

10、AID的意义是什么?毕竟2级RAID也只能纠正一位错误而且需要更多的驱动器。答:RADIevel2不仅可以从故障驱动器来恢复错误位,还可以从未被检测的的瞬时差错中恢复。如果某驱动器发送一个坏数据位,RAIDIeveI2可以纠正,而RAIDlevel3不能。15如果两个或更多的驱动器在很短的时间内崩溃,那么RAID就可能失效。假设在给定的一小时内一个驱动器崩溃的概率是p,那么在给定的一小时内具有k个驱动器的RAID失效的概率是多少?答:0次故障的概率P0为(1-p)k。1次故障的概率P1为kp(1-p)k-1。而整个RAID发生故障的概率为1-P0-P1,也就是1-(1-p)k-kp(1-p)k

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

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

13、收到字节就将它们写到内存中,那么交错编号还有用吗请讨论。答:有可能。如果大多数文件被存储在逻辑上连续的扇区内,那么就可能使得程序有时间以交叉扇区的形式处理刚刚接收的数据,这样当下一请求发出时,磁盘正好在正确的地方。20. 如果一个磁盘是双交错编号的,那么该磁盘是否还需要柱面斜进以避免在进行磁道到磁道的寻道时错过数据?请讨论你的答案。答:也许要,也许不要。如果跨道时磁头移动少于2个扇区,就不需要柱面倾斜。如果大于2个扇区,则需要柱面倾斜。21. 考虑一个包含16个磁头和400个柱面的磁盘。该磁盘分成4个100柱面的区域,不同的区域分别包含160个、200个、240个和280个扇区。假设每个扇区包

14、含512字节,相邻柱面间的平均寻道时间为1ms,并且磁盘转速为7200rpm。计算a)磁盘容量、b)最优磁道斜进以及c)最大数据传输率。答:(a)一个区的容量是磁道x柱面x扇区柱面x字节/扇区。1区:16x100x160x512=¥节容量2区:16x100x200x512=¥节容量3区:16x100x240x512=¥节容量4区:16x100x280x512=¥节容量总和=+=(b)72O0rpm的旋转速度意味着120圈/秒。在1毫秒平均寻道里,012的圈覆盖.在第1区硬盘磁头在1毫秒将经过0.12x160扇区,因此,最优轨迹区域1的偏斜是192扇区。在

15、2区,磁盘头在1毫秒将经过012x200扇区,因此最优轨迹偏移24扇区。在3区,磁头在1毫秒将经过012x240扇区,因此,区域B的最佳磁道偏斜是2報扇区区,磁头秒经过:M扇区,因此,最优轨迹偏移是336扇区.(c)在最外层区域(4区)内的磁头正在读取/写入时获得最大数据传输速率。在那个区域,在一秒钟内,2:0扇区被阅读120次.因此,数据率为280x120x512=字节/秒.22一个磁盘制造商拥有两种525英寸的磁盘,每种磁盘都具有10000个柱面.新磁盘的线性记录密度是老磁盘的两倍.在较新的驱动器上哪些特性更好,哪些无变化?答:驱动器容量和传输速率是原来的2倍.寻道时间和平均旋转延时是相同

16、的.23.一个计算机制造商决定重新设计Pentium硬盘的分区表以提供四个以上的分答:一个相当明显的后果是没有哪个操作系统可以生效,因为这些操作系统都会在原来的分区表位置査找分区.改变分区表格式将使所有操作系统都失败.改变分区表的唯一方法是同时改变所有操作系统以使用新的格式.24磁盘请求以柱面10、22、20、2、40、6和38的次序进入磁盘驱动器.寻道时每个柱面移动需要6ms,以下各算法所需的寻道时间是多少?a) 先来先服务。b) 最近柱面优先。c)电梯算法(初始向上移动)在各情形下,假设磁臂起始于柱面20答:(a) FCFS:10+12+2+18+38+34+32=146柱面=876ms(

17、先到先得)(b) SSF:O+2+12+4+4+36+2=60柱面=360ms(每次最小移臂)(c) 电梯算法:0+2+16+2+30+4+4=58柱面=348ms(个方向)25.调度磁盘请求的电梯算法的一个微小更改是总是沿相同的方向扫描。在什么方面这一更改的算法优于电梯算法?答:在最坏的情况下,电梯算法需要两个完整的磁盘扫描才能完成一个读/写请求服务,而改进算法最多只需要一个完整的磁盘扫描。26在讨论使用彌失性RAM的稳定的存储器时”掩饰了如下要点。如果稳定写完成但是在操作系统能够将无效的块编号写入彌失性RAM之前发生了崩溃,那么会有什么结果这一竞争条件会毁灭稳定的存储器的抽象概念吗请解释你

18、的答案。答:会岀现竞争,但是不要紧。稳定写入本身已经完成,事实上川顷失性RAM没有被更新只是意味着恢复程序将知道哪些块被写入过。它会读到两个相同的副本,但并不会改变它们,这是正确的操作。耳非易失性RAM在更新前系统崩溃仅仅意味着恢复程序不得不进行两次磁盘读操作。27在关于稳定的存储器的讨论中,证明如果在写过程中发生了CPU崩溃,磁盘可以恢复到一个一致的状态(写操作或者已完成,或者完全没有发生)。如果在恢复的过程中CPU再次崩溃,这一特性是否还保持?请解释你的答案。答:是的,即使在恢复程序运行的过程中CPU再次崩溃,磁盘依然能恢复一致状态。考虑图5-31(a)或(e)中没有恢复。假设CPU在(b

19、)恢复期间崩溃,如果CPU在驱动器2的块被完全复制到驱动器1之前崩溃,情况仍然和以前一样。随后的恢复过程将检测驱动器1中的ECC错误,然后再次从驱动器2复制块到驱动器1.如果CPU在驱动器2的块被复制到驱动器1后崩溃情况和1(e)是一样的情况。假设CPU在(c)恢复期间崩溃。如果CPU崩溃之前,从驱动器1块已完全复制到驱动器2,情况和(d)是一样的.随后的恢复过程将检测驱动器2中的ECC错误,并将该块从驱动器1复制到驱动器2.如果CPU从驱动器1的块被复制到驱动器2后崩溃,情况和(e)是一样的。最后,假设CPU在(d)恢复期间崩溃。如果CPU在驱动器1之前的块被完全复制到驱动器2后崩溃,情况仍

20、然和以前一样.随后的恢复过程将检测驱动器2中的ECC错误,然后再次从驱动器1复制块到驱动器2.如果CPU从驱动器1的块被复制到驱动器2后崩溃,情况和(e)是一样的.销),时钟以60Hz的频率运行,那么CPU用于时钟处理的时间比例是多少?答:时钟频率60HZ,故时钟周期T=100Oms/60=50/3ms;CPU用于时间处理的比例为:2/(50/3)x10Q%=12%.29台计算机以方波模式使用一个可编程时钟。如果使用500MHz的晶体,为了达到如下时钟分辨率,存储寄存器的值应该是多少?a)1ms(每毫秒一个时钟滴答)b)100us.。箱帶妙斷翊KE9f啊W畤靈IM厚娜BflSISWIK。旨乙由

21、90口星第¥凹紳'为T'9£T=009lZ99lTe/3£v乙。瞬回号N尬ZEvZB6¥¥Stt44°009lZ99lT£=009£xfr3xgzg9£昭觀鵜企硏亩一:&teo轴晦m删韓烬耐酬(旨轴)册醉紳I罗脚瓯&egiH自窗細觀»4伸越酬HW钳颐砂如玄葩陣SHxiNn參H£g+9*f9=*!d-ezog=g|£BU:£209g|£B。8怖乙予f2=&SH<-±-eiO9=g|£BU:&#

22、163;109g|£B°8怀f£=WWJ.-£00g=6JfBIB杲:9009g|£B°8怀£-8诋'8=Bh±-0009=g|£B|gg:0009g|£B:最舍ms筋硼两f瞬b期淞解期艇smuis伽期08臬iBHIMETOStttsoosP00£砸璃nsm闢硏苹半硏Z£O£ttt6Z09*9109*ZTOS*800910009SBWSStW°尊w-sBRIT44E2倉翔!W期瞬IM4RI硏苹半尊倔辭2一0£°00009OHW&

23、#187;M£f'畴瞬14删仗OOTft(q)°000009=Z/000000T伽列HS*'%4$Kft'Ww«4»l»3'ASMzhnoos師(e):B32个位图模式的终端包含1280x960个像素。为了滚动一个窗口,CPU(或者控制器)必须向上移动所有的文本行谑是通过将文本行的所有位从视频RAM的一部分复制到另一部分实现的。如果一个特殊的窗口高60行宽80个字符(总共4800个字符),每个字符框宽8个像素高16像素,那么以每个字节50ns的复制速率滚动整个窗口需要多长时间?如果所有的行都是80个字符长,那么终

24、端的等价波特率是多少?将一个字符显示在屏幕上需要5ps每秒能够显示多少行?答:滚动窗口需要复制59行x80字符=4720字符。复制1个字符(16个字节)需800ns,此整个窗口需要3776ms。向屏幕写80个字符需400ns,因此滚序将动和显示新的行需4176ms。大约239.5行/sec。33.接收到一个DEL(SIGINT)字符之后,显示驱动程序将丢弃当前排队等候显示的所有输出。为什么?答:假设用户无意中要求编辑器打印数干条线,然后他点DEL停止它。如果驱动程序没有放弃输出,则输出可能会持续几秒钟后,当没有发生的事情时,这将使用户一次又一次地击中DEL并且刷新。34.在最初IBMPC的彩色

25、显示器上,在除了CRT电子束垂直回扫期间以外的任何时间向视频RAM中写数据都会导致屏幕上出现难看的斑点。一个屏幕映像为25x80个字符,每个字符占据8x8像素的方框。每行640像素在电子束的一次水平扫描中绘出,需要花费636ps,包括水平回扫。屏幕每秒钟刷新60次,每视频RAM的时间比例是多少?答:25行字符,每行高8个像素,需要200次扫描才能绘制。每秒刷新60次屏幕,或者12000次行扫描/秒。在63.6秒/扫描,每秒中用于波束水平移动763毫秒,留下了237毫秒的时间可供视频RAM写入。因此,视频RAM可用的时间占23.7%。35计算机系统的设计人员期望鼠标移动的最大速率为20cm/s。

26、如果一个鼠标步是01mm,并且每个鼠标消息3个字节,假设每个鼠标步都是单独报告的,那么鼠标的最大数据传输率是多少?答:鼠标的最大速率为20Omm/sec,也就是2000mickeys/sec,如果每次报告为3个字节,输出速率为6000字节/sec。36基本的加性颜色是红色、绿色和蓝色,这意味着任何颜色都可以通过这些颜色的线性叠加而构造出来。某人拥有一张不能使用全24位颜色表示的彩色照片,这可能吗?答:对于24位彩色系统,仅能够表示224种颜色。这不是颜色的全部。例如,假设某摄影师以300种纯蓝绘图,每种都有一点区别。那么,而(R,G,B)中的B只有8位,只能表示256种蓝色,而无法表示300种

27、蓝色。37将字符放置在位图模式的屏幕上,一种方法是使用BitBlt从一个字体表复制位图。假设一种特殊的字体使用16x24像素的字符,并且采用RGB真彩色.(a) 每个字符占用多少字体表空间?(b) 如果复制一个字节花费100ns(包括系统开销)那么到屏幕的输出率是每秒多少个字符?答:a)24位真彩RGB中每像素需3个字节因此该表中的字符为16x24x3=1152字节。秒。也就是大(b)如果每字节100纳秒,那么每个字符需1152x100ns=1152约每秒输出8681字符。秒。重写图形屏幕需要38假设复制一个字节花费10ns那么对于80字符X25行文本模式的内存映射的屏幕,完全重写屏幕要花&#

28、187;多长时间?采用24位彩色的1024X768像素的图形屏幕情况怎样?答:重写文本屏幕需要复制2000个字节,也就是20复制1024x768x3=2,359,296字节,大约为236毫秒.39在图5-40中存在一个窗口类需要调用RegisterClass进行注册,在图5-38中对应的X窗口代码中并不存在这样的调用或与此相似的任何调用为什么?答:在Wmdows中,OS自己调用处理程序例程。在XWindow中,不会发生类似的事情。X只是获取消息,并在内部处理它。40在课文中我们给出了一个如何在屏幕上画一个矩形的例子,即使用WindowsGDI:Rectangle(hdc1xleftlytop1

29、xright,ybottom);是否存在于第一个参数(hdc)的实际需要?如果存在,是什么?毕竞,矩形的坐标作为参数而显式地指明了。答:第一个参数是必需的。首先,坐标是对应于某个窗口的,因此需要hdc来指定窗口,也就是其坐标原点。第二,如果该矩形落在窗口外面,将被截除,此还需要该窗口的坐标。第三,矩形颜色和其它属性必须由hdc指定。hdc此是+分重要的.41.一台THINC终端用于显示一个网页,该网页包含一个动画卡通,卡通大小为400x160像素,以每秒10帧的速度播放。显示该卡通会消耗100Mbps快速以太网带宽多大的部分?答:显示大小为400x160x3=192,000字节,10fps也就是1,920,000字节/sec=15,360,OOO位/sec,占用100M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论