.
第三章部分习题答案
1、高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
答:高级调度主要任务是根据某种算法,把外存上处于后备队列中的那些作业调入内存,也就是说高级调度的调度对象是作业。 低级调度主要任务是:决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作。
中级调度的任务:使那些暂时不能运行的进程不再占用宝贵的内存资源,而将它们调至外存上去等待,把此时的进程状态称为就绪驻外存状态或挂起状态。当这些进程重又具备运行条件且内存又稍有空闲时,由中级调度来决定把外存上的那些又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进程调度。引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。
2、何谓作业、作业步和作业流?
答:作业(Job):作业是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。
作业步(Job Step)。通常,在作业运行期间,每个作业都必须经过若干个相对独立,又相互关联的顺序加工步骤才能得到结果,我们把其中
精品
.
的每一个加工步骤称为一个作业步,各作业步之间存在着相互联系,往往是把上一个作业步的输出作为下一个作业步的输入。
作业流:若干个作业进入系统后,被依次存放在外存上,这便形成了输入的作业流;在操作系统的控制下,逐个作业进行处理,于是便形成了处理作业流。
5、试说明低级调度的主要功能。 答:(1) 保存处理机的现场信息。 (2) 按某种算法选取进程。 (3) 把处理器分配给进程。
6、在抢占调度方式中,抢占的原则是什么? 答:(1) 优先权原则。
(2) 短作业(进程)优先原则。 (3) 时间片原则。
7、在选择调度方式和调度算法时,应遵循的准则是什么? 答:面向用户应遵循的准则是:(1) 周转时间短。(2) 响应时间快。(3) 截止时间的保证。(4) 优先权准则。
面向系统应遵循的准则是:(1) 系统吞吐量高。(2) 处理机利用率好。(3) 各类资源的平衡利用。
精品
.
9、何谓静态和动态优先级?确定静态优先级的依据是什么? 答:静态优先级:静态优先权是在创建进程时确定的,且在进程的整个运行期间保持不变。
动态优先级:动态优先权是指在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。
确定静态优先级的依据是: (1) 进程类型。(2) 进程对资源的需求。 (3) 用户要求。
10、试比较FCFS和SPF两种进程调度算法。
答:FCFS算法是先来先服务算法:该算法FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。有利于CPU繁忙型的作业(进程),而不利于I/O繁忙型的作业(进程)。
短进程优先调度算法SPF,是指对短进程优先调度的算法。与FCFS算法相比,SPF调度算法能有效地降低作业的平均等待时间,提高系统吞吐量。 SPF算法的缺点:(1) 该算法对长作业不利。(2) 该算法完全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理。(3) 由于作业(进程)的长短只是根据用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度。
精品
.
11、在时间片轮转法中,应如何确定时间片的大小?
答:在时间片轮转算法中,时间片的大小对系统性能有很大的影响,如选择很小的时间片将有利于短作业,因为它能较快地完成,但会频繁地发生中断、进程上下文的切换,从而增加系统的开销; 反之,如选择太长的时间片,使得每个进程都能在一个时间片内完成,时间片轮转算法便退化为FCFS算法,无法满足交互式用户的需求。 一个较为可取的大小是,时间片略大于一次典型的交互所需要的时间。这样可使大多数进程在一个时间片内完成。
17、什么是最低松弛度优先调度算法?
答:该算法是根据任务紧急(或松弛)的程度,来确定任务的优先级。任务的紧急程度愈高,为该任务所赋予的优先级就愈高,以使之优先执行。
18、何谓死锁?产生死锁的原因和必要条件是什么?
答:死锁:是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。
产生死锁的原因:(1) 竞争资源。(2) 进程间推进顺序非法。 产生死锁的必要条件:(1) 互斥条件;(2) 请求和保持条件;(3) 不剥
精品
.
夺条件;(4) 环路等待条件。
19、在解决死锁问题的几个方法中,哪种方法最易于实现?那种方法使资源利用率最高?
答:(1) 预防死锁。该方法是通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或几个条件,来预防发生死锁。预防死锁是一种较易实现的方法,已被广泛使用。但由于所施加的限制条件往往太严格,因而可能会导致系统资源利用率和系统吞吐量降低。 (2)死锁的检测和解除措施有可能使系统获得较好的资源利用率和吞吐量,但在实现上难度也最大。
33、在银行家算法中,若出现下述资源分配情况: Process P0 P1 P2 P3 P4 Allocation 0032 1000 1354 0332 0014 Need 0012 1750 2356 0652 0656 Available 1622 试问:(1)该状态是否安全?
(2)若进程P2 提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
精品
.
答:(1)安全。原因见下表: P0 P3 P1 P2 P4 Work 1622 1654 1986 2986 Need Allocation 0012 0032 0652 0332 1750 1000 2356 1354 Work+Allocation Finish 1654 1986 2986 3 12 13 10 3 12 14 14 True True True True True 3 12 13 10 0656 0014 (2) 若进程P2 提出请求Request(1,2,2,2)后,系统不能将资源分配给它。因为系统将资源分配给它后,系统所剩余空闲资源为0400,而各进程的需求为: Process P0 P1 P2 P3 P4 Need 0012 1750 1133 0652 0656 由上表可见,系统剩余空闲资源不能满足任何进程,也就是系统将进入不安全状态。
精品