https://jyywiki.cn/OS/2023/build/lect7.ipynb

互斥问题:定义与假设

互斥问题:定义

互斥 (mutual exclusion),“互相排斥”

typedef struct {
  ...
} lock_t;
void lock(lock_t *lk);
void unlock(lock_t *lk);

一把 “排他性” 的锁——对于锁对象 lk

互斥问题的经典算法

Peterson 算法

因此,假设很重要

实现互斥的基本假设

允许使用使我们可以不管一切麻烦事的原子指令

void atomic_inc(long *ptr);
int atomic_xchg(int val, int *ptr);