Operating system 在关键部分问题中,退出部分中的流程是否会影响下一步哪个流程将执行其关键部分的决策?

Operating system 在关键部分问题中,退出部分中的流程是否会影响下一步哪个流程将执行其关键部分的决策?,operating-system,critical-section,Operating System,Critical Section,这本书是Avi Silberschatz的操作系统概念。由于退出部分中的流程已经执行了其关键部分,是否应该允许它们影响决策?我认为目的是说,只有竞争执行其关键部分的流程才允许参与决定哪一个流程实际获得此权限 我的理解是,代码被划分为四个不重叠的类别;“进入”、“关键”和“退出”三个部分一起与“关键部分”问题相关,程序其余部分的全部内容即为“剩余部分”。正文特别指出,剩余部分中的代码不能参与决定哪个进程被授予对关键区域的独占访问权 我想作者不想排除退出部分中的进程决定“进程Y,你下一步”的可能性,

这本书是Avi Silberschatz的操作系统概念。由于退出部分中的流程已经执行了其关键部分,是否应该允许它们影响决策?

我认为目的是说,只有竞争执行其关键部分的流程才允许参与决定哪一个流程实际获得此权限

我的理解是,代码被划分为四个不重叠的类别;“进入”、“关键”和“退出”三个部分一起与“关键部分”问题相关,程序其余部分的全部内容即为“剩余部分”。正文特别指出,剩余部分中的代码不能参与决定哪个进程被授予对关键区域的独占访问权


我想作者不想排除退出部分中的进程决定“进程Y,你下一步”的可能性,尽管通常的解决方案不同(Dijkstra的信号量算法)。

在标题中,你问他们是否可以,但在实际问题中,他们是否应该能够。我想不出哪种情况下我会对任何一个问题回答“是”,但你的问题的范围并不清楚。你能澄清为什么你想知道这一点,以及在可能的情况下,你将如何合理化设计吗?不管怎样,我不确定这是关于堆栈溢出的主题。这本书说,任何不在必选部分的进程都会影响决策部分,但我想知道事实是否如此,因为它看起来是错误的,嗯?您引用的文本说明了一些完全不同的内容:“……只有那些未在其剩余部分执行的进程”这就是我想澄清的。。。。如果一个过程在剩余部分,这意味着它在关键部分完成,如果在退出部分,这意味着同样的事情。。。。但我们允许处于退出状态的流程(根据文本)影响决策。那么,允许处于剩余状态的进程影响决策(如果您允许处于退出状态,那么您也应该允许处于剩余状态,或者您不应该同时允许处于剩余状态和退出状态)与定义这些操作系统文本中使用的通用语言有什么不同呢?定义这些操作系统文本中使用的通用语言与试图将果冻钉在墙上非常相似。“退出部分”需要恢复使用的任何管道,以便操作系统准备好允许另一个进程进入关键部分。在现代机器上,这是一条单cpu指令,尽管它包含在内核调用中。很明显,当清理正在进行时,它还没有准备好允许另一个进程进入。不,当一个进程在“剩余部分”中时,它正在执行受关键部分保护的代码。