您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 操作系统第三版习题答案
操作系统教程(第三版)作者:孙钟秀部分课后习题答案第一章操作系统概论二、应用题1、有一台计算机,具有1MB内存,操作系统占用200KB,每个用户占用200KB。如果用户进程等待I/O的时间为80%,若增加1MB内存,则CPU的利用率提高多少?解:每个进程等待的百分比率为p,则n个进程同时等待的概率为pn,当n个进程同时等待I/O期间CPU是空闲的,故CPU的利用率是1-pn除去操作系统占用的内存,剩余内存能容纳4个用户进程,由于每个用户进程等待I/O的时间为80%,故CPU的利用率为1-(80%)4=59%若再增加1M内存,内存就能容纳9个用户进程了,CPU的利用率为1-(80%)9=87%利用率提高为(87%)/(59%)=147%147%-100%=47%增加1M内存CPU利用率47%。2、设一计算机系统有输入机一台、打印机两台,现有二道程序同时投入运行,且程序A先开始运行,程序B后运行。程序A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms,结束。程序B运行的轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。要求:(1)用图画出这二道程序并发执行时的工作情况。(2)说明在二道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?(3)程序A、B运行时有无等待现象?在什么时候会发生等待现象?答:(1)工作情况如图。(2)CPU有空闲等待,它发生在100ms∼150ms时间段内,此时间段内程序A与程序B都在进行I/O操作。(3)程序A无等待现象,程序B在0ms∼50ms时间段与180ms∼200ms时间段内有等待现象。100ms50ms计算100ms打印50ms计算打印50ms80ms计算输入100ms计算50ms等待20ms等待050100150180200300ms程序A程序B时间如果将上题的轨迹更改为如下,情况又如何呢?即一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始运行,程序B后开始运行。程序A的轨迹为:计算50ms、输入80ms、再计算100ms,结束;程序B的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。问题:(1)画出两道程序运行的时间关系图;(2)两道程序运行时,CPU有无空闲等待?若有,在哪段时间等待?(3)程序A、B有无等待CPU的情况?若有,在哪段时间等待?解答:(1)两道程序运行的时间关系图:(2)CPU有空闲等待,它发生在100ms∼130ms时间段内,此时间段内程序A与程序B工作情况的另一种描述形式如下:程序A程序B输入程序A打印计算程序A程序B打印机输入设备50100150180200300ms时间计算计算打印输入计算程序A程序B程序BCPU25050计算程序A程序B打印机输入设备100130200230380ms时间计算计算输入打印计算程序A程序B程序BCPU280输入程序A打印程序B打印打印都在进行I/O操作。(3)程序A无等待现象,程序B在0ms∼50ms时间段与200ms∼230ms时间段内有等待现象。3、设三道程序,按照A、B、C优先次序运行,其内部计算和I/O操作时间由图给出。ABCC11=30msC21=60msC31=20ms|||I12=40msI22=30msI32=40ms|||C13=10msC23=10msC33=20ms试画出按多道运行的时间关系图(忽略调度执行时间)。完成三道程序共花多少时间?比单道程序节省了多少时间?若处理器调度程序每次运行程序的转换时间花1ms,试画出各程序状态转换的时间关系图。解答:完成三道程序抢占式花费时间是190ms,非抢占花费时间是180ms,单道花费时间是260ms,抢占式比单道节省时间为70ms。单道程序运行时间:260msA:30+40+10=80msB:60+30+10=100msC:20+40+20=80ms4、在单CPU和两台I/O(I1和I2)设备的多道程序设计环境下,同时投入三个作业运行。它们的执行轨迹如下:Job1:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)、I2(20ms)Job2:I1(20ms)、CPU(20ms)、I2(40ms)Job3:CPU(30ms)、I1(20ms)、CPU(10ms)、I1(10ms)如果CPU、I1和I2都能并行工作,优先级从高到低为Job1、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU,但是不抢占I1和I2。试求:(1)每个作业从投入到完成分别需要多少时间。(2)从投入到完成CPU的利用率。(3)I/O设备的利用率。答:(1)JOB1,JOB2,JOB3从投入到完成分别所需时间为110,90,110。(2)每个作业从投入到完成CPU的利用率是72.7%。(3)I1的利用率是72.7%,I2的利用率是81.8%。5、在单CPU和两台I/O(I1和I2)设备的多道程序设计环境下,同时投入三个作业运行。它们的执行轨迹如下:Job1:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)Job2:I1(20ms)、CPU(20ms)、I2(40ms)Job3:CPU(30ms)、I1(20ms)如果CPU、I1和I2都能并行工作,优先级从高到低为Job1、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU,但是不抢占I1和I2。试求:(1)每个作业从投入到完成分别需要多少时间。(2)从投入到完成CPU的利用率。(3)I/O设备的利用率。答:(1)JOB1,JOB2,JOB3从投入到完成分别所需时间为80,90,90ms。(2)每个作业从投入到完成CPU的利用率是77.8%。(3)I1的利用率是77.8%,I2的利用率是77.8%。6、若内存中存在3道程序A、B、C,它们按照A、B、C的优先次序运行。各程序的计算轨迹为:A:计算(20ms)、I/O(30ms)、计算(10ms)B:计算(40ms)、I/O(20ms)、计算(10ms)C:计算(10ms)、I/O(30ms)、计算(20ms)如果三道程序都使用相同的设备进行I/O(即程序用串行方式使用设备,调度开销忽略不计)。试分别画出单道和多道运行的时间关系图。两种情况下,CPU的平均利用率各为多少?答:单道:总运行时间是190ms,CPU的利用率是110/190=61.3%。多道:多道的总运行时间140ms,CPU的利用率是110/140=78.6%。7、若内存中存在3道程序A、B、C,它们按照A、B、C的优先次序运行。它们单独运行时的CPU和I/O占用时间为:程序A:60203010402020(ms)I/O2CPUI/O1CPUI/O1CPUI/O1程序B:3040703030(ms)I/O1CPUI/O2CPUI/O2程序C:40603070(ms)CPUI/O1CPUI/O2如果三道程序同时并发执行,调度开销忽略不计,但是优先级高的程序可以中断优先级低的程序,优先级与I/O设备无关。试画出多道运行的时间关系图,并问昀早与昀迟结束的程序是哪个?每道程序执行到结束分别使用了多少时间?计算三个程序全部运算结束时的CPU平均率?答:昀早结束的是B,昀晚的是C,A的运行时间是250ms,B的运行时间是220ms,C的运行时间是310ms,CPU的利用率是190/310=61.3%。8、若两个程序,A程序按顺序使用:(CPU)10s,(设备甲)5s,(CPU)10s,(设备乙)10s,(CPU)10s。B程序按顺序使用:(设备甲)10s,(CPU)10s,(设备乙)5s,(CPU)5s,(设备乙)10s。在顺序环境下先执行A,在执行B,求出总的CPU利用率为多少?答:程序A的执行了40秒,其中CPU使用了25秒,B程序执行40秒,其中CPU使用了15秒,而程序共使用了80秒,CPU花40秒,CPU的利用率是40/80=50%。9、在某计算机系统中,时钟中断处理程序每次执行时间为2ms(包括进程切换开销)。若中断频率为60Hz,试问CPU用于时钟中断处理的时间比率为多少?答:因为时钟中断频率是60HZ,时钟周期是1000ms/60=50/3(ms)在每一个时钟周期里,CPU花2ms处理执行任务,所以CPU用于时钟中断的时间比例是2/(50/3)=6/50=12%。第二章处理机管理二、应用题1、下列指令中,哪些只能在核心态运行?(1)读时钟日期;(2)访管指令;(3)设时钟日期;(4)加载PSW;(5)置特殊寄存器;(6)改变存储器映象图;(7)启动I/O指令。答:可以在核心态下运行的是:(3)设时钟日期;(4)加载PSW;(5)置特殊寄存器;(6)改变存储器映象图;(7)启动I/O指令。2、假设有一种低级调度算法是让“昀近使用处理器较少的进程”运行,试解释这种算法对“I/O繁重”型作业有利,但并不是永远不受理“处理器繁重”型作业。答:因为I/O繁忙作业忙于I/O,所以使用CPU较少,按照调度策略算法优先执行。一个进程等待CPU时间够长,是昀近昀少使用CPU进程,被优先调度。3、并发进程之间有什么样的相互制约关系?下列日常生活中的活动属于哪种制约关系?(1)踢足球;(2)吃自助餐;(3)图书馆借书;(4)电视机生产流水线工序答:并发进程之间的相互制约关系有:互斥和同步。属于互斥关系的有:(1)踢足球;(3)图书馆借书;属于同步关系的有:(2)吃自助餐;(4)电视机生产流水线工序5、若后备作业队列中等待运行的同时有三个作业J1、J2和J3,已知它们各自的运行为a、b、c,且满足abc。试证明采用短作业优先算法调度能获得昀小平均周转时间时间。证:采用短作业优先算法调度时,三个作业的总周转时间为:T1=a+(a+b)+(a+b+c)=3a+2b+c若不按短作业优先算法调度,不失一般性,设调度次序为J2、J1和J3。则三个作业的总周转时间为:T2=b+(a+b)+(a+b+c)=3b+2a+c两个总响应时间之差为:T2-T1=b-a0可见,采用短作业优先算法调度能获得昀小平均周转时间时间。7、假定执行表中作业队列,作业号为到达顺序,依次在时刻0按次序1、2、3、4、5进入单处理器系统。(1)分别用先来先服务调度算法、时间片轮转调度算法、短作业优先调度算法以及非抢占优先权调度算法算出各作业的执行先后次序(注意优先权高的数值小);(2)计算各种情况下作业的平均作业周转时间和平均作业带权周转时间。作业号执行时间优先权1103211323414552解答:FCFS作业执行时间等待时间开始时间完成时间周转时间带权周转时间110001010121101011111132111113136.541131314141455141419193.8T=13.4W=7.26时间片轮转,时长为q=1作业执行时间提交时间完成时间周转时间带权周转时间110019191.9210222320773.541044455014142.8T=9.2W=2.84SJF次序执行时间等待时间开始时间完成时间周转时间带权周转时间2100111411122232224425544991.81109919191.9T=7W=1.74非强占优先权调度次序执行时间等待时间开始时间完成时间周转时间带权周转时间21001115511661.232668841108818181.8411818191919T=10.4W=5.410、有5个批处理作业A到E均已到达计算中心,其运行时间分别为:2、4、6、8和10分钟;各自的优先级分别被规定为1、2、3、4和5,这里5为昀高级。对于1)时间片轮转算法、2)优先数算法、3)短作业优先算法、4)先来先服务调度算法(按到达次序C、D、B、E、A),在忽略进程切换时间的前提下,计算出平均作业周转时间。(对1)每个作业获得相同的2分钟的时间片;对2)到4)采用单道运行,直到结束。)解答:FCFS作业执行时间等待时间周转时间带权周转时间C
本文标题:操作系统第三版习题答案
链接地址:https://www.777doc.com/doc-4356485 .html