文档库 最新最全的文档下载
当前位置:文档库 › 调度与死锁习题

调度与死锁习题

调度与死锁习题
调度与死锁习题

1、为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的也可能产生死锁。

A 进程优先级

B 资源的线性分配

C 进程推进顺序

D 分配队列优先权

2、采用资源剥夺法可以解除死锁,还可以采用方法解除死锁。

A 执行并行操作

B 撤消进程

C 拒绝分配新资源

D 修改信号量

3、产生死锁的四个必要条件是:互斥、循环等待和不剥夺。

A 请求与阻塞

B 请求与保持

C 请求与释放

D 释放与阻塞

4、发生死锁的必要条件有4个,要防止死锁的发生,可以通过破坏这4个必要条件之一来实现,但破坏条件是不太实际的。

A 互斥

B 不可抢占

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 动态

D 短作业

10、某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是

A 9

B 10

C 11

D 12

11、某系统中有11台打印机,N个进程共享打印机资源,每个进程要求3台,当N的取值不超过时,系统不会发生死锁。

A 4

B 5

C 6

D 7

12、在下列解决死锁的方法中,属于死锁预防策略的是

A 银行家算法

B 有序资源分配法

C 死锁检测法

D 资源分配图化简法

13、支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中不是引起操作系统选择新进程的直接原因。

A 运行进程的时间片用完

B 运行进程出错

C 运行进程要等待某事件发生

D 有新进程进入就绪队列

14、在进程-资源图中,进程P i请求资源R j用来表示。

A (R j, P i)

B (P i, R j)

C (P j, P i)

D (R i, R j)

15、进程的调度方式有两种,一种是,另一种是。

16、若要使当前运行进程总是优先级最高的进程,应选择进程调度算法。

17、一种最常用的进程调度算法是把处理机分配给具有最高优先权的进程。而确定优先权的方法概括起来不外乎是基于特性和特性两种方法。前者所得到的是优先权,后者所得到的是优先权。

18、在有m个进程的系统中出现死锁时,死锁进程的个数k应该满足的条件是。

19、在调度算法中,按照进程进入就绪队列的先后次序来分配处理机。

20、死锁产生的4个必要条件是:、、、。

21、银行家算法中,当一个进程提出的资源请求将导致系统从进入时,系统就拒绝它的资源请求。

22、进程调度算法采用等时间片轮转法时,时间片过大,就会使轮转法转化为调度算法。

23、对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法是属于,破坏环路等待条件是属于,而剥夺资源是的基本方法。

24、产生死锁的根本原因是,另一个基本原因是。

1.设某计算机系统有一台输入机,一台打印机。现有两道程序同时投入运行,且程序A先开始运行,程序B后运行。程序A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms。程序B的运行轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。试说明:

