我的困惑是因为进程之间存在进程间通信。这会改变回滚的位置吗?我的答案是R13,R23,R32和R43。任何帮助是极大的赞赏!谢谢!
答案 0 :(得分:1)
您需要回滚到可以始终重新启动进程的位置。进程间通信意味着您不能让一个进程在通信之后恢复,而另一个进程在该通信之前恢复。
P3必须回滚到R32。因此,其他流程需要恢复到之后的任何通信之前。
答案 1 :(得分:0)
要遵循一条规则:您无法回滚到某个进程收到尚未发送的消息的位置。如果您遵循这一点,您的全局检查点将一致。
此外,您必须决定回滚哪些进程。如果你不需要,不要扔掉工作。您需要回滚的唯一线程是错误的线程。其他人只会为了使检查点保持一致而回滚。
在我看来,(i) - (iv)的一个答案将与其他三个(将是相同的)不同。