第三章练习题及答案(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章练习题及答案
1.在单道环境下,某批处理有四道作业,已知它们进入系统的时刻、估计运行时间如下:
顺序、平均周转时间和平均带权周转时间。
2.为什么说多级反馈队列能较好地满足各种用户的需要?
3.有一个多道程序系统,有用户空间100KB,并规定作业相应程序装入内存连续区域,并
不能被移动,作业调度和进程调度均采用FCFS算法。现有一批作业,已知条件如下:
时间、开始执行的时间、结束执行的时间、周转时间和带权周转时间。
4.上例中,其他假设条件不变,仅把作业的调度算法改为按SF算法,进程仍采用FCFS算
法。
5.作业调度的性能评价标准有哪些?这些性能评价在任何情况下都能反映调度策略的优
劣吗?
6.什么叫无限期封锁(indefinite blocking)?它在什么情况下出现?
7.作业调度算法选择作业的原则,可以是保证系统的吞吐量大、可以是对用户公平合理、
可以是充分发挥系统资源的利用率。请分别指出先来先服务、最短作业优先、I/O量大与CPU量大的作业搭配3种调度算法,体现了那种选择作业的原则?
8.假定待处理的三个作业的到达时间和运行时间如下,若采用调度算法①、②、③,这些
作业的平均周转时间是多少?
②SJF;
③考虑一下如何改善SJF的性能,并计算新方法的平均周转时间?
9.假定要在一台处理机上执行下列作业:
⑴给出Gantt图来说明分别使用FCFS,RR(时间片=1),SJF以及非抢占优先调度算
法时这些作业的执行情况;(注:Gantt 图是描述进程/作业执行情况的一种直观形式,它展示了作业/进程执行过程中瞬时段或时间片的变化分布情况。)
⑵针对上述每一调度算法,给出每个作业的周转时间;
⑶就上述每一调度算法,求出每个作业相应的等待时间;
10.设有5个就绪进程,它们的本次CPU周期的长度、初始优先数及进入就绪队列的相对时
刻如下所示:
待时间、平均周转时间和平均带权周转时间。
⑴非剥夺的静态设置方式;
⑵剥夺式的动态设置方式,不妨设现行进程每连续执行12ms后,其优先数加1(即优
先级降低),而就绪进程每40ms后,其优先数减1。
11.有3道作业构成如下,它们在一个系统中运行,该系统有输入/输出设备各一台。
A进程:输入32s,计算8s,输出5s
B进程:输入21s,计算14s,输出35s
C进程:输入12s,计算32s,输出15s
问⑴3道程序顺序执行时最短需要多少时间?
⑵为了充分发挥各设备效能,3道程序并发执行最短需要多少时间?(不计系统开销时
间)
12.在一个实时系统中,有两个周期性实时任务A和B,任务A要求每40 ms执行一次,执
行时间为20 ms;任务B要求每100ms执行一次,执行时间为50 ms。请参考课堂相关知识画出在200ms时间内,任务A和B调度情况示意图。并标出任务A和B每一次执行的时间。
习题解答:
1.解:下面我们用一张表帮助理解
FCFS算法的调度顺序为:1→2→3→4。
SJF算法的调度顺序为:1→3→4→2。
HRN算法的调度顺序为:1→3→2→4。
2.答:多级反馈队列是综合了FCFS、RR、HPF三种算法的一种剥夺式的调度算法,它
根据进程运行情况的反馈信息动态地改变进程的优先级,按优先级级别组织设置各就绪队列,并规定各就绪队列不同的CPU时间片,对同一队列中的各就绪进程按FCFS或RR 算法调度,因而能较好地满足各种用户的需要。
3.解:
4.解:
5.答:对于批处理系统主要以作业的平均周转时间或平均带权周转时间来衡量调度策略的
优劣;而对于分时系统,除了要保证系统的吞吐量大、资源利用率高之外,还应保证用户能容忍的响应时间;实时系统的主要标志则是满足用户要求的时限(截止)时间。
6.答:无限期封锁也叫饥饿(starvation),即一个具有低优先级的进程决无运行的机会。
当CPU接连不断地被较高优先级的作业占用时就可能出现这样的情况。
7.答:系统的吞吐量大是最短作业优先算法,因为SJF使作业的平均周转时间有明显的改
善,从而使系统在单位时间内处理的作业数增多。对用户公平合理是先来先服务算法。
因为对用户按照作业进入输入井时间的先后调度,先来先服务,对每个用户都是公平的。
发挥系统资源的利用率是I/O量大与CPU量大的作业搭配算法。因为这种算法使I/O与CPU设备都忙碌,并行性好,系统的效率高。
8.答:①FCFS: 10.53 ((8-0)+(12-0.4)+(13-1))/3 注意:应减去达到时间。
②SJF: 9.53
③分析:由于我们事先并不知道两个较短的作业将很快到达,所以在时刻0,我们
选择了作业1。如果让CPU在第一个时间单位空闲,然后使用SJF调度策略,该算法称为“未来知识调度算法FKS”。当然在本例中,由于作业1和2在空闲时间处于等待状态,它们的等待时间会增加。
FKS:6.86 ((2-1)+(6-0.4)+(14-0))/3=6.86
9.解:
①执行情况的Gantt 图如下所示:
(注:等待时间指作业在就绪队列中等待所花费的时间,但有些书等待时间指的是进程从进入就绪队列到获得 CPU 时所经历的时间,这样对于RR 的等待时间就有两种不同的答案。)
④SJF 具有最小平均等待时间。
10. 解:⑴ 执行情况如下:
60 62
平均等待时间W=(4+0+52+60+(36-16))/5=27.2(ms) 平均周转时间T=(36+4+60+62+(52-16))/5=39.6(ms) 平均带权周转时间T’=8.575(ms)
⑵ 执行情况如下:
62
平均等待时间W=((4+38)+0+32+40+0)/5=22.8(ms) 平均周转时间T=(62+4+40+42+(32-16))/5=32.8(ms) 平均带权周转时间T’=5.99(ms) (分析:当进程P5于相对时刻16ms 进入就绪队列时,因其优先数小于现行进程P1的优先数,故进程剥夺,同时P1因连续执行了12ms 而优先数被加1;在P5和P3相继执行完后,P4因己连续等待40ms ,故其优先数被减1,此时P4的优先数小于P1的优先数,于是P4先于P1执行。)
11. 解:⑴3道程序顺序执行时最短需要 32+8+5+21+14+35+12+32+15=174(s )。
⑵3道程序并发执行最短需要21+14+35+15+5=90(s )。
A
C
B