(1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?

(2)程序A,B运行时有无等待现象?若有,在什么时候会发生等待现象?

2.有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法,作业序列中作业优先数即为进程优先数,优先数越小优先级越高。

作业名到达时间运行时间优先数

A 10:00 40分 5

B 10:20 30分 3

C 10:30 50分 4

D 10:50 20分 6

在一个使用多级反馈队列的系统中,一个只使用CPU的进程的执行时间为40秒。如果第一个队列的时间片为2,每级时间片增加5个时间单元,那么这个进程运行结束前会被中断多少次,结束时处于哪级队列?

假设就绪队列中有10个进程,系统将时间片设为200ms,CPU进行进程切换要花费10ms,试问系统开销所占的比率约为多少?

有两个程序,A程序按顺序使用CPU 10秒,使用设备甲5秒,使用CPU 5秒,使用设备乙10秒,最后使用CPU 10秒。B程序按顺序使用设备甲10秒,使用CPU 10秒,使用设备乙5秒,使用CPU 5秒,使用设备乙10秒。在顺序环境下先执行A程序再执行B程序,CPU 的利用率是多少?

在一个多级反馈队列的系统中,每一级队列使用不同的时间片的好处是什么?

进程调度中“抢占式”和“非抢占式”两种方式,哪一种系统的开销更大?为什么?

假定一个处理器正在执行两道作业,一道以计算为主,另一道以输入/输出为主,用户将怎样为它们分配优先级?为什么?

在一个使用非剥夺调度的系统中,就绪队列中有期望执行时间为5、18、9和12的进程。为了使等待时间最少,进程应以何种顺序执行?

对于交互式系统来说,非剥夺的调度算法是否是一个好的选择?为什么?

画出资源分配图,判断是否处于死锁状态?

要使下表中描述的状态安全,可用资源的最小数目应为多少?(注意,问题问的是可用资源的数目,而不是存在的资源数)

设系统中仅有一个资源类,其中共有3个资源实例,使用此类资源的进程共有3个,每个进程至少请求一个资源,它们所需资源最大量的总和为X,则发生死锁的必要条件是:

考虑n个进程共享的具有m个同类资源的系统。证明,如果对I=1,2,…,n有n>0而且所有最大需求量之和小于m+n,那么该系统是死锁无关的。

单道批处理系统中,有5个待运行作业,它们的估计运行时间分别为9,6,3,5和X。

当3

在CPU按优先级调度的系统中

(1)没有运行的进程是否一定没有就绪进程?

(2)没有运行进程,没有就绪进程或两者都没有是否可能?各是什么情况?

(3)运行进程是否一定是所有进程中优先级最高的?

考虑这样一种资源分配策略:对资源的申请和释放可以在任何时刻进行。如果一个进程的资源得不到满足,则考查所有由于等待资源而被阻塞的进程。如果它们有申请进程所需要的资源,则把这些资源取出分给申请进程。

例如,考虑一个有三类资源的系统,Available=(4,2,2)。进程A申请(2,2,1),可以满足;进程B申请(1,0,1),可以满足;若A再申请(0,0,1),则被阻塞(无资源可分)。此时,若C申请(2,0,0),它可以分得剩余资源(1,0,0),并从A已分得的资源中获得一个资源,于是,进程A的分配向量变为(1,2,1),而需求向量变成(1,0,1)。

(1)这种分配方式会导致死锁吗?若会,举一个例子;若不会,说明死锁的哪一个必要条件不成立。

(2)会导致某些进程的无限等待吗?

第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。其初值为②,表示该资源尚未使用,临界区应置于③和④原语之间。

操作系统第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)

计算机操作系统习题及答案.

第5章死锁 1)选择题 (1)为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的_C__ 也可能产生死锁。 A. 进程优先权 B. 资源的线性分配 C. 进程推进顺序 D. 分配队列优先权 (2)采用资源剥夺法可以解除死锁,还可以采用_B___ 方法解除死锁。 A. 执行并行操作 B. 撤消进程 C. 拒绝分配新资源 D. 修改信号量 (3)发生死锁的必要条件有四个,要防止死锁的发生,可以通过破坏这四个必要条件之一来实现,但破坏_A__ 条件是不太实际的。 A. 互斥 B. 不可抢占 C. 部分分配 D. 循环等待 (4)为多道程序提供的资源分配不当时,可能会出现死锁。除此之外,采用不适当的_ D _ 也可能产生死锁。 A. 进程调度算法 B. 进程优先级 C. 资源分配方法 D. 进程推进次序 (5)资源的有序分配策略可以破坏__D___ 条件。 A. 互斥使用资源 B. 占有且等待资源 C. 非抢夺资源 D. 循环等待资源 (6)在__C_ 的情况下,系统出现死锁。 A. 计算机系统发生了重大故障 B. 有多个封锁的进程同时存在 C. 若干进程因竞争资源而无休止地相互等待他方释放已占有的资源 D. 资源数大大小于进程数或进程同时申请的资源数大大超过资源总数 (7)银行家算法在解决死锁问题中是用于_B__ 的。 A. 预防死锁 B. 避免死锁 C. 检测死锁 D. 解除死锁 (8)某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是_C__ 。 A. 12 B. 11 C. 10 D. 9 (9)死锁与安全状态的关系是_A__ 。 A. 死锁状态一定是不安全状态 B. 安全状态有可能成为死锁状态 C. 不安全状态就是死锁状态 D. 死锁状态有可能是安全状态

操作系统死锁练习及答案

