当前位置:文档之家› 第3章死锁习题及答案

第3章死锁习题及答案

第3章死锁习题及答案
第3章死锁习题及答案

第三章死锁习题

一、填空题

1.进程的“同步”和“互斥”反映了进程间①和②的关系。

【答案】①直接制约、②间接制约

【解析】进程的同步是指在异步环境下的并发进程因直接制约而互相发送消息,进行相互合作、相互等待,使得各进程按一定的速度执行的过程;而进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约。

2.死锁产生的原因是①和②。

【答案】①系统资源不足、②进程推进路径非法

【解析】死锁产生的根本原因是系统的资源不足而引发了并发进程之间的资源竞争。由于资源总是有限的,我们不可能为所有要求资源的进程无限地提供资源。而另一个原因是操作系统应用的动态分配系统各种资源的策略不当,造成并发进程联合推进的路径进入进程相互封锁的危险区。所以,采用适当的资源分配算法,来达到消除死锁的目的是操作系统主要研究的课题之一。

3.产生死锁的四个必要条件是①、②、③、④。

【答案】①互斥条件、②非抢占条件、③占有且等待资源条件、④循环等待条件

【解析】

互斥条件:进程对它所需的资源进行排它性控制,即在一段时间内,某资源为一进程所独占。

非抢占条件:进程所获得的资源在未使用完毕之前,不能被其它进程强行夺走,即只能由获得资源的进程自己释放。

占有且等待资源条件:进程每次申请它所需的一部分资源,在等待新资源的同时,继续占有已分配到的资源,

循环等待条件:存在一进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。

4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。

【答案】①资源,②队列,③P-V

【解析】信号量的概念和P-V原语是荷兰科学家E.W.Dijkstra提出来的。信号量是一个特殊的整型量,它与一个初始状态为空的队列相联系。信号量代表了资源的实体,操作系统利用它的状态对并发进程共享资源进行管理。信号量的值只能由P-V原语来改变。

5.每执行一次P原语,信号量的数值S减1。如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。

【答案】①继续执行,②阻塞(等待),③信号量,④阻塞(等待)

【解析】从物理概念上讲,S>0时的数值表示某类资源可用的数量。执行一次P原语,意味着请求分配一个单位的资源,因此描述为S=S-1。当S<0时,表示已无资源,这时请求资源的进程将被阻塞,把它排在信号量S的等待队列中。此时,S的绝对值等于信号量队列上的阻塞的进程数目。

6.每执行一次V原语,信号量的数值S加1。如果①,Q进程继续执行;如果S<=0,则从对应的②队列中移出一个进程R,该进程状态变为③。

【答案】①S>0,②等待,③就绪

【解析】执行一次V原语,意味着释放一个单位的资源。因此,描述为S=S+1。当S<0时,表示信号量请求队列中仍然有因请求该资源而被阻塞的进程。因此,应将信号量对应的阻塞队列中的第一个进程唤醒,使之转至就绪队列。

7.利用信号量实现进程的①,应为临界区设置一个信号量mutex。其初值为②,表示该资源尚未使用,临界区应置于③和④原语之间。

【答案】①互斥,②1,③P(mutex),④V(mutex)

【解析】一次仅允许一个进程使用的资源称为临界资源,对临界资源实施操作的那段程序称为临界区。对于具有临界区问题的并发进程,它们之间必须互斥,以保证不同时进入临界区。利用信号量和P-V原语能方便地解决临界区问题。mutex为互斥公用信号量,初值为1,临界区的代码被置于P(mutex)、V(mutex)原语之间时,任何欲进入临界区的进程,必须在公用信号量mutex上执行P原语,在完成对临界资源的访问后再执行V原语。由于mutex初值为1,当第一个进程执行P原语后减为0,表示临界资源空闲,可分配给该进程使之进入临界区,在第一个进程没有退出临界区之前,若此时第二个进程想进入临界区,也应先执行P原语。而结果是mutex变为负值,就意味着临界资源已被占用,因此,第二个进程被阻塞。直到第一个进程执行V原语,释放该临界资源mutex到0后,方可唤醒第二个进程,使之进入临界区,待它完成对临界资源的访问后,又执行V原语,使mutex恢复到初始值。

8.在多道环境下,由于进程的并发执行,一段程序为多个进程①时,要求在执行的过程中,该段程序的指令和数据不能被②,这样的程序段称为③。

【答案】①共享,②修改,③纯过程(或共享程序段)

【解析】在多道环境下,常常有许多于程序和应用程序是被多个用户所共用的,为了充分提高内存的利用率,把这些共享的程序和数据在内存只保留一个副本,这就要求这些程序和数据不能被修改。

二、单项选择题

1.在非剥夺调度方式下,运行进程执行V原语之后,其状态。

(A)不变(B)要变

(C)可能要变(D)可能不变

【答案】(A)

【解析】进程的调度方式有两种;剥夺和非剥夺方式。在剥夺方式下,一旦有优先级高于当前执行进程优先级的进程存在时,便立即发生进程调度,转让处理机。而非剥夺方式是即使在就绪队列中有优先级高于当前执行进程的进程存在,当前进程仍将继续占有处理机,直到由于该进程自己的原因而让出处理机。

2.两个进程争夺同一个资源。

(A)一定死锁(B)不一定死锁

(C)不死锁(D)以上说法都不对

【答案】(B)

【解析】这和它们申请资源的顺序有关。

3.①是一种只能由P操作和V操作进行访问的特殊变量,可以用来实现异步并行进程间的②以排它地访问共享数据,还可以用来实现③,实现进程间在逻辑上的相互制约关系。

(A)调度(B)类程(C)进程(D)互斥

(E)信号量(F)控制变量(G)同步(H)共享变量

(I)规程(J)分配

【答案】①(E)②(D)③(G)

4.可以被多个进程在任一时刻共享的代码必须是。

(A)不能自身修改的纯码(B)顺序代码

(C)无转移指令的代码(D)汇编语言编制的代码

【答案】(A)

【解析】规定共享代码必须是不自身修改的纯码,主要是为了保证程序执行的正确性。

5.当对信号量进行V原操作之后,。

(A)当S<0,进程继续执行

(B)当S>0,要唤醒一个就绪进程

(C)当S<=0,要唤醒一个等待进程

(D)当S<=0,要唤醒一个就绪进程

【答案】(C)

【解析】V操作的物理含义是回收释放的一个资源,即信号量的值加1。在这个过程中,如果信号量的值大于0,表明系统没有其他进程正在等待使用该资源,该进程继续执行或转进程调度,这取决于进程调度采用的方式。如果信号量的值小于或等于0,说明有进程曾经因申请该资源且为得到满足而处于该资源对应的等待队列中,现在释放一个资源就应从该资源的等待队列中唤醒一个进程,使之变为就绪状态。

6.在下列叙述中,错误的一条是。

(A)进程被撤消时,只需释放该进程的PCB就可以了,因为PCB是进程存在的唯一标志

(B)进程的互斥和同步都能用P/V原语实现

(C)用户程序中执行系统调用命令时,处理机的状态字将发生改变

(D)设备独立性是指用户在编程时,所使用的设备与实际设备无关

【答案】(A)

【解析】进程不仅要释放PCB结构,也要释放它所占有的所有资源;而且,当一个祖先进程撤消某个子进程时,还需要审查该子进程是否还有自己的子孙进程,若有的话,还需撤消某个子进程的PCB结构和释放它们所占有的资源。因此,叙述(A)是错误的。

