同时运行2个算法,旨在解决互斥问题

时间:2015-03-11 01:04:27

标签: mutual-exclusion

我在网站上看到的问题解释了互斥问题(http://www.faculty.idc.ac.il/gadi/PPTs/Chapter2-Mutex-BasicTopics.pptx - 第8页)。不幸的是没有答案。另外,最初的问题只是关于C,但我不明白如果订单正在改变它对结果的影响,所以我添加了D.

让p和B成为解决互斥问题的两种算法。换句话说,它们的结构由入口部分,临界部分和出口部分组成(但你不能假设它们满足互斥或死锁自由,除非另有说明)。假设算法A和B不使用相同的变量。我们构造了一个新的互斥算法C,如下:

算法C

  • A
  • 的输入代码
  • B的入境代码
  • 关键部分
  • B的退出代码
  • 退出代码A

对于以下每个断言,请证明或反驳其正确性。

  1. 如果A和B都无死锁,则C无死锁。
  2. 如果A和B都没有饥饿,C就是无饥饿。
  3. 如果A或B满足互斥,则C满足互斥。
  4. 如果A无死锁且B无饥饿,则C无饥饿。
  5. 如果A没有饥饿且B没有死锁,那么C就是无饥饿。
  6. 也是同样的问题,但这次是在D而不是C,其中D是:

    算法D

    • A
    • 的输入代码
    • B的入境代码
    • 关键部分
    • 退出代码A
    • B的退出代码

    谢谢!

0 个答案:

没有答案