死锁练习题 (一)单项选择题 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.死锁的防止、避免和检测的混合(一)单项选择题 1.D 2.C 3.B 4.D 5.A 6 C 7 D (二)填空题 l若系统中存在一种进程,它们中的每一个进程都占有了某种资源而又都在等待其中另一个进程所占用的资源。这种等待永远不能结束,则说明出现了______。 2.如果操作系统对 ______或没有顾及进程______可能出现的情况,则就可能形成死锁。3.系统出现死锁的四个必要条件是:互斥使用资源,______,不可抢夺资源和______。 4.如果进程申请一个某类资源时,可以把该类资源中的任意一个空闲资源分配给进程,则说该类资源中的所有资源是______。 5.如果资源分配图中无环路,则系统中______发生。 6.为了防止死锁的发生,只要采用分配策略使四个必要条件中的______。 7.使占有并等待资源的条件不成立而防止死锁常用两种方法:______和______. 8静态分配资源也称______,要求每—个进程在______就申请它需要的全部资源。 9.释放已占资源的分配策略是仅当进程______时才允许它去申请资源。 10抢夺式分配资源约定,如果一个进程已经占有了某些资源又要申请新资源,而新资源不能满足必须等待时、系统可以______该进程已占有的资源。 11.目前抢夺式的分配策略只适用于______和______。 12.对资源采用______的策略可以使循环等待资源的条件不成立。 13.如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于______。 14.只要能保持系统处于安全状态就可______的发生。 15.______是一种古典的安全状态测试方法。 16.要实现______,只要当进程提出资源申请时,系统动态测试资源分配情况,仅当能确保系统安全时才把资源分配给进程。 17.可以证明,M个同类资源被n个进程共享时,只要不等式______成立,则系统一定不会发生死锁,其中x为每个进程申请该类资源的最大量。 18.______对资源的分配不加限制,只要有剩余的资源,就可把资源分配给申请者。 19.死锁检测方法要解决两个问题,一是______是否出现了死锁,二是当有死锁发生时怎样去______。 20.对每个资源类中只有一个资源的死锁检测程序根据______和______两张表中记录的资源情况,把进程等待资源的关系在矩阵中表示出

第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.每个进程等待着某一个不能得到且不可释放的资源

实验二死锁的检测与避免

实验二死锁的检测与避免—银行家算法 一、实验目的 1、了解进程产生死锁原因,了解为什么要避免死锁。 2、掌握银行家算法的数据结构,了解算法的执行过程,加深对银行家算法的理 解。 二、实验内容及步骤 采用银行家算法来实现一个n 个并发进程共享m 个系统资源的系统。进程可 以申请和释放资源,系统可以按照各进程的申请计算是否可以分配给其资源。 1、创建C语言工程项目,按照教材上的有关说明,定义相应的数据结构。 2、给各个数据结构设定合适的初始值。 注意:步骤1、2可同时进行,即利用C语言中的定义变量就可同时初始化的 方式进行数值初设。 3、依据银行家算法的描述依次进行资源的试探性分配,直至成功或失败,成功 则说明当前状态是安全的;失败后,还应该将资源回到初始状态,并进行另一 次试探;只有所有的试探都失败了,才能说明当前状态是不安全的。 通常,这种试探性算法采用递归的方法是很合适的,程序也是很简洁的。 三、实验原理 1、银行家算法的思路 先对用户提出的请求进行合法性检查,即检查请求的是不大于需要的,是否不大于可利用的。若请求合法,则进行试分配。最后对试分配后的状态调用安全性检查算法进行安全性检查。若安全,则分配,否则,不分配,恢复原来状态,拒绝申请。 2、银行家算法程序流程图(图2-1)

银行家算法(图2-1) 安全性算法(图2-2)

四、实验结果及分析 (一): 1、T0时刻安全性 2、P1发出请求向量Request 1(1,0,2) 3、P4发出请求向量Request 4(3,3,0) 4、P0发出请求向量Request 0(0,2,0) (二): 1、 该状态是否安全? 2、 P2发出请求向量Request (1,2,2 ,2)后,系统能否将资源分配给它? (三)、自行设计一组资源分配数据,要求资源数大于等于3,进程数大于等于3,有2次预分配。

《操作系统》习题集参考答案:第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个资源

操作系统死锁习题集

死锁习题 一、填空题 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死锁

死锁避免算法设计报告

漳州师范学院 操作系统课程设计 死锁避免算法设计 姓名: 学号: 系别: 专业: 年级: 指导教师: 一、课程设计题目介绍(含设计目的)

死锁避免算法设计是通过模拟实现银行家算法实现死锁避免目的: 1、了解进程产生死锁的原因,了解为什么要进行死锁的避免。 2、掌握银行家算法的数据结构,了解算法的执行过程,加深对银行家算法的理解。 3、通过运用Dijkstra的银行家算法来避免多个进程运行中因争夺资源而造成僵局,即死锁 要求: 本课程设计可以实现教材3.6.3节中所描述的银行家避免死锁算法。 可自定义进程数目、资源类型和每种类型资源的数目; 可输入每个进程对每种资源的最大需求、已经获得的数量; 当某进程发起某种资源请求时,计算系统状态是否安全。 思想: 操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配,从而达到死锁的避免。