把并发进程的同步和互斥问题一般化,可以得到一个抽象的一般模型,即生产者/消费者问题。叙述(B)正确。

处理机的状态将从目态转换到管态。叙述(C)正确。

用户编程所使用的设备称为逻辑设备,而逻辑设备与物理设备的对应由操作系统的设备管理程序完成。叙述(D)正确。

7.正在运行的进程在信号量S上作P操作之后,当S<0,进程将进入信号量的。

(A)等待队列(B)提交队列

(C)后备队列(D)就绪队列

【答案】(A)

【解析】执行一次P操作意味着申请一个资源,即信号量S—1。如果S<0,表明该资源已经没有了,该进程只能等待,所以,此时进程的状态从运行变为等待,并插入到该信号量的等待队列中。

8.如果发现系统有的进程队列就说明系统有可能发生死锁了。

(A)互斥(B)可剥夺

(C)循环等待(D)同步

【答案】(C)

9.某个信号量S初值为3,当前值为-2,则等待在该信号量上的进程数为个。

(A)1(B)2

(C)3(D)5

【答案】(B)

【解析】等待在该信号量上的进程数与信号量的初值无关。

S>0时,S表示可使用的资源数;或表示可使用资源的进程数。

S=0时,表示无资源可供使用;但也没有进程等待该类资源。

S<0时,|S|表示等待使用资源的进程个数;或表示等待进入临界区的进程个数。

10.预先静态分配法是通过破坏条件,来达到预防死锁目的的。

(A)互斥使用资源/循环等待资源

(B)非抢占式分配/互斥使用资源

(C) 占有且等待资源/循环等待资源

(D)循环等待资源/互斥使用资源

【答案】(C)

【解析】预先静态分配法,这是针对“占有且等待资源”、“循环等待资源”这两个条件提出的的策略。要求每一个进程在开始执行前就申请它所需要的全部资源,仅当系统能满足进程的资源要求且把资源分配给进程后,该进程才能开始执行。

这个策略毫无疑问能够防止死锁的发生,因为这样做破坏了以上两个条件。

11.设系统中有N(N>2)个进程,则系统中最不可能的是有个进程处于死锁状态。

(A)0 (B)1

(C)2 (D)M(2<M<=N)

【答案】(B)

【解析】所谓死锁是指计算机系统和进程所处的一种状态,在系统中,两个或多个进程无限期地等待永远不会发生的条件,我们称此系统处于死锁状态。

三、多项选择题

1.造成死锁的原因是_________。

(A)内存容量太小(B)系统进程数量太多,系统资源分配不当

(C)CPU速度太慢(D)进程推进顺序不合适

(E)外存容量太小

【答案】BD

【解析】所谓死锁是指计算机系统和进程所处的一种状态,在系统中,两个或多个进程无限期地等待永远不会发生的条件,我们称此系统处于死锁状态。产生死锁的原因一是系统进程数量太多,系统资源分配不当;二是进程推进顺序不合适。

死锁的发生与内存容量、外存容量、CPU速度无关。

所以,应该选择(B)、(D)。

2.下列叙述正确的是_________。

(A)对临界资源应采取互斥访问方式来实现共享

(B)进程的并发执行会破坏程序的“封闭性”

(C)进程的并发执行会破坏程序的“可再现性”

(D)进程的并发执行就是多个进程同时占有CPU

(E)系统死锁就是程序处于死循环

【答案】ABC

【解析】进程的顺序性是指进程在处理器上的执行是按照程序规定的顺序,只有在前一个操作结束后才能开始下一个操作。

当一个进程独占处理器顺序执行时,具有两个特性:

(1)封闭性——进程执行的结果与其执行速度无关,只取决于进程本身。

(2)可再现性——只要初始条件相同,无论进程在什么时间执行都产生相同的结果。

在多道程序设计系统中同时存在着许多进程,在单处理器的情况下,一个进程的工作没有全部完成之前,另一个进程就可开始工作,这些可同时(交替)执行的进程具有并发性,把可同时执行的进程称为“并发进程”。

并发进程相互之间可能是无关的、各自独立的,而有些并发进程相互之间是有交往的,这些进程并发执行时,执行结果与其执行的相对速度有关,因而,进程的并发执行会破坏“封闭性”和“可再现性”。

所以,本题应该选择(A)、(B)、(C)。

3.通常不采用_________方法来解除死锁。

(A)终止一个死锁进程(B)终止所有死锁进程

(C)从死锁进程处抢夺资源(D)从非死锁进程处抢夺资源

(E)终止系统所有进程

【答案】DE

【解析】系统死锁后可采用抢夺这些进程占用的资源,或强迫死锁进程结束等办法来解除死锁。一般不会采用“从非死锁进程处抢夺资源”和“终止系统所有进程”的办法。因此,应该选择(D)、(E)。

4.在多进程的并发系统中,有关进程间的关系的正确说法是_________。

(A)都是逻辑上无关的(B)有些可能逻辑上无关的

(C)都是逻辑上有关的(D)有些可能逻辑上有关的

(E)它们之间都直接或间接发生关系

【答案】BDE

【解析】在多进程的并发系统中,进程间有些可能逻辑上无关,而有些可能逻辑上相关,但由于,它们之间的并行运行,它们之间都直接或间接的发生关系。因此,应该选择(B)、

(D)、(E)。

5.通常使用的死锁防止策略有_________。

(A)动态分配资源(B)静态分配资源

(C)按序分配资源(D)非剥夺式分配资源

(E)剥夺式分配资源

【答案】BCE

【解析】通常使用的死锁防止策略有:

(1)静态分配资源。静态分配资源是指进程必须在开始执行前就申请它所要的全部资源,仅当系统能满足进程的资源申请要求且把资源分配给进程后,该进程才开始执行。即使得四个必要条件中的“占有并等待资源”和“循环等待资源”两个条件不成立,从而防止死锁的发生。

静态分配资源的策略实现起来简单,但却降低了资源的利用率。

(2)按序分配资源。对系统中每一个资源给出一个编号,规定任何一个进程申请两个以上资源时,总是先申请编号小的资源,再申请编号大的资源。按这种策略分配资源可破坏“循环等待资源”的条件,达到防止死锁的目的。

(3)剥夺式分配资源。剥夺式分配策略是当一个进程申请资源得不到满足时则可从另一个进程那里去抢夺。但这种分配策略只适用于对处理器和主存资源的分配,显然这种分配策略是破坏了非抢占条件以防止死锁的发生。

因此,应该选择(B)、(C)、(E)。

四、是非判断题

1.消息缓冲机制中,发送进程和接收进程之间存在有用来存放被传送消息的缓冲区,所以,它们之间存在对临界资源的使用问题。()

【答案】正确。

【解析】使用消息缓冲机制传送数据时,这两个通信进程必须满足如下条件:

a.在发送进程把消息写入缓冲区和把缓冲区挂入消息队列时,应禁止其他进程对该缓冲区消息队列的访问。同理,当接收进程正从消息队列中取消息缓冲时,也应禁止其他进程对该队列的访问。

b当缓冲区中无消息时,接收进程不能接收到消息。

2.假设二个进程的同步算法如下:

设初值s1=1,s2=n,s3=0

进程1 进程2

p(s2)p(s3)

p(sl)p(s1)

… …

v(s2)v(s3)

v(sl)v(sl)

在上述同步算法中,PV原语的顺序都可颠倒。()

【答案】错误。

【解析】V原语的顺序可以颠倒,而P原语的顺序不能随便颠倒,如果颠倒了,可能会引起进程发生死锁。例如,进程1中p(s2)和p(s1)的顺序颠倒了,当某个时刻s2=0时,此时两个进程就发生死锁。

