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

  1. 在美国,考虑一次总统选举,其中三名或三名以上的候选人正试图提名某一政党。在所有的初选结束后,当代表们到达党代会时,很可能没有候选人拥有多数票,也没有代表愿意改变他或她的投票。这是僵局。每个候选人都有一些资源(投票),但要完成这项工作还需要更多的资源。在议会中有多个政党的国家,每一个政党都可能支持不同版本的年度预算,而且不可能聚集多数党通过预算。这也是僵局。

  2. 假脱机分区上的磁盘空间是有限的资源。事实上,每一个块都声称有一个资源,而每一个到达的新块都需要更多的资源。如果假脱机空间为10 MB,并且10个2 MB作业的前半部分到达,那么磁盘将满,无法再存储更多的块,因此我们会出现死锁。死锁可以通过允许作业在完全假脱机之前开始打印,并为该作业的其余部分保留这样释放的空间来避免。这样,一个作业将实际打印到完成,然后下一个作业可以做同样的事情。如果作业在完全假脱机之前无法开始打印,则可能出现死锁。

  3. 打印机是不可抢占的;在上一个作业完成之前,系统无法开始打印另一个作业。spool磁盘是可抢占的;如果协议允许,您可以删除一个不完整的文件,该文件太大,并让用户稍后发送。

  4. 是的。这没有任何区别。

  5. 假设有三个进程,A、B和C,两个资源类型,R和S。进一步假设有一个R实例和两个S实例。考虑以下执行场景:A请求R并获取它;B请求S并获取它;C请求S并获取它(有两个S实例);B请求R并被阻止;A请求S并获取它。并且被阻塞。在这个阶段,所有四个条件都成立。但是,没有死锁。当C完成时,S的一个实例被重新释放,分配给A。现在A可以完成它的执行,释放R,分配给B,然后A可以完成它的执行。如果每种类型都有一个资源,这四个条件就足够了。

  6. “非阻塞盒子”是一种预分配策略,它否定了保持和等待死锁的前提条件。因为我们假设汽车可以沿着交叉口进入街道空间,从而释放交叉口。另一种策略可能允许汽车暂时进入车库,释放出足够的空间来清除交通堵塞。一些城市制定了交通管制政策来塑造交通;随着城市街道变得更加拥挤,交通监管人员调整红灯设置,以限制进入严重拥挤地区的交通。交通量越小,对资源的竞争就越少,从而降低发生交通堵塞的可能性。

  7. 上述异常不是通信死锁,因为这些车辆彼此独立,如果没有发生竞争,将以最小的延迟通过交叉口。这不是资源死锁,因为没有一辆车拥有另一辆车请求的资源。资源预分配或资源抢占机制也不能帮助控制这种异常。这种异常是竞争同步的一种,然而,在这种情况下,汽车在循环链中等待资源,而交通节流可能是一种有效的控制策略。为了区别于资源死锁,这种异常情况可能被称为“调度死锁”。“类似的死锁可能发生在一条命令之后

  • 15
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值