当前位置:文档之家› 操作系统复习考试第4章 调度与死锁 复习题

操作系统复习考试第4章 调度与死锁 复习题


4、什么是死锁?
答:所谓死锁(Deadlock),是指多个 进程因竞争资源而造成的一种僵局, 若无外力作用,这些进程都将永远不 能再向前推进。死锁是计算机系统和 进程所处的一种状态。
5、产生死锁的原因是什么?
答:产生死锁的原因可归结为两点: (1)系统资源不足。(2)进程推进顺序不 当。
6、产生死锁的必要条件 有哪些?
16、
在一个实际的计算机系统中,资源可以更新和增减,进 程可以创建和撤销。如果系统用banker算法处理死锁,那么, 在什么情况下,下列改变可以安全地进行而不会引起死锁发 生? (1)增加Available(增添新资源); (2)减少Available(资源永久性地从系统中删除): (3)增大Max(对一进程而言,它可能希望更多的资源); (4)减少Max(一进程决定不需要那么多资源); (5)增加进程数; (6)减少进程数。
如果这个系统中发生了死锁,那么一方面m个资源应该 全部分配出去,即
15(续)
alloc(1)+ alloc(2)+..+ alloc(n) = m
另一方面所有进程将陷入无限等待状态。上述两式得知
need(1)+need(2)+...+need(n)< n
上式表示死锁发生后,n个进程还需要的资源量之和小 于n,这意味着此刻至少存在一个进程, need(i)=0, 即它已经获得全部的资源。既然进程已经获得了它所 需要的全部资源,那么它就能执行完成并释放占有的 全部资源,这与前面的假设矛盾,所以系统不会出现 死锁。
R1 R2
P2
13、解除死锁的常用方法有那些?
答:当发现有进程死锁时,使当立即把它们从死锁
状态中解脱出来,常采用的两种方法是: (1)剥夺资源。是使用一个有效的挂起和解除机构来挂
起一些死锁的进程,其实质是从被挂起的进程那里抢占资 源给死锁进程,以解除死锁状态。 (2)撤消进程。采用强制手段从系统中撤消一个或一部 分死锁进程,以断开循环等待链,并剥夺这些进程的资源 供其他死锁进程使用。
A. 银行家算法 C. 死锁检测法 答:B B. 资源有序分配法 D. 资源分配图化简法
11、某系统有3个并发进程,都需要同 类资源4个,试问该系统不会发生死锁的 最少资源数是多少? 答:最少要10个。 由于各进程最大需求量之和要小于“进 程数+资源数” 3+x>12 X>9 所以最少要10个资源。
答:同时具备下列四个必要条件时,就会产生死锁
1、互斥( Mutual exclusion )条件:一个资源一次只能 被一个进程所使用,即是排它性使用。 2、不剥夺( No preemption )条件:进程已经获得的资 源,在未使用完以前,不能被别的进程剥夺,只能在使用 完以后,由自己释放。 3、请求和保持( Hold-and-wait )条件:进程已经保持 了至少一个资源,但又提出了新的资源要求,而该资源又 已被其它进程占有,此时请求进程阻塞,但又对已经获得 的其它资源保持不放。 4、环路等待( Circular wait )条件:存在一种进程资源 的循环等待链,链中的每一个进程已经获得资源的同时被 链中的下一个进程所请求。
12、你如何理解资源分配图简化法中 “找出—个既不阻塞又非独立的进程 结点Pi ”这句话。
答:
—个既不阻塞又非独立的进程结点Pi ,也就是从进程 集合中找到一个有边与它相连,且资源申请数量小于系统 中已有空闲资源数量的进程Pi 。如下图: P1
R2
R1
P2
12(续)
系统中共有R1类资源2个,R2类资源3个,在当前 状态仅有一个R2类资源空闲。进程P2占有一个R1类 资源及一个R2类资源,并申请一个R2类资源;进程 P1占有一个R1类资源及一个R2类资源,并申请一个 R1类资源及一个R2类资源。因此,进程P2是一个既 不孤立又非阻塞的进程,消去进程P2的资源请求边 P1 和资源分配边,便形成了下图所示的情况。
14、
假设三个进程共享相同类型的四个资源,每个进 程一次只能申请或释放一个资源,每个进程至多 需要两个资源,证明该系统不会发生死锁。 证: 假定该系统死锁,那么就说明其中的每一进程已 占有一资源并正等待另一资源。由于该系统只有 三个进程且有四个资源,因此,必有一进程能获 得两个资源,不必等待。于是该进程不再申请资 源,而且当它执行完后将归还它占有的资源。故 该系统不会发生死锁。
3.检测和解除死锁:通过系统的检测机构及时地检
测出死锁的发生,然后采取某种措施解除死锁。
8、银行家算法最根本是要解决什么
问题?
答:银行家算法最根本是一种能够避免 死锁的调度方法。
9、当进程数大于资源数时,进 程竞争资源一定会发生死锁吗?
答:不一定。
10、下列解决死锁的方法中,属 于死锁预防策略的哪一个?
15、
假设系统中有m个同类资源,并被n个进程所 共享,进程m个资源,即对i=1,2,…,n,有0<Need<=m。 (2)所有最大需求量之和小于m+n。 证明该系统不会发生死锁。
证: 依题意 max(1)+max(2)+...+max(n)< m+n (由条件(2)知)
第四章 调度与死锁
复习思考题
1、分时操作系统中,进程调度 通常采用什么算法?
答:分时操作系统通常采用时间片轮转 法的调度算法。
2、一个作业从提交开始直到完成,
往往要经历哪几级调度?
答:要经历下述三级调度:高级调度、 低级调度、中级调度。
3、说出四种常用的调度算法
答:常用的调度算法有: (1)先来先服务调度算法 (2)(进程)优先级调度算法 (3)时间片轮转调度算法 (4)多级反馈队列调度算法
7、处理死锁有哪几种基本方法?
答:用于处理死锁的方法主要有: 1.预防死锁:静态方法。在进程执行前采取的措施,
通过设置某些限制条件,去破坏产生死锁的四个必要条件 之一,防止发生死锁。
2.避免死锁:动态的方法:事先不采取任何限制措施
来破坏产生死锁的必要条件,而是在进程执行过程中采取 的措施,在进程申请资源时用某种方法去防止系统进入不 安全状态,从而避免发生死锁。 (如银行家算法)。
相关主题