3.信号量作为一种资源对其操作不当,可造成系统的死锁。()【答案】正确

【解析】下面的例子就说明了此问题:

假设二个进程的同步算法如下:

设初值s1=1,s2=0,s3=1

进程1 进程2

p(s1)p(s3)

p(s2)p(s1)

… …

v(s2)v(s3)

v(sl)v(sl)

在该同步算法中,可能会引起进程发生死锁。例如,当某个时刻s2=0时,进程1首先执行p(s1)和p(s2),则进程1变为等待状态;进程2一旦执行p(s3),再执行p(s1),进程2也将变为等待状态,此时两个进程就发生死锁。

五、简答题

4.如果一个生产者和一个消费者他们共享的缓冲器(B)容量为可以存放n件物品,如何用PV操作来实现他们正确地同步。

【解析】

设信号量empty(表示缓冲器中可存放多少件物品)的初值为n, 信号量full(表示缓冲器中存有几件物品)的初值为0。当缓冲器中没有放满n件物品时,生产者调用P(empty)都不会成为等待状态而可把物品存入缓冲器。但当缓冲器中已经有n件物品,生产者想再存入一件物品将被拒绝。每存入一件物品后,由于调用V(full),故empty的值表示缓冲器中可用的物品数,只要full>0,消费者调用P(full)后总可去取物品。每取走一件物品后,由于调用V(empty),便增加了一个可用来存放物品的位置。用指针k和t分别指示生产者往缓冲器存物品和消费者从缓冲器中取物品的相对位置,它们的初值为0,那么,一个生产者和一个消费者共用容量为n的缓冲器时,可如下进行同步工作:

设信号量empty,full,初值为empty=n,full=0;整型变量k,t,初值k=t=0。

生产者进程:

begin

L1:produce a product;

P(empty);

B[k]:=product;

k:=(k十1)mod n;

V(full);

go to L1

end;

消费者进程:

begin

L2:P(full);

take a product from B[t];

t:=(t+1)mod n;

V(empty);

consume;

go to L2

end

2.死锁发生的必要条件有哪些?

【解析】

发生死锁的必要条件有四点:互斥条件、不可抢占条件、部分分配条件和循环等待条件。

(1)互斥条件:系统中存在一个资源一次只能被一个进程所使用;

(2)非抢占条件:系统中存在一个资源仅能被占有它的进程所释放,而不能被别的进程强行抢占;

(3)占有且等待条件:系统中存在一个进程已占有了分给它的资源,但仍然等待其它资源;

(4)循环等待条件:在系统中存在一个由若干进程形成的环形请求链,其中的每一个进程均占有若干种资源中的某一种,同时每一个进程还要求(链上)下一个进程所占有的资

源。

3.现有四个进程:R1,R2,W1和W2,它们共享可以存放一个数的缓冲区B。进程R1每次把从键盘上读入的一个数存到缓冲区B中,供进程W1打印输出;进程R2每次把从磁盘上读一个数存放到缓冲区B中,供进程W2打印输出。怎样用P、V操作协调四个并发进程的工作。

【解析】

设信号量e,f1,f2;

其初值分别为e=1,f1=0,f2=0

R1:R2:

L:

P(e)

从键盘上读入的一个数存到缓冲区B中

V(f1)

Goto L L:

P(e)

从键盘上读入的一个数存到缓冲区B中

V(f2)

Goto L

W1:W2:

L:

P(f1)

将缓冲区B中的数据打印输出

V(e)

Goto L L:

P(f2)

将缓冲区B中的数据打印输出

V(e)

goto L

六、综合应用题

1.设有3个并发执行的进程:输入进程Pi、计算进程Pc和输出进程Po。其中进程Pi不断地从键盘读入整数,放入缓冲区Buf1,Pc按输入顺序从Buf1中取数据,每次取出2个整数,计算其和,将结果放入缓冲区Buf2。Po负责将Buf2中的数据按顺序输出。设缓冲区Buf1、Buf2可存放的整数个数分别为m、n(m、n>0)。要求利用信号量的P、V操作写出进程Pi、Pc、Po的算法。

【参考答案】

设信号量e1,f1,e2,f2,其初值分别为:e1=m,f1=0,e2=n,f2=0

2.今有3个并发进程R、M、P,它们共享一个缓冲器B。进程R负责向B中输入数据;进程R每输入一数据,进程M对其进行加工;进程M加工完成后,进程P负责打印输出。缓冲器B中每次只能存放一个数据,数据一旦被打印,进程R又可存放下一个数据,……。它们之间的关系如图所示。

用PV操作机制进行控制,写出三个进程的工作流程。

【参考答案】

设信号量e,f1,f2:semaphore;

操作系统死锁习题集

死锁习题 一、填空题 2.死锁产生的原因是。 3.产生死锁的四个必要条件是、、、。 二、单项选择题 1.两个进程争夺同一个资源。 (A)一定死锁(B)不一定死锁 (C)不死锁(D)以上说法都不对 4.如果发现系统有的进程队

列就说明系统有可能发生死锁了。 (A)互斥(B)可剥夺 (C)循环等待(D)同步 5.预先静态分配法是通过破坏条件,来达到预防死锁目的的。 (A)互斥使用资源/循环等待资源 (B)非抢占式分配/互斥使用资源 (C) 占有且等待资源/循环等待资源 (D)循环等待资源/互斥使用资源 7.下列关于死锁的说法中,正确的是? 1)有环必死锁; 2)死锁必有环; 3)有环无死锁; 4)死锁也无环 8.资源有序分配法的目的是? 1)死锁预防; 2)死锁避免; 3)死锁检测; 4)死锁解除 8.死锁的预防方法中,不太可能的一种方法使()。

A 摈弃互斥条件 B 摈弃请求和保持条件 C 摈弃不剥夺条件 D 摈弃环路等待条件 10. 资源的按序分配策略可以破坏()条件。 A 互斥使用资源 B 占有且等待资源 C 不可剥夺资源 D 环路等待资源 三、多项选择题 1.造成死锁的原因是_________。 (A)内存容量太小(B)系统进程数量太多,系统资源分配不当 (C)CPU速度太慢(D)进程推进顺序不合适 (E)外存容量太小 2.下列叙述正确的是_________。 (A)对临界资源应采取互斥访问方式来实现共享 (B)进程的并发执行会破坏程序的“封

闭性” (C)进程的并发执行会破坏程序的“可再现性” (D)进程的并发执行就是多个进程同时占有CPU (E)系统死锁就是程序处于死循环3.通常不采用_________方法来解除死锁。 (A)终止一个死锁进程(B)终止所有死锁进程 (C)从死锁进程处抢夺资源(D)从非死锁进程处抢夺资源 (E)终止系统所有进程 5.通常使用的死锁防止策略有_________。 (A)动态分配资源(B)静态分配资源 (C)按序分配资源(D)非剥夺式分配资源 (E)剥夺式分配资源 四、名词解释 1死锁

操作系统第3章练习题

第3章处理机调度与死锁 3.1 典型例题解析 【例1】(1)3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问系统是否会因为竞争该资源而死锁?(2)n个进程共享m个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于m+n。说明该系统不会因竞争该类资源而阻塞。(3)在(2)中,如果没有“每个进程都需要用该类资源”的限制,情况又会如何?(西北工业大学2000年考题) 答:(1)该系统不会因为竞争该类资源而死锁。因为,必有一个进程可获得2个资源,故能顺利完成,并释放出其所占用的2个资源给其他进程使用,使它们也顺利完成。 (2)用Max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知: need(i)>0(对所有的i) max(1)+…max(i)+…+max(n)

