《操作系统教程》(第三版)CH2应用题参考答案1CH2应用题参考答案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在按动态优先数调度进程的系统中,每个进程的优先数需定时重新计算。在处理器不断地在进程之间交替的情况下,重新计算进程优先数的时间从何而来?答:许多操作系统重新计算进程的优先数在时钟中断处理例程中进行,由于中断是随机的,碰到哪个进程,就插入哪个进程中运行处理程序,并把处理时间记在这个进程的账上。5若后备作业队列中等待运行的同时有三个作业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+c②令②-①式得到:T2-T1=b-a0可见,采用短作业优先算法调度才能获得最小平均作业周转时间。《操作系统教程》(第三版)CH2应用题参考答案26若有一组作业J1,…,Jn,其执行时间依次为S1,…,Sn。如果这些作业同时到达系统,并在一台单CPU处理器上按单道方式执行。试找出一种作业调度算法,使得平均作业周转时间最短。答:首先,对n个作业按执行时间从小到大重新进行排序,则对n个作业:J1’,…,Jn’,它们的运行时间满足:S1’≤S2’≤…≤S(n-1)’≤Sn’。那么有:T=[S1’+(S1’+S2’)+(S1’+S2’+S3’)+…+(S1’+S2’+S3’+…+Sn’)]/n=[n×S1’+(n-1)×S2’+(n-3)×S3’]+…+Sn’]]/n=(S1’+S2’+S3’+…+Sn’)-[0×S1’+1×S2’+2×S3’+…+(n-1)Sn’]/n由于任何调度方式下,S1’+S2’+S3’+…+Sn’为一个确定的数,而当S1’≤S2’≤…≤S(n-1)’≤Sn’时才有:0×S1’+1×S2’+2×S3’+…+(n-1)Sn’的值最大,也就是说,此时T值最小。所以,按短作业优先调度算法调度时,使得平均作业周转时间最短。7假定执行表中所列作业,作业号即为到达顺序,依次在时刻0按次序1、2、3、4、5进入单处理器系统。1)分别用先来先服务调度算法、时间片轮转算法、短作业优先算法及非强占优先权调度算法算出各作业的执行先后次序(注意优先权高的数值小);2)计算每种情况下作业的平均周转时间和平均带权周转时间。作业号执行时间优先权1234510121531342答:(1)采用FCFS算法调度作业,运作情况:(2)采用RR算法调度作业,若令时间片长=1,各作业执行情况为:1、2、3、4、5、1、3、5、1、5、1、5、1、5、1、1、1、1、1。执行次序执行时间等待时间开始时间完成时间周转时间带权周转时间110001010121101011111132111113136.541131314141455141419193.8作业平均周转时间T=(10+11+13+14+19)/5=13.4作业平均带权周转时间W=(1+11+6.5+14+3.8)/5=7.26《操作系统教程》(第三版)CH2应用题参考答案3(3)采用SJF算法调度作业,运作情况:(4)采用非剥夺优先权算法调度作业,运作情况:8对某系统进行监测后表明平均每个进程在I/O阻塞之前的运行时间为T。一次进程切换的系统开销时间为S。若采用时间片长度为Q的时向片轮转法,对下列各种情况算出CPU利用率。1)Q=∞2)Q>T3)S<Q<T4=Q=S5=Q接近于0答:1)Q=∞CPU利用率=T/(T+S)2)QTCPU利用率=T/(T+S)作业执行时间提交时间完成时间周转时间带权周转时间110019191.9210222320773.541044455014142.8作业平均周转时间T=(19+2+7+4+14)/5=9.2作业平均带权周转时间W=(1.9+2+3.5+4+2.8)/5=2.84执行次序执行时间等待时间开始时间完成时间周转时间带权周转时间2100111411122232224425544991.81109919191.9作业平均周转时间T=(1+2+4+9+19)/5=7作业平均带权周转时间W=(1+2+2+1.8+1.9)/5=1.74执行次序优先数执行时间等待时间周转时间带权周转时间211011525161.213106161.633216189441181919作业平均周转时间T=(1+6+16+18+19)/5=12作业平均带权周转时间W=(1+1.2+1.6+9+19)/5=6.36《操作系统教程》(第三版)CH2应用题参考答案43)TQSCPU利用率=Q/(Q+S)4)Q=SCPU利用率=50%5)Q→0CPU利用率→09有5个待运行的作业,各自预计运行时间分别是:9、6、3、5和x,采用哪种运行次序使得平均响应时间最短?答:按照最短作业优先的算法可以使平均响应时间最短。X取值不定,按照以下情况讨论:1)x≤3次序为:x,3,5,6,92)3x≤5次序为:3,x,5,6,93)5x≤6次序为:3,5,x,6,94)6x≤9次序为:3,5,6,x,95)9x次序为:3,5,6,9,x10有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)采用单道运行,直到结束。)答:(1)FCFS调度算法(2)优先级调度算法执行次序执行时间等待时间周转时间带权周转时间C6061D86141.75B414184.5E1018282.8A2283015作业平均周转时间T=(6+14+18+28+30)/5=19.2作业平均带权周转时间W=(1+1.75+4.5+2.8+15)/5=5.01执行次序执行时间等待时间周转时间带权周转时间E100101D810182.25C618244B424287A2283015作业平均周转时间T=(10+18+24+28+30)/5=22作业平均带权周转时间W=(1+2.25+4+7+15)/5=5.85《操作系统教程》(第三版)CH2应用题参考答案5(3)时间片轮转法按次序ABCDEBCDECDEDEE轮转执行。(4)SJF调度算法11有5个批处理作业A到E均已到达计算中心,其运行时间分别10、6、2、4和8分钟;各自的优先级分别被规定为3、5、2、1和4,这里5为最高级。若不考虑系统切换开销,计算出平均作业周转时间。(1)FCFS(按A、B、C、D、E);(2)优先级调度算法,(3)时间片轮转法(每个作业获得相同的2分钟长的时间片)。答:(1)FCFS调度算法执行次序执行时间等待时间周转时间带权周转时间A100101B610162.66C216189D418225.5E822303.75作业平均周转时间T=(10+16+18+22+30)/5=19.2作业平均带权周转时间W=(1+2.66+9+5.5+3.75)/5=4.38作业执行时间等待时间周转时间带权周转时间A2021B48123C614203.33D818263.25E1020303作业平均周转时间T=(2+12+20+26+30)/5=18作业平均带权周转时间W=(1+3+3.33+3.25+3)/5=2.71作业执行时间等待时间周转时间带权周转时间A2021B4261.5C66122D812202.5E1020303作业平均周转时间T=(2+6+12+20+30)/5=14作业平均带权周转时间W=(1+1.5+2+2.5+3)/5=2《操作系统教程》(第三版)CH2应用题参考答案6(2)优先级调度算法(3)时间片轮转法按次序ABCDEABDEABEAEA轮转执行。12(1)假定一个处理器正在执行两道作业,一道以计算为主,另一道以输入输出为主,你将怎样赋予它们占有处理器的优先级?为什么?(2)假定一个处理器正在执行三道作业,一道以计算为主,第二道以输入输出为主,第三道为计算与输入输出均匀。应该如何赋予它们占有处理器的优先级使得系统效率较高?答:处理器调度算法会考虑以下因素:作业响应时间要求;让CPU尽量和外围设备并行工作;限制一个计算进程长时间霸占处理器。因而,(1)I/O为主作业优先级高。(2)输入输出为主作业优先级最高,输入输出均匀的作业其次,而计算为主作业的优先级最低。13请你设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换,则CPU需要哪些信息?请描述用硬件完成进程切换的工作过程。答:该计算机有一个专用硬件寄存器,它始终存放指向当前运行进程的PCB的指针。当系统中发生了一个事件,如I/O结束事件,CPU便可把运行进程的上下文保存到专用硬件寄存器指针指向的PCB中保护起来,然后,CPU转向中断向量表,找到设备中断处理程序入口,让专用硬件寄存器指针指向(设备)中断服务例程,于是,便可启动中断服务例程工作。执行次序执行时间等待时间周转时间带权周转时间B6061E86141.75A1014242.4C2242613D426307.5作业平均周转时间T=(6+14+24+26+30)/5=20作业平均带权周转时间W=(1+1.75+2.4+13+7.5)/5=5.13作业执行时间等待时间周转时间带权周转时间A1020303B616223.66C2463D412164E820283.5作业平均周转时间T=(30+22+6+16+28)/5=20.4作业平均带权周转时间W=(3+3.66+3+4+3.5)/5=3.43《操作系统教程》(第三版)CH2应用题参考答案714单道批处理系统中,下列三个作业采用先来先服务调度算法和最高响应比优先算法进行调度,哪一种算法性能较好?请完成下表:作业提交时间运行时间开始时间完成时间周转时间带权周转时间12310∶0010∶1010∶252∶001∶000∶25平均作业周转时间=平均作业带权周转时间W=答:FIFO作业提交时间运行时间开始时间完成时间周转时间带权周转时间12310∶0010∶1010∶252∶001∶000∶2510:0012:0013:0012:0013:0013:2522:503120/120145/60180/25平均作业周转时间=2.61平均作业带权周转时间W=3.54HRRF作业提交时间运行时间开始时间完成时间周转时间带权周转时间12310∶0010∶1010∶252∶001∶000∶2510:0012:2512:0012:0013:2512:2523:152120/120195/60120/25平均作业周转时间=2.41平均作业带权周转时间W=3.02可见HRRF比FIFO要好。15若有如表所示四个作业进入系统,分别