互斥:软件算法
标签(空格分隔): 操作系统 互斥
软件方法的实现方式能够解决并发进程在一个或者多个共享内存的处理器上执行的问题。这些方法通常是基于在访问内存是基本互斥条件的假设。即,尽管访问的顺序没有具体安排,同时访问内存中的同一个地址的操作被内存仲裁串行化(没有丢失)。此外,没有考虑硬件、操作系统或是编程语言的支持(相对通用)。
Dekker算法
boolean flag[2]; //这里用两个进程举例,有两个flag
int turn;
void P0(){
while(true){
flag[0] = true;
while(flag[1]){
if(turn == 1){
flag[0] = false;

本文探讨了在操作系统中实现互斥的软件算法,包括Dekker算法和Peterson算法。Dekker算法通过设置flag和turn变量确保临界区的互斥访问,而Peterson算法则通过每个进程的flag和turn标志实现类似目的。这两个算法都是为了解决多进程在共享内存环境中并发执行时可能出现的问题。
最低0.47元/天 解锁文章
525

被折叠的 条评论
为什么被折叠?