计算机操作系统(习题集)第三章_答案

第三章处理机调度与死锁 一、单项选择题 1、操作系统中的作业管理是一种(A )。 A.宏观的高级管理 B.宏观的低级管理 C.系统刚开始加电 D.初始化引导完成 2、作业调度又称为[1A],它决定将哪些在外存储器上的处于[2D]状态的作业调入主机内存。 系统经作业调度程序选中一个或多个作业后,就为它们分配必要的内存、设备及软资源。然后控制权就交给了[3B],由[3]将它们变为一个或一组[4C],并[5A]。 供选择的答案: [1]:A、高级调度B、低级调度C、中级调度 D、进程调度 [2]:A、就绪B、阻塞C、提交D、后备 [3]:A、存储管理模块B、处理机管理模块C、文件管理模块D、设备管理模块 [4]:A、指令B、子程序C、进程D、程序段 [5]:A、把它们挂到就绪队列上B、为它们分配处理机 C、把它们挂到后备队列上 D、为它们分配设备 3、处于后备状态的作业存放在(A )中。

A.外存 B.内存 C.A和B D.扩展内存 4、在操作系统中,JCB是指(A )。 A.作业控制块 B.进程控制块 C.文件控制块 D.程序控制块 5、作业在系统中存在与否的唯一标志是(C)。 A.源程序 B.作业说明书 C.作业控制块 D.目的程序 6、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指(A)调度算法。 A.先来先服务法 B. 短作业优先法 C.时间片轮转法 D. 优先级法 7、在批处理系统中,周转时间是(B )。 A.作业运行时间 B.作业等待时间和运行时间之和 C.作业的相对等待时间 D.作业被调度进入内存到运行完毕的时间 8、为了对紧急进程或重要进程进行调度,调度算法应采用(B)。 A.先来先服务法 B. 优先级法 C.短作业优先法 D. 时间片轮转法 9、操作系统中,(A)负责对进程进行调度。 A.处理机管理 B. 作业管理 C.高级调度管理 D. 存储和设备管理

《操作系统》习题集参考答案:第6章 死锁

第6章死锁-习题集 一、选择题 1. C 2. C 3. C 4. C //产生死锁的原因是系统资源不足及进程推进顺序不正确 5. B 6. D 7. B 8. C 9. C 10. D //有序资源分配法的实现思想是将系统中的所有资源都按类型赋予一个编号(如打 印机1,磁带机为2等),要求每一个进程均严格按照编号递增的次序来申请资源,同类资源一次申请完。这样不会造成循环等待。 11. A //互斥条件是资源本身固有的特性。 12. B //当每个都获得2台打印机且系统中剩余打印机不少于1台时,系统不会发生死锁, 即11-2N>=1,由此知N<=5。 //本注: N=1,空闲11-3*1=8,不死锁 N=2,空闲11-3*2=5,不死锁 N=3,空闲11-3*3=2,不死锁 N=4,每个2台,空闲11-2*4=3,不死锁 N=5,每个2台,空闲11-2*5=1,不死锁 N=6,5个进程2台,1个进程1台,无空闲,死锁! 13. C //同上例。8-2K>=1,K<=3.5,向上取整为4。 14. B 15. B

16. B //本注:破坏了死锁必要条件“环循等待”,属于“死锁预防” 17. C 18. D //本注:P2和P3无法满足资源需要,都需资源R2三个。 二、综合应用题 1.所谓死锁是指多个进程因竞争系统资源或相互通信而处于永久阻塞状态,若无外力作 用,这些进程都将无法向前推进。 产生死锁的原因是:一是由多进程共享的资源不足而引起竞争资源;二是由于进程在运行过程中具有异步性,进程推进顺序非法。 2.必要条件如下: ●互斥条件。指在一段时间内某资源仅为一个进程所占有。 ●不剥夺条件。指进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走, 而只能由该进程自己释放。 ●部分已分配条件(Hold and Wait):指进程每次申请它所需要的一部分资源,在等待 分配新资源的同时,进程继续占有已分配到的资源。 ●环路等待条件。指存在一种进程资源的循环等待链,链中每一个进程已获得的资源 同时被链中下一个进程所请求。 解决死锁问题常采用的措施有: ●死锁预防。通过破坏死锁产生的四个必要条件中之一来预防死锁的发生。 ●死锁避免。在资源动态分配进程中,用某种方法防止系统进程不安全状态,从而避 免死锁。 ●死锁的检测及解除。通过系统的检测机构及时地检测出死锁的发生,然后采取某种 措施解除死锁。 3.有可能。例如在系统死锁的状态下,进程处于占有等待资源的状态,应当即不属于运行 态也不属于就绪态,即都处于阻塞状态时。 4.在资源分配系统中,死锁发生的原因是由于多个进程共享有限的独占型资源。当多个进 程占有了部分资源又需要更多的资源时,就可能形成循环等待链而导致死锁。 死锁情况分析:每个进程都占有W-1个资源,需再分配1个资源,为保证不死锁,系统必须至少有一个可分配的资源,取M满足: M>=N(W-1)+1 因此保证系统不发生死锁的最小M什可以从下面公式获得: M=N(W-1)+1 1)2*0+1=1,而M=3,不会死锁 2)2*1+1=3,而M=3,不会死锁 3)2*2+1=5,而M=3,可能死锁。出现死锁情况是:一个进程占有2个资源,另一占 1个资源 4)3*1+1=4,而M=5,不会死锁 5)3*2+1=7,而M=7,可能死锁。出现死锁情况是:3个进程各占2个资源

操作系统死锁练习及答案

死锁练习题 (一)单项选择题 l系统出现死锁的根本原因是( )。A.作业调度不当B.系统中进程太多C.资源的独占性D.资源管理和进程推进顺序都不得当 2.死锁的防止是根据( )采取措施实现的。A.配置足够的系统资源B.使进程的推进顺序合理C.破坏产生死锁的四个必要条件之一D.防止系统进入不安全状态 3.采用按序分配资源的策略可以防止死锁.这是利用了使( )条件不成立。A.互斥使用资源B循环等待资源c.不可抢夺资源D.占有并等待资源 4.可抢夺的资源分配策略可预防死锁,但它只适用于( )。A.打印机B.磁带机c.绘图仪D.主存空间和处理器 5.进程调度算法中的( )属于抢夺式的分配处理器的策略。A.时间片轮转算法B.非抢占式优先数算法c.先来先服务算法D.分级调度算法 6.用银行家算法避免死锁时,检测到( )时才分配资源。A.进程首次申请资源时对资源的最大需求量超过系统现存的资源量B.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量c.进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足尚需的最大资源量D进程已占用的资源数与本次申请的资源数 之和不超过对资源的最大需求量,且现存资源能满足本次申请量,但不能满足尚需的最大资源量 7.实际的操作系统要兼顾资源的使用效率和安全可靠,对资源的分配策略,往往采用( )策略。A死锁的防止B.死锁的避免c.死锁的检测D.死锁的防止、避免和检测的混合(二)填空题 l若系统中存在一种进程,它们中的每一个进程都占有了某种资源而又都在等待其中另一个进程所占用的资源。这种等待永远不能结束,则说明出现了______。2.如果操作系统对 ______或没有顾及进程______可能出现的情况,则就可能形成死锁。3.系统出现死锁的四

第2章 调度与死锁自测题