二、总体设计(含系统的结构、原理框图或模块介绍等) 1.系统的结构 2.原理框图 从主函数开始进入银行家算法系统,先调用初始化函数chushihua()分别输入Allocation[i][j],Max[i][j],All[y]并判断是否符合条件,在调用函数show(),输出当前状态Available,Max[i][j],Allocation[i][j],Need[i][j]。然后调用安全性算法函数safe()判断在该时刻是否处于安全状态,并输出安全序列。然后调用银行家算法函数bank()进行试分配后再调用安全性算法函数判断在该时刻是否处于安全状态,若不安全,则恢复试分配时改变的值。

处理机调度与死锁作业题

第三章处理机调度与死锁作业 一、判断题 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

《操作系统原理》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.要实现______,只要当进程提出资源申请时,系统动态测试资源分配情况,仅当能确保系统安全时才把资源分配给进程。

死锁的检测与解除C语言代码

实验名称:死锁的检测与解除姓名:杨秀龙 学号:1107300432 专业班级:创新实验班111 指导老师:霍林

实验题目 死锁的检测与解除 实验目的 为了更清楚系统对死锁是如何检测和当死锁发生时如何解除死锁 设计思想 首先需要建立和银行家算法类似的数组结构,先把孤立的进程(没有占用资源的进程)放入一个数组中,根据死锁原理,找出既不阻塞又非独立的进程结点,使之成为孤立的结点并放入孤立数组中,再释放该进程的占用资源,继续寻找下一个孤立结点,如果所有进程都能放入孤立数组中,则系统不会发生死锁,如果有进程不能放入,则系统将发生死锁,并进行死锁解除,撤消所有的死锁进程,释放它们占用的资源。 主要数据结构 和银行家算法类似,需要建立相应的数组 int allocation[M][M]; int request[M][M]; int available[M]; int line[M]; //管理不占用资源的进程 int no[M]; //记录造成死锁的进程 int work[M];

流程图 否

运行结果 图(1)不会发生死锁时 图(1)当发生死锁时

附录 源代码如下: # include "stdio.h" # define M 50 int allocation[M][M]; int request[M][M]; int available[M]; int line[M]; int no[M]; intn,m,i,j,f,a=0; main() { void check(); void remove(); void show(); printf("输入进程总数:"); scanf("%d", &n); printf("输入资源种类数量:"); scanf("%d", &m); printf("输入进程已占用的资源Allocation:\n"); for(i=0;i

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

第三章进程调度与死锁练习题 (一)单项选择题 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.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量

第5章 死锁 练习题参考答案

