顺序一致性
1个回答
展开全部
【案例1】只有两个进程的互斥协议
分析:
如果process 1先执行 if(b==0) 或者process 2先执行 if (a==0) ,即存在一个进程的执行顺序和定义顺序不一致(可能是由于编译器或者处理器的优化措施导致),就有可能导致两个进程同时进入临界区域,从出现错误。因此必须要求: 从单个进程来看,每个处理器的执行顺序必须和定义顺序一致 ,从而就禁止了编译器或者处理器的优化措施。
从上述要求1,可以得出下面两个有用的推论:
【案例2】假设每个内存模块都有多个端口,一个端口服务一个处理器。假设 a 和 b 被存储在不同的内存模块中,现在发生了以下事件:
现在有两个操作等着被内存块2执行,如果处理器2的 fetch a 请求先被执行,则同时有两个进程进入临界区域。进而有第二个要求:
单个内存块必须按照先来先服务的规则来处理来自多个处理器的所有请求。
【参考资料】
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询