操作系统____课后答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《操作系统教程》(第三版)CH1应用题参考答案1CH1应用题参考答案1有一台计算机,具有1MB内存,操作系统占用200KB,每个用户进程各占200KB。如果用户进程等待I/O的时间为80%,若增加1MB内存,则CPU的利用率提高多少?答:设每个进程等待I/O的百分比为P,则n个进程同时等待I/O的概率是Pn,当n个进程同时等待I/O期间CPU是空闲的,故CPU的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4个用户进程,由于每个用户进程等待I/O的时间为80%,故:CPU利用率=1-(80%)4=0.59若再增加1MB内存,系统中可同时运行9个用户进程,此时:CPU利用率=1-(80%)9=0.87故增加1MB内存使CPU的利用率提高了47%:87%÷59%=147%147%-100%=47%2一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始做,程序B后开始运行。程序A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。程序B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明(1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?(2)程序A、B有无等待CPU的情况?若有,指出发生等待的时刻。答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。(2)程序A无等待现象,但程序B有等待。程序B有等待时间段为180ms至200ms间(见图中有色部分)。处理器输入机打印机程序A程序BA计算B计算计算计算时间(ms)050100150180200250300打印计算打印输入计算A打印A打印B输入A计算B计算一《操作系统教程》(第三版)CH1应用题参考答案23设有三道程序,按A、B、C优先次序运行,其内部计算和I/O操作时间由图给出。ABCC11=30msC21=60msC31=20ms∣∣∣I12=40msI22=30msI32=40ms∣∣∣C13=10msC23=10msC33=20ms试画出按多道运行的时间关系图(忽略调度执行时间)。完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时1ms,试画出各程序状态转换的时间关系图。答:1)忽略调度执行时间,多道运行方式(抢占式):时间0378101213141719单位10msI/OI12I22I32CPUC11C21C13C21C31C23C33抢占式共用去190ms,单道完成需要260ms,节省70ms。忽略调度执行时间,多道运行方式(非抢占式):时间0379101213141618单位10msI/OI12I22I32CPUC11C21C13C31C23C33非抢占式共用去180ms,单道完成需要260ms,节省80ms。2)调度执行时间1ms,多道运行方式(抢占式):时间0303132717273748485105107127136137147177178198单位1msI/OI12I22I32CPUC11C21C13C21C31C23C33OS调度执行时间1ms,多道运行方式(非抢占式):时间03031327172939495105106124125127129139168169189单位1msI/OI12I22I32CPUC11C21C21C13C31C31C23C33OS4在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投入三个作业运行。它们的执行轨迹如下:《操作系统教程》(第三版)CH1应用题参考答案3Job1: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从投入到运行完成需110ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需110ms。(2)CPU空闲时间段为:60ms至70ms,80ms至90ms,100ms至110ms。所以CPU利用率为(110-30)/110=72.7%。(3)设备I1空闲时间段为:20ms至40ms,90ms至100ms,故I1的利用率为(110-30)/110=72.7%。设备I2空闲时间段为:30ms至50ms,故I2的利用率为(110-20)/110=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。试求:(1)每个作业从投入到完成分别所需的时间。(2)每个作业投入到完成CPU的利用率。(3)I/O设备利用率。答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):CPUI1I2Job1Job2Job3时间(ms)CPUCPU0102030405060708090100110CPUI1I1I1CPUCPUI2I2CPUI1CPUI2Job1Job2Job3Job2Job1Job2Job3Job1Job3Job2Job1Job1Job3Job3《操作系统教程》(第三版)CH1应用题参考答案4(1)Job1从投入到运行完成需80ms,Job2从投入到运行完成需90ms,Job3从投入到运行完成需90ms。(2)CPU空闲时间段为:60ms至70ms,80ms至90ms。所以CPU利用率为(90-20)/90=77.78%。(3)设备I1空闲时间段为:20ms至40ms,故I1的利用率为(90-20)/90=77.78%。设备I2空闲时间段为:30ms至50ms,故I2的利用率为(90-20)/90=77.78%。6若内存中有3道程序A、B、C,它们按A、B、C优先次序运行。各程序的计算轨迹为:A:计算(20)、I/O(30)、计算(10)B:计算(40)、I/O(20)、计算(10)C:计算(10)、I/O(30)、计算(20)如果三道程序都使用相同设备进行I/O(即程序用串行方式使用设备,调度开销忽略不计)。试分别画出单道和多道运行的时间关系图。两种情况下,CPU的平均利用率各为多少?答:分别画出单道和多道运行的时间图(1)单道运行时间关系图单道总运行时间为190ms。CPU利用率为(190-80)/190=57.9%(1)单道运行时间关系图CPUI1I2Job1Job2Job3时间(ms)CPUCPU0102030405060708090I1I1CPUCPUI2I2CPUI1CPUJob1Job2Job3Job2Job1Job2Job3Job1Job2Job1Job302040506080100120140160180190I/OCPU时间(ms)AAABBBCCC《操作系统教程》(第三版)CH1应用题参考答案5多道总运行时间为140ms。CPU利用率为(140-30)/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利用率?答:画出三个作业并发执行的时间图:(1)最早结束的程序为B,最后结束的程序为C。(2)程序A为250ms。程序B为220ms。程序C为310ms。(3)CPU利用率为(310-120)/310=61.3%8有两个程序,A程序按顺序使用:(CPU)10秒、(设备甲)5秒、(CPU)5秒、(设备乙)10I/OCPU时间(ms)AAABC02040506080100120140BBCCBCPUI01I02ABC时间(ms)cpu0306090120150180210240270300330I01cpucpuI02I02cpucpuI01cpuABBABCBCACI01cpuI01ACAAcpucpuI01cpucpuI02I02BCBCA《操作系统教程》(第三版)CH1应用题参考答案6秒、(CPU)10秒。B程序按顺序使用:(设备甲)10秒、(CPU)10秒、(设备乙)5秒、(CPU)5秒、(设备乙)10秒。在顺序环境下先执行A,再执行B,求出总的CPU利用率为多少?答:程序A执行了40秒,其中CPU用了25秒。程序B执行了40秒,其中CPU用了15秒。两个程序共用了80秒,CPU化了40秒。故CPU利用率为40/80=50%。9在某计算机系统中,时钟中断处理程序每次执行的时间为2ms(包括进程切换开销)。若时钟中断频率为60HZ,试问CPU用于时钟中断处理的时间比率为多少?答:因时钟中断频率为60HZ,所以,时钟周期为:1/60s=50/3ms。在每个时钟周期中,CPU花2ms执行中断任务。所以,CPU用于时钟中断处理的时间比率为:2(50/3)=6/50=12%。CH2应用题参考答案1下列指令中哪些只能在核心态运行?(1)读时钟日期;(2)访管指令;(3)设时钟日期;(4)加载PSW;(5)置特殊寄存器;(6)改变存储器映象图;(7)启动I/O指令。答:(3),(4),(5),(6),(7)。2假设有一种低级调度算法是让“最近使用处理器较少的进程”运行,试解释这种算法对“I/O繁重”型作业有利,但并不是永远不受理“处理器繁重”型作业。答:因为I/O繁忙型作业忙于I/O,所以它CPU用得少,按调度策略能优先执行。同样原因一个进程等待CPU足够久时,由于它是“最近使用处理器较少的进程”,就能被优先调度,故不会饥饿。3并发进程之间有什么样的相互制约关系?下列日常生活中的活动是属哪种制约关系:(1)踢足球,(2)吃自助餐,(3)图书馆借书,(4)电视机生产流水线工序。答:并发进程之间的基本相互制约关系有互斥和同步两种。其中(1)、(3)为互斥问题。(2)、(4)为同步问题。4在按动态优先数调度进程的系统中,每个进程的优先数需定时重新计算。在处理器不断地在进程之间交替的情况下,重新计算进程优先数的时间从何而来?答:许多操作系统重新计算进程的优先数在时钟中断处理例程中进行,由于中断是随机的,碰到哪个进程,就插入哪个进程中运行处理程序,并把处理时间记在这个进程的账上。《操作系统教程》(第三版)CH1应用题参考答案75若后备作业队列中等待运行的同时有三个作业J1、J2、J3,已知它们各自的运行时间为a、b、c,且满足abc,试证明采用短作业优先算法调度能获得最小平均作业周转时间。答:采用短作业优先算法调度时,三个作业的总周转时间为:T1=a+(a+b)+(a+b+c)=3a+2b+c①若不按短作业优先算法调度,不失一般性,设调度次序为:J2、J1、J3。则三个作业的总周转时间为:T2=b+(b+a)+(b+a+c)=3b+2a+

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功