4.4 调度与死锁自测题 4.4.1 基本题 一、判断题(正确的在括号中记√,错误的记×) 1.死锁就是循环等待。 ( ) 2.最适合分时系统的进程调度算法是优先数法。() 3.不存在只涉及一个进程的死锁。 ( ) 4. 在分时系统中当用户数一定时,影响响应时间的主要因素是调度算法。( ) 5.若系统中每一资源类只有一个,只要系统存在任何环路,系统状态就是不安全的。 ( ) 6.多级反馈调度算法属于抢占调度方式。() 7.死锁是多个进程为竞争系统资源或彼此间通信而引起的一种临时性的阻塞现象。 ( ) 8.在引入线程的系统中进程程调度负责CPU的分配工作。() 9.当进程数大于资源数时,进程竞争资源一定会产生死锁。() 10.实时调度的关键是保证满足实时任务对截止时间的要求。() 1. Χ 2. Χ 3.√ 4. Χ 5.√ 6. √ 7. Χ 8. Χ 9. Χ 10. √ 二、选择题 1.在三种基本类型的操作系统中,都设置了进程调度,在批处理系统中还应设置______调度。 A.作业 B.进程 C.中级 D.多处理机 2.下列算法中,_______只能采用非抢占调度方式。 A.高优先权优先法 B.时间片轮转法 C.FCFS调度算法 D.短作业优先算法 3.下面关于优先权大小的论述中,正确的论述是_____________。 A.计算型作业的优先权,应高于I/O型作业的优先权。 B.用户进程的优先权,应高于系统进程的优先权。 C.资源要求多的作业,其优先权应高于资源要求少的作业。 D.在动态优先权时,随着进程执行时间的增加,其优先权降低。 4.最适合分时系统的进程调度算法是______。 A、FCFS B、SSJF C、优先数法 D、轮转法 5.在分时系统中当用户数一定时,影响响应时间的主要因素是_____。 A、时间片 B、调度算法 C、存储分配方式 D、作业的大小 6.采用“按序分配”策略,可以破坏死锁产生的条件是______。 A、互斥 B、请求和保持 C、非剥夺 D、环路等待 7.下述解决死锁的方法中,属于死锁预防策略的是____________。 A.银行家算法 B.资源有序分配法 C.资源分配图化简法 D.撤消进程法 8.从下面关于安全状态和非安全状态的论述中,正确的论述是________。 A.安全状态是没有死锁的状态,非去全状态是有死锁的状态。 B.安全状态是可能有死锁的状态,非安全状态也是可能有死锁的状态。 C.安全状态是可能没有死锁的状态,非安全状态是有死锁的状态。 D.安全状态是没有死锁的状态,非安全状态是可能有死锁的状态。 9.关于产生死锁的现象,下面的描述最准确是__________。 A.每个进程共享某一个资源 B.每个进程竞争某一个资源 C.每个进程等待着某一个不能得到且不可释放的资源

《操作系统原理》5资源管理(死锁)习题

第五章死锁练习题 (一)单项选择题 1.系统出现死锁的根本原因是( )。 A.作业调度不当B.系统中进程太多C.资源的独占性D.资源管理和进程推进顺序都不得当 2.死锁的防止是根据( )采取措施实现的。 A.配置足够的系统资源B.使进程的推进顺序合理 C.破坏产生死锁的四个必要条件之一D.防止系统进入不安全状态 3.采用按序分配资源的策略可以防止死锁.这是利用了使( )条件不成立。 A.互斥使用资源B循环等待资源C.不可抢夺资源D.占有并等待资源 4.可抢夺的资源分配策略可预防死锁,但它只适用于( )。 A.打印机B.磁带机C.绘图仪D.主存空间和处理器 5.进程调度算法中的( )属于抢夺式的分配处理器的策略。 A.时间片轮转算法B.非抢占式优先数算法C.先来先服务算法D.分级调度算法 6.用银行家算法避免死锁时,检测到( )时才分配资源。 A.进程首次申请资源时对资源的最大需求量超过系统现存的资源量 B.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量 C.进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足尚需的最大资源量 D进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足本次申请量,但不能满足尚需的最大资源量 7.实际的操作系统要兼顾资源的使用效率和安全可靠,对资源的分配策略,往往采用( )策略。 A死锁的防止B.死锁的避免C.死锁的检测D.死锁的防止、避免和检测的混合 (二)填空题 1.若系统中存在一种进程,它们中的每一个进程都占有了某种资源而又都在等待其中另一个进程所占用的资源。这种等待永远不能结束,则说明出现了______。 2.如果操作系统对______或没有顾及进程______可能出现的情况,则就可能形成死锁。 3.系统出现死锁的四个必要条件是:互斥使用资源,______,不可抢夺资源和______。 4.如果进程申请一个某类资源时,可以把该类资源中的任意一个空闲资源分配给进程,则说该类资源中的所有资源是______。 5.如果资源分配图中无环路,则系统中______发生。 6.为了防止死锁的发生,只要采用分配策略使四个必要条件中的______。 7.使占有并等待资源的条件不成立而防止死锁常用两种方法:______和______. 8静态分配资源也称______,要求每—个进程在______就申请它需要的全部资源。 9.释放已占资源的分配策略是仅当进程______时才允许它去申请资源。 10.抢夺式分配资源约定,如果一个进程已经占有了某些资源又要申请新资源,而新资源不能满足必须等待时、系统可以______该进程已占有的资源。 11.目前抢夺式的分配策略只适用于______和______。 12.对资源采用______的策略可以使循环等待资源的条件不成立。 13.如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于______。14.只要能保持系统处于安全状态就可______的发生。 15.______是一种古典的安全状态测试方法。 16.要实现______,只要当进程提出资源申请时,系统动态测试资源分配情况,仅当能确保系统安全时才把资源分配给进程。

计算机操作系统习题答案

计算机操作系统习题答 案 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

第一章操作系统概论 1.单项选择题 ⑴ B; ⑵ B; ⑶ C; ⑷ B; ⑸ C; ⑹ B; ⑺ B;⑻ D;⑼ A;⑽ B; 2.填空题 ⑴操作系统是计算机系统中的一个最基本的系统软件,它管理和控制计算机系统中的各种系统资源; ⑵如果一个操作系统兼有批处理、分时和实时操作系统三者或其中两者的功能,这样的操作系统称为多功能(元)操作系统; ⑶没有配置任何软件的计算机称为裸机; ⑷在主机控制下进行的输入/输出操作称为联机操作; ⑸如果操作系统具有很强交互性,可同时供多个用户使用,系统响应比较及时,则属于分时操作系统类型;如果OS可靠,响应及时但仅有简单的交互能力,则属于实时操作系统类型;如果OS在用户递交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于批处理操作系统类型; ⑹操作系统的基本特征是:并发、共享、虚拟和不确定性; ⑺实时操作系统按应用的不同分为过程控制和信息处理两种; ⑻在单处理机系统中,多道程序运行的特点是多道、宏观上并行和微观上串行。 第二章进程与线程 1.单项选择题

