Operating system 一个针对关键部分和挑战的软件解决方案

Operating system 一个针对关键部分和挑战的软件解决方案,operating-system,semaphore,critical-section,mutual-exclusion,Operating System,Semaphore,Critical Section,Mutual Exclusion,每个过程都试图无限次地进入临界截面CS。进程使用waiti进入CS,使用Signali退出CS。i在{0,1}中是一个多进程。C是一个长度为2的数组,该数组来自初始化为True的二进制变量 以下哪一项是错误的: a该解满足互斥性 b此解满足有界等待 c此解满足CS的所有条件 d该解满足进度条件 我的教授说c是对的。但是我认为a,b,c,d对于这个问题是正确的。任何人都可以帮助我 a为false:如果两个进程都调用Wait,它们会将另一个进程的标志设置为false,并能够穿越循环 但是c也是假的。

每个过程都试图无限次地进入临界截面CS。进程使用waiti进入CS,使用Signali退出CS。i在{0,1}中是一个多进程。C是一个长度为2的数组,该数组来自初始化为True的二进制变量

以下哪一项是错误的:

a该解满足互斥性

b此解满足有界等待

c此解满足CS的所有条件

d该解满足进度条件


我的教授说c是对的。但是我认为a,b,c,d对于这个问题是正确的。任何人都可以帮助我

a为false:如果两个进程都调用Wait,它们会将另一个进程的标志设置为false,并能够穿越循环


但是c也是假的。

你可能是指1-i。我知道,亲爱的@YvesDaoust,但在这个问题上,我的意思是a到d是假的。但是我的教授说c是这个问题的答案。亲爱的@YvesDaoust,a和d也不满意。说c是假的是一个模棱两可的说法。这可能意味着a、b、c中没有一个是真的,或者至少有一个是假的。亲爱的@YvesDaoust,你能在聊天中继续讨论吗?亲爱的Yves,你在吗?我发现了一些新的东西,正在等着你。
Wait (i) {
      c[i]=false;
       while ( c[1-i]) do;
}


Signal (i) {
     c[i]=true;
}