现代操作系统 第六章 死锁 习题

Chapter 06 死锁 习题


知识点小记

  1. 从死锁中恢复:1.利用抢占恢复2.利用回滚恢复3.通过杀死进程恢复;
  2. 安全状态:即使所有进程突然请求对资源的最大需求,也仍然存在某种调度次序能够使得每一个进程运行完毕。 不安全状态:任何分配资源实力的序列都无法保证工作的完成。 安全状态和不安全状态的区别是:从安全状态出发,系统能够保证所有进程都能完成;而从不安全状态出发,就没有这样的保证。
  3. 死锁预防:
  • 破坏互斥条件:一 切都使用假脱机技术 。实现可能性较小,思路是避免分配那些不是绝对必须的资源;
  • 破坏占有并等待条件: 在开始就请求全部资源 。一种实现方法是一次性分配请求所需的全部资源(资源利用率低);另一种方法是,当一个进程请求资源时,先暂时是放弃当全占用的所有资源,然后再尝试一次获得所需的全部资源;
  • 破环不可抢占条件: 抢占资源
  • 破坏环路等待条件: 对资源按序编号 。将所有资源统一编号,进程可以在任何时刻提出资源请求,但是所有请求必须按照资源编号的顺序提出,按此规则资源分配途中肯定不会出现环;(变种)取消必须按升序请求资源的限制,而仅仅要求不许进程请求比当前所占有资源编号低的资源。
  1. 通信死锁协同同步的异常情况; 资源死锁竞争性同步的问题。
  2. 活锁指的是任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试—失败—尝试—失败的过程。处于活锁的实体是在不断的改变状态,活锁有可能自行解开。

1.给出一个由策略产生的死锁的例子。

A:在美国,考虑总统选举,三个或更多的候选人正在争取某个政党的提名。初选结束后,当代表们到达党的选举大会时,可能没有候选人获得多数票,也没有任何代表愿意改变自己的投票。这是一个死锁。每个候选人都有一些资源(选票),但需要更多的选票才能胜出。在议会中有多个政党的国家,每个政党都支持不同版本的年度预算,但无法通过召集多数党来通过预算。这也是一个死锁。


2.学生们在机房的个人计算机上将自己要打印的文件发送给服务器,服务器会将这些文件暂存在它的硬盘上。如果服务器磁盘空间有限,那么,在什么情况下会产生死锁?这样的死锁应该怎样避免?

A:磁盘缓冲区是有限的资源。每一个新到达的任务都需要请求更多的资源。如果具备10MB的缓冲空间,如何10个2MB的任务的一半到来,磁盘缓冲区将会填满,没有更多的空间可以存储,就会发生一个死锁。死锁可以通过让一个任务在缓冲区填满之前就开始打印,并且在打印完成后释放空间。这样一来,任务实际上会打印完成,然后下一个可以做同样的事情。如果在缓冲区被填满前,任务还不能开始打印,死锁是可能的。


3.在前一题中,哪些资源是可抢占的,哪些资源是不可抢占的?

A:打印机不可抢占,磁盘空间可抢占。


4.在图6-1中,资源释放的顺序与获得的顺序相反,以其他的顺序释放资源能否得到同样的结果?

A:可以,没有区别。


5.一个资源死锁的发生有四个必要条件(互斥使用资源、占有和等待资源、不可抢占资源和环路等待资源)。举一个例子说明这些条件对于一个资源死锁的发生不是充分的。何时这些条件对一个资源死锁的发生是充分条件?

A:假设有三个进程A,B和C和两种资源类型R和S。并假设有一个R的实例和两个S的实例。考虑下面的场景:A请求R并得到它;B请求S并得到它;C请求S并得到它(有两个S实例);B请求R但被阻塞;A请求S被阻塞。在这个阶段四条件都成立。但是,没有发生死锁。当C完成时,S的一个实例被释放到分配给A。现在A可以完成执行然后释放R,并分配给B,然后B可以完成其执行。如果有每种类型的资源只有一个实例,这4个条件就是充分的。


6.城市街道很容易遇到循环阻塞的情况,我们称之为“僵局”。“僵局”是一个资源死锁和同步竞争的问题。纽约市的预防算法称为“非阻塞盒子”,除非一个交叉路口的后续空间是非阻塞的,否则禁止汽车进入这个交叉路口。这是哪种预防算法?你能否提供其他的预防算法来解决“僵局”问题?

A:属于“破坏占有并等待条件”,因为我们假设汽车可以在交叉路口后进入街道空间,从而释放交叉路口。另一种策略可能允许汽车暂时停在车库里,释放出足够的空间来解决交通堵塞。一些城市有交通管制政策来塑造交通;随着城市街道变得更加拥挤,交通监督员调整红灯的设置,以限制进入严重拥挤地区的交通。流量越小,资源竞争越少,从而降低了发生交通堵塞的可能性。


7.假设四辆汽车同时从四个不同的方向是向同一个交叉路口,路口的每个拐角处都有一个停车标志。假设交通规则要求当两辆汽车同时接近相邻的停车标志时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值