⑴ B;⑵ B;⑶ A C B D; ⑷ C; ⑸ C; ⑹ D; ⑺ C; ⑻ A; ⑼ C; ⑽ B; ⑾ D; ⑿ A; ⒀ D; ⒁ C; ⒂ A; 2.填空题 ⑴进程的基本状态有执行、就绪和等待(睡眠、阻塞); ⑵进程的基本特征是动态性、并发性、独立性、异步性及结构性; ⑶进程由控制块(PCB)、程序、数据三部分组成,其中PCB是进程存在的唯一标志。而程序部分也可以为其他进程共享; ⑷进程是一个程序对某个数据集的一次执行; ⑸程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性; ⑹设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况: ①没有运行进程,有2个就绪进程,n个进程处于等待状态; ②有一个运行进程,没有就绪进程,n-1个进程处于等待状态; ③有1个运行进程,有1个等待进程,n-2个进程处于等待状态; ④有1个运行进程,n-1个就绪进程,没有进程处于等待状态; 上述情况中不可能发生的情况是①; ⑺在操作系统中引入线程的主要目的是进一步开发和利用程序内部的并行性; ⑻在一个单处理系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有4个,最少0个;

操作系统中死锁与死机现象的比较

2010年第12期吉林省教育学院学报 N o .12,2010 第26卷J O U R N A LO FE D U C A T I O N A LI N S T I T U T EO FJ I L I NP R O V I N C E V o l .26(总240期) T o t a l N o .240 收稿日期:2010—07—25作者简介:哈森格日乐,女,内蒙古兴安盟广播电视大学,讲师。研究方向:计算机应用。 操作系统中死锁与死机现象的教学比较 哈森格日乐 (内蒙古兴安盟广播电视大学,内蒙古兴安盟137400) 摘要:死锁是计算机操作系统中的一个突出问题。死锁与死机是两个不同又有关联的概念。本文从死锁与死机的概念、 产生的原因及排除三个方面进行了比较论述。 关键词:死锁;死机;进程中图分类号:G 642.0 文献标识码:A 文章编号:1671—1580(2010)12—0071—02 操作系统中的死锁可定义为:各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态。它是操作系统核心在内部管理和控制的调度设计中造成系统无法继续运行的“死机”现象。 一、产生死锁与“死机”的原因(一)死锁的起因及必要条件 死锁的起因是并发进程的资源竞争。产生死锁的根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数。显然,由于资源的有限性,不可能为所有要求资源的进程无限制地提供资源。但是,可以采用适当的资源分配算法,以达到消除死锁的目的。然而要达到消除死锁的目的必须了解产生死锁的必要条件。这个我们从死锁的概念就可以得到。1.互斥条件。并发进程所要求和占有的资源是不能同时被两个以上进程使用或操作的,进程对它所需要的资源进行排他性控制;2.不剥夺条件。进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自己释放;3.部分分配。进程每次申请它所需要的一部分资源,在等待新资源的同时,继续占用已分配到的资源;4.环路条件。存在一种进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。 (二)“死机”的原因1.W i n d o w s 的即插即用功能,简化了新硬件的安装,但随之而来的是系统启动时,总是要搜索所有的驱动程序再决定运行。因此,某些失效硬件的驱动程序会导致“死机”。 2.资源耗尽:“蓝屏”故障常常发生在进行一项比较大或比较多的工作时,或是在保存复制的时候,往往发生得比较突然。这类故障的发生原因主要是与三个堆资源(系统资源、用户资源、G D I 资源)的占用情况有关。资源耗尽会出现“系统资源严重不足”等“蓝屏”警告。平时可以观察一下系统资源的可用比例。 3.版本冲突:尤其是不同文件管理方式。W i n 98与W i n 2000等的F A T 16/32、N T F S 就是如此。 4.注册表损坏:注册表是W i n d o w s 95之后引入的一个管理新概念,采用“表格”数据结构,其中包含了系统所有的信息。在启动和运行时,机器会读取其中的内容以配置系统,同时几乎所有重要操作都会在其中留下蛛丝马迹。通过修改,轻易实现常规操作无法实现的功能,但如果其中的信息受到破坏,那么系统就不能正常工作。 5.“碎片”太多:新安装的系统,数据的存放是连续的。不断运行工作后使文件在硬盘上的存放位置凌乱异常。即便不出现错误,系统性能也要降低。需要定期对硬盘进行碎片整理。 6.驻留主存:任务栏右下侧的系统托盘内的图标控制会使操作带来很大的方便,但这样的方便不仅降低系统性能,而且会耗尽主存和其他系统资源,最后造成系统死机。 7.卸载不完整:不完全卸载,会在系统中产生大量的垃圾文件,从而导致系统的不稳定。 71 DOI :10.16083/j .cn ki .1671-1580.2010.12.059

操作系统调度与死锁理论题答案

第三章处理机调度与死锁 1.高级调度与低级调度的主要任务是什么为什么要引入中级调度 (1)高级调度又称为作业调度。它是批处理系统中使用的一种调度。其主要任务是按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为其创建进程、分配必要的资源,然后再将所创建的进程控制块插入就绪队列中。(2)低级调度又称进程调度。它是距离硬件最近的一级调度。其主要任务是按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU。 (3)引入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调其到外存上等候。此时的进程状态为挂起状态。当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存并将其状态变为就绪状态。 2. 处理机调度算法的共同目标是什么批处理系统的调度目标又是什么 共同目标:资源利用率,公平性,平衡性,策略强制执行。 批处理系统的调度目标:平均周转时间短,系统吞吐量高,处理机利用率高。 6.为什么要引入高响应比优先调度算法它有何优点 在批处理系统中,FCFS算法所考虑的只是作业的等待时间,而忽视了作业的运行时间。而SJF算法正好与之相反,只考虑作业的运行时间,而忽视了作业的等待时间。高响应比优先调度算法则是既考虑了作业的等待时间,又考虑作业运行时间的调度算法,因此既照顾了短作业,又不致使长作业的等待时间过长,从而

改善了处理机调度的性能。 7.试说明低级调度的主要功能。 保存处理机的现场信息、按某种算法选取进程、把处理机分配给进程。 12.试比较FCFS和SJF两种进程调度算法。 相同点:两种调度算法都可用于作业调度与进程调度 不同点:FCFS调度算法每次都从后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存、分配资源、创建进程、插入到就绪队列。该算法有利于长作业/进程,不利于短作业/进程。 SJF算法每次调度都从后备队列中选择一个或若干个运行时间最短的作业,调入内存中运行。该算法有利于短作业/进程,不利于长作业/进程。 13.在时间片轮转法中,应如何确定时间片的大小 时间片应略大于一次典型的交互需要的时间。一般因考虑三个因素:系统对相应时间的要求、就绪队列中进程的数目和系统的处理能力。 20.按调度方式可将实时调度算法分为哪几种 非抢占式和抢占式。非抢占式又分为非抢占式轮转调度算法和非抢占式优先调度算法,抢占式又分为基于时钟中断的抢占式优先级调度算法和立即抢占的优先级调度算法。

第3章死锁习题及答案

