防死锁:互斥

问题描述 投票:1回答:1

防死说:

条件的所有四个必要,以便发生死锁,因此可以通过拒绝其中任何一个条件来防止死锁。

条件

  1. 互斥

  2. 保持并等待

    ] >>
  3. 无提示

  4. 循环等待

  5. 现在

让我们拒绝第一个]

  1. 互斥
  2. 有许多示例证明互斥

可能导致像here那样的死锁。

现在让我们阻止这个Mutual Exclusion。但是问题是

互斥条件必须适用于不可共享的资源。即,多个进程不能同时共享一个资源。由于某些资源(例如磁带机和打印机)本来就不可共享,因此很难消除这种情况。检查this

问题/疑问

我们不能消除互斥,然后**为什么是条件之一** ??

防死锁说:所有四个条件都是发生死锁所必需的,因此可以通过拒绝其中任何一个条件来防止死锁。条件互...

我们不能消除相互排斥,那为什么它是其中之一条件??

在处理不可共享的资源

的情况下,我们不能消除相互排斥。因此,它只是强调指出,对于特殊情况,当我们处理诸如tap driveprinter的资源,这些资源固有地不可共享时,我们必须考虑消除其他三个选项之一以防止死锁。

现在关键部分并不总是意味着我们在谈论物理资源。这也可能意味着我们正在谈论piece of codevariables是本质上可共享资源的资源。因此在这种情况下我们可以消除互斥以防止死锁

。但是请记住,这很少做,因为如果我们在初始设计中确保相互排斥,那就可以确保正确实施。因此,仅是为了提醒您,可以通过防止互斥来防止死锁,但这并不意味着它实际上很普遍。
operating-system synchronization deadlock
1个回答
3
投票

我们不能消除相互排斥,那为什么它是其中之一条件??

© www.soinside.com 2019 - 2024. All rights reserved.