第五章死锁练习题参考答案 (一)单项选择题 1.D 2.C 3.B 4.D 5.A 6.C 7.D (二)填空题 1.死锁2.资源管理不得当,并发执行时3.占有并等待资源,循环等待资源4.等价的5.没有死锁6.一个条件不成立7.静态分配资源,释放已占资源8.预分配资源.开始执行前9.没有占用资源10.抢夺11.主存空间,处理器12.按序分配13安全状态14.避免死锁15.银行家算法16.死锁的避免17.n(x- 1)+l<=m 18.死锁检测方法19判断系统,解除死锁20.占用表,等待表21.尚需量,剩余量22终止,抢夺资源23.校验点24.防止,检测 (三)简答题 1.若系统中存在一组进程、它们中的每—个进程都占用了某种资源而又都在等待其中另一个进程所占的资源,这种等待永远不能结束,则说明系统出现了死锁。产生死锁的原因有两个:一是操作系统对资源的管理不当,二是没有顾及进程并发执行时可能出现的情况。 2.采用某些资源分配策略使死锁的四个必要条件之一不成立,就能防止死锁。除第一个条件互斥使用资源没有对应策略外,对占有并等待资源、不可抢夺资源和循环等待资源这三个条件可采用静态分配资源,释放已占资源,抢夺式分配资源和按序分配资源等资源分配策略。 3.如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于安全状态。常用银行家算法动态地检测系统中的资源分配情况和进程对资源的需求情况进行资源分配,确保系统处于安全状态。 4解决死锁问题有以下三种方法:(1)死锁的防止。系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。(2)死锁的避免。系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。(3)死锁的检测。对资源的申请和分配不加限制,只要有剩余的资源就可把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。5.用抢夺资源的方式解除死锁时要注意三点:(1)抢夺进程资源时希望付出的代价最小。(2)为被抢夺者的恢复准备好条件,如返回某个安全状态,并记录有关信息。(3)防止被抢夺资源的进程“饿死”,一般总是从执行时间短的进程中抢夺资源。 (四)应用题 1.(1)根据表,P1,P2和P3三个进程尚需资源数分别是4,5和1,系统的资源剩余量为2,若把剩余的资源量全部分配给P2,系统产已无资源可分配,使三个进程都等待资源而无法完成,形成死锁。所以不能先满足进程P2的要求。 (2)可先为进程P3分配1个资源,当它归还3个资源后,这样共有4个可分配资源,可满足P1申请1个资源的要求,再分配3个资源给进程P1,待P1归还7个资源后,先满足P2申请2个资源的请求,分配给进程P2,再分配3个资源给P2,使它完成。 2.(1)系统目前尚余有的资源数为(2,6,2,1),五个进程尚需的资源数分别是A:(2,0,0,0) ; B:(0,0,0,0); C:(4,6,2,0) ; D:(5,7,0,0); E:(0,0,2,1);由于进程B己满足了全部资源需求,它在有限时间内会归还这些资源,因此可分配资源达到(3,6,4,1),这样就可分配给进程A;等A归还资源后,可分配资源达到(6,12,6,1),再分配给进程C;之后可分配资源会达到(7,12,10,1),分配给进程D并等待一段时间后,可分配资源将达到(7,12,10,2),最后,可分配给进程E,满足其全部请求。所以说目前系统处于安全状态。 (2)若此时给进程D分配(2,5,0,0)个资源,进程D尚需(3,2,0,0),则系统剩余的资源量为(0,

操作系统实验报告-死锁的检测与解除

操作系统实验报告 实验题目:死锁的检测与解除学生姓名:田凯飞 学生学号:1107300215 学生班级:计科111 指导老师:霍林

实验题目: 死锁的检测与解除。 实验目的: 在实验一中我们可以通过银行家算法和安全性检测来对系统对进程分配资源时进行安全性检测,这是避免系统发生死锁的有效方法,但是假如系统真的发生死锁的时候,系统也必须对此采取有效的措施,通过该实验我们可以深刻的认识系统对死锁的检测与解除的方法。 设计思想: 该程序是在银行家算法的基础上添加了死锁的解除模块得来的,死锁的解除采用的方法是:当系统发生死锁时,找到已分配资源最大的死锁进程,剥夺其已分配资源,再次检测是否发生死锁。 数据结构: 1)可用资源向量available: 这是一个含有m个元素的数组,其 中的每一个元素代表一类可利用资源数目。 2)最大需求矩阵max它是一个n m ?的矩阵,定义了系统中n个进程中得每一个进程对m类资源的最大需求。 3)可分配矩阵allocation: 这也一个n m ?的矩阵,定义了系统中每一类资源当前已分配给每一进程的资源数。 4)需求矩阵need: 这表示每一个进程尚需的各类资源数。 5)need[i][j]=max[i][j]-allocation[i][j]。 变量说明: 可用资源向量available[3]; 最大需求矩阵max[4][3]; 可分配矩阵allocation[4][3]; 需求矩阵need[4][3]; 进程状态标识finish[4]; 流程图:

否 是 否 是 运行结果: 无死锁: 算法开始 输入各进程的最大需求资源、 已分配资源和可利用资源数 显示各进程的最大需求资源、已分配资源和可利用资源数 选择进程并进行资源请求 请求是否合法 分配资源 是否死锁 输出进程序列以及该时刻的资源分配情况 解除占用资源最多的进程 算法结束

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

第三章处理机调度与死锁 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的边,由死锁定理知,不会产生死锁。

处理机调度与死锁练习题

第三章处理机调度与死锁 一、单项选择题 1.在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的________也可能产生死锁。 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.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数 8.银行家算法是一种________________算法。 A. 死锁解除 B.死锁避免 C. 死锁预防 D.死锁检测 9.当进程数大于资源数时,进程竞争资源___________会产生死锁。 A. 一定 B.不一定 10._________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A. 先来先服务 B.静态 C. 动态 D. 短作业

相关文档
相关文档 最新文档