第三章死锁习题 一、填空题 1.进程的“同步”和“互斥”反映了进程间①和②的关系。 【答案】①直接制约、②间接制约 【解析】进程的同步是指在异步环境下的并发进程因直接制约而互相发送消息,进行相互合作、相互等待,使得各进程按一定的速度执行的过程;而进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约。 2.死锁产生的原因是①和②。 【答案】①系统资源不足、②进程推进路径非法 【解析】死锁产生的根本原因是系统的资源不足而引发了并发进程之间的资源竞争。由于资源总是有限的,我们不可能为所有要求资源的进程无限地提供资源。而另一个原因是操作系统应用的动态分配系统各种资源的策略不当,造成并发进程联合推进的路径进入进程相互封锁的危险区。所以,采用适当的资源分配算法,来达到消除死锁的目的是操作系统主要研究的课题之一。 3.产生死锁的四个必要条件是①、②、③、④。 【答案】①互斥条件、②非抢占条件、③占有且等待资源条件、④循环等待条件 【解析】 互斥条件:进程对它所需的资源进行排它性控制,即在一段时间内,某资源为一进程所独占。 非抢占条件:进程所获得的资源在未使用完毕之前,不能被其它进程强行夺走,即只能由获得资源的进程自己释放。 占有且等待资源条件:进程每次申请它所需的一部分资源,在等待新资源的同时,继续占有已分配到的资源, 循环等待条件:存在一进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。 4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。 【答案】①资源,②队列,③P-V 【解析】信号量的概念和P-V原语是荷兰科学家E.W.Dijkstra提出来的。信号量是一个特殊的整型量,它与一个初始状态为空的队列相联系。信号量代表了资源的实体,操作系统利用它的状态对并发进程共享资源进行管理。信号量的值只能由P-V原语来改变。 5.每执行一次P原语,信号量的数值S减1。如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。 【答案】①继续执行,②阻塞(等待),③信号量,④阻塞(等待) 【解析】从物理概念上讲,S>0时的数值表示某类资源可用的数量。执行一次P原语,意味着请求分配一个单位的资源,因此描述为S=S-1。当S<0时,表示已无资源,这时请求资源的进程将被阻塞,把它排在信号量S的等待队列中。此时,S的绝对值等于信号量队列上的阻塞的进程数目。 6.每执行一次V原语,信号量的数值S加1。如果①,Q进程继续执行;如果S<=0,则从对应的②队列中移出一个进程R,该进程状态变为③。 【答案】①S>0,②等待,③就绪 【解析】执行一次V原语,意味着释放一个单位的资源。因此,描述为S=S+1。当S<0时,表示信号量请求队列中仍然有因请求该资源而被阻塞的进程。因此,应将信号量对应的阻塞队列中的第一个进程唤醒,使之转至就绪队列。 7.利用信号量实现进程的①,应为临界区设置一个信号量mutex。其初值为②,表示该资源尚未使用,临界区应置于③和④原语之间。

操作系统(死锁)试题

第五章死锁 一.选择题 1.为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的 C 也可能产生死锁。 (A)进程优先权(B)资源的线性分配 (C)进程推进顺序(D)分配队列优先权 2.采用资源剥夺法可以解除死锁,还可以采用 B 方法解除死锁。 (A)执行并行操作(B)撤销进程 (C)拒绝分配新资源(D)修改信号量 3.产生死锁的四个必要条件是:互斥、 B 循环等待和不剥夺。 (A)请求与阻塞(B)请求与保持 (C)请求与释放(D)释放与阻塞 4.在分时操作系统中,进程调度经常采用算法。 (A)先来先服务(B)最高优先权 (C)时间片轮转(D)随机 5.资源的按序分配策略可以破坏条件。 (A)互斥使用资源(B)占有且等待资源 (C)非抢夺资源(D)循环等待资源 6.在 C 情况下,系统出现死锁。 (A)计算机系统发生了重大故障 (B)有多个封锁的进程同时存在 (C)若干进程因竞争而无休止地相互等待他方释放已占有的资源 (D)资源数远远小于进程数或进程同时申请的资源数量远远超过资源总数 7。银行家算法在解决死锁问题中是用于 B 的。 (A)预防死锁(B)避免死锁 (C)检测死锁(D)解除死锁 8.支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中不是引起操作系统选择新进程的直接原因。 (A)运行进程的时间片用完 (B)运行进程出错 (C)运行进程要等待某一事件发生 (D)有新进程进入就绪队列 9. 在下列解决死锁的方法中,属于死锁预防策略的是 B 。 (A)银行家算法 (B)有序资源分配法 (C)死锁检测法 (D)资源分配图化简法 二、综合题 1.若系统运行中出现如表所示的资源分配情况,改系统是否安全?如果进程P2此时提出资源申请(1,2,2,2),系统能否将资源分配给它?为什么?

第三章习题(处理机调度与死锁)

一、单项选择题 1.在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的 c 也可能产生死锁。 A.进程优先权 B.资源的线性分配 C.进程推进顺序 D. 分配队列优先权 2.采用资源剥夺法可解除死锁,还可以采用 b 方法解除死锁。 A.执行并行操作 B.撤消进程 C.拒绝分配新资源 D.修改信号量 3.产生死锁的四个必要条件是:互斥、 b 、循环等待和不剥夺。 A. 请求与阻塞 B.请求与保持 C. 请求与释放 D.释放与阻塞 4.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏 a 条件是不太实际的。 A. 互斥 B.不可抢占 C. 部分分配 D.循环等待 5.在分时操作系统中,进程调度经常采用 c 算法。 A.先来先服务 B.最高优先权 C.时间片轮转 D.随机 6.资源的按序分配策略可以破坏 D 条件。 A. 互斥使用资源 B.占有且等待资源 C.非抢夺资源 D. 循环等待资源 7.在 C 的情况下,系统出现死锁。 A. 计算机系统发生了重大故障 B.有多个封锁的进程同时存在 C.若干进程因竞争资源而无休止地相互等待他方释放已占有的资源 D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数 8.银行家算法是一种 B 算法。 A.死锁解除 B.死锁避免 C.死锁预防 D. 死锁检测 9.当进程数大于资源数时,进程竞争资源 B 会产生死锁。 A.一定 B.不一定 10. B 优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A.先来先服务 B.静态 C.动态 D.短作业 11. 某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是 B A.9 B.10 C.11 D.12 答:B 13.当检测出发生死锁时,可以通过撤消一个进程解除死锁。上述描述是 B 。 A. 正确的 B.错误的 14.在下列解决死锁的方法中,属于死锁预防策略的是 B 。 A. 银行家算法 B. 资源有序分配法 C.死锁检测法 D.资源分配图化简法 15.以下叙述中正确的是 B 。 A. 调度原语主要是按照一定的算法,从阻塞队列中选择一个进程,将处理机分配 给它。 B.预防死锁的发生可以通过破坏产生死锁的四个必要条件之一来实现,但破坏互斥条件的可能性不大。 C.进程进入临界区时要执行开锁原语。 D.既考虑作业等待时间,又考虑作业执行时间的调度算法是先来先服务算法。

处理机调度与死锁作业题

第三章处理机调度与死锁作业 一、判断题 1、先来先服务(FCFS)算法是一种简单的调度算法,但其效率比较高。(错) 2、FCFS调度算法对短作业有利。(错) 3、时间片的大小对轮转法(RR)的性能有很大的影响,时间片太短,会导致系统开销大大增加。(对) 二、选择题 1、在进行作业调度时,要想兼顾作业等待时间和作业执行时间,应选取(C)。 A.轮转法 B.先进先出调度算法 C.响应比高优先算法 D.短作业优先调度 2、若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许(D)个进程参于竞争,而不会发生死锁。 A、5 B、2 C、3 D、4 解析:由于系统资源总共只有5台,若有5个进程参与竞争,每个进程在拥有一台打印机后,由于都需要两台打印机,所有进程都不能向前推进,假设又都不愿意放弃已申请到的打印机,系统便进入死锁状态,若有4个进程参与竞争,每个进程拥有一台打印机后,任意一个进程在获得剩余的一台打印机后就可以运行,在该进程运行完后,释放拥有的两台打印机,其他3个进程就可以顺利推进,完成各自任务。 3、在进程资源图中( C )是发生死锁的必要条件。 A.互斥 B.可剥夺件 C.环路 D.同步 三、填空题 1、在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,计算时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。 2、分时系统采用的调度方法是时间片轮转调度算法。在分时系统中,当用户数目为100时,为保证响应时间不超过2秒,此时时间片最大应为20ms。 3、有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2和T3,且T1

操作系统考研资料:第四章 处理机调度学习指导材料

第四章处理机调度与死锁 4.1 知识点汇总 1、处理机调度级别 ⑴调度:选出待分派的作业或进程 ⑵处理机调度:分配处理机 ⑶三级调度:高级调度(作业调度)、中级调度(内存对换)、低级调度(进程调度) 2、作业状态 ⑴作业状态分为四种:提交、后备、执行和完成。 ⑵作业状态变迁图: 图4-1 作业状态及变迁 1

3、作业调度和调度的功能 ⑴. 作业调度的任务 后备状态→执行状态执行状态→完成状态 ⑵作业调度的功能 ①记录系统中各个作业的情况 ②按照某种调度算法从后备作业队列中挑选作业 ③为选中的作业分配内存和外设等资源 ④为选中的作业建立相应的进程 ⑤作业结束后进行善后处理工作 4、进程调度和调度的功能 1). 进程调度:后备状态→执行状态 2). 进程调度时机:任务完成后、等待资源时、运行到时了、发现重调标志 3). 进程调度的功能:保存现场、挑选进程、恢复现场 5、两级调度模型作业调度和进程调度的区别 2

6、评价调度算法的指标 调度性能评价准则:CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间 (1)吞吐量:单位时间内CPU完成作业的数量 (2)周转时间: 1) 周转时间=完成时刻-提交时刻 2) 平均周转时间=周转时间/n 3) 带权周转时间=周转时间/实际运行时间 4) 平均带权周转时间=带权周转时间/n 7、作业与进程调度算法 (1)先来先服务(FCFS) 调度算法的实现思想:按作业(进程)到来的先后次序进行调度,即先来的先得到运行。用于作业调度:从作业对列(按时间先后为序)中选择队头的一个或几个作业运行。用于 3

进程调度:从就绪队列中选择一个最先进入该队列的进程投入运行。例如设有三个作业,编号为1,2,3。各作业分别对应一个进程。各作业依次到达,相差一个时间单位。 ①图示出采用FCFS方式调度时这三个作业的执行顺序 ②算出各作业的周转时间和带权周转时间 (2)时间片轮转(RR) 4

进程调度与死锁部分练习题

第三章进程调度与死锁练习题 (一)单项选择题 1.为了根据进程的紧迫性做进程调度,应采用(B )。 A.先来先服务调度算法 B. 优先数调度算法 C.时间片轮转调度法 D.分级调度算法 2.采用时间片轮转法调度是为了( A)。 A.多个终端都能得到系统的及时响应 B.先来先服务 C. 优先数高的进程先使用处理器 D.紧急事件优先处理 3.采用优先数调度算法时,对那些具有相同优先数的进程再按( A )的次序分配处理器。 A 先来先服务 B. 时间片轮转 C. 运行时间长短 D.使用外围设备多少 4. 当一进程运行时,系统强行将其撤下,让另一个更高优先数的进程占用处理器,这种调度方式是( B )。 A. 非抢占方式 B.抢占方式 C. 中断方式 D.查询方式 5.( B)必定会引起进程切换。 A.一个进程被创建后进入就绪态 B.一个进程从运行态变成阻塞态 C.一个进程从阻塞态变成就绪态 6.( B)只考虑用户估计的计算机时间,可能使计算时间长的作业等待太久。 A.先来先服务算法 B.计算时间短的作业优先算法 C.响应比最高者优先算法 D.优先数算法 7.先来先服务算法以( A )去选作业,可能会使计算时间短的作业等待时间过长。A.进入的先后次序 B.计算时间的长短 C.响应比的高低 D.优先数的大小8.可以证明,采用( C )能使平均等待时间最小。 A.优先数调度算法 B.均衡调度算法 C.计算时间短的作业优先算法 D.响应比最高者优先算法

9.在进行作业调度时.要想兼顾作业等待时间和计算时间,应选取(D )。 A均衡调度算法 B.优先数调度算法 C.先来先服务算法 D.响应比最高者优先算法 10.作业调度算法提到的响应比是指( B )。 A.作业计算时间与等待时间之比 B.作业等待时间与计算时间之比 C.系统调度时间与作业等待时间之比 D.作业等待时间与系统调度时间之比 11.作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( D )来决定。 A.设备管理 B.作业控制 C.驱动调度 D.进程调度 12.系统出现死锁的根本原因是( D )。 A.作业调度不当 B.系统中进程太多 C.资源的独占性 D.资源竞争和进程推进顺序都不得当 13.死锁的防止是根据( C )采取措施实现的。 A.配置足够的系统资源 B.使进程的推进顺序合理 C.破坏产生死锁的四个必要条件之一 D.防止系统进入不安全状态 14.采用按序分配资源的策略可以防止死锁.这是利用了使( B)条件不成立。 A.互斥使用资源 B.循环等待资源 C.不可抢夺资源 D.占有并等待资源 15.可抢夺的资源分配策略可预防死锁,但它只适用于(D )。 A.打印机 B.磁带机 C.绘图仪 D.主存空间和处理器 16.进程调度算法中的( A )属于抢夺式的分配处理器的策略。 A.时间片轮转算法 B.非抢占式优先数算法 C.先来先服务算法 D.分级调度算法 17.用银行家算法避免死锁时,检测到(C )时才分配资源。 A.进程首次申请资源时对资源的最大需求量超过系统现存的资源量 B.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量

第三章 处理机调度与死锁习题课

第三章处理机调度与死锁 1、系统出现死锁是因为(若干进程因竞争资源而无休止的等待着其他进程释放已占有的资 源)。 2、某系统中有5个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是(11 )。 3、发生死锁现象的原因有____竞争资源_________和____进程推进顺序非法________。 通常不采用( 从非死锁进程处抢夺资源)方法来解除死锁。 4、某系统中有4个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是( 9 )。 5、死锁产生的4个必要条件是:互斥、不可剥夺、_____________请求和保持_________ 和环路等待条件。 6、作业在系统中存在与否的唯一标志是作业控制块 7、某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机.该系统可能会发生死锁的K的最小值是( 4 ) 8、产生系统死锁的原因可能是由于(多个进程竞争资源出现了循环等待) 9、系统中有3个进程,每个进程需2台打印机,如果系统配有4台打印机,则系统______不可能________出现死锁的情况(本题要判断出现死锁的可能性:可能或不可能)。 10、什么是死锁?产生死锁的必要条件是什么?处理死锁的基本方法有哪些? 答:死锁是两个或两个以上进程由于竞争资源而处于的僵持状态,在这种僵持状态下若没有外力作用,所有进程都无法正常向前推进。( 必要条件:(1)互斥条件(2)请求和保持条件(3)不剥夺条件(4)环路等待条件处理方法:预防死锁、避免死锁、检测死锁、解除死锁。 11、死锁定理的含义是什么?试简化下图进程-资源图,并利用死锁定理给出相应的结论。 P1 R1 R2 P2 答:死锁定理:当且仅当资源分配图是不可完全简化的。 R1资源有3个,R2资源有2个;P1进程:占有2个R1,申请1个R2;P2进程占有1个R1,1个R2,申请1个R1;目前系统只有一个R2空闲;P1是一个既不孤立又不阻塞的进程,消去P1的边,有2个R1,1个R2空闲,能满足P2申请,使P2成为既不孤立又不阻塞的进程,所以消去P2的边,由死锁定理知,不会产生死锁。

相关主题
文本预览
相关文档 最新文档