互斥¶
来源:
操作系统 / note/进程管理/进程通信/互斥.md
上级:进程通信
互斥用于保证同一时刻最多只有一个进程或线程访问临界资源。
临界资源和临界区¶
- 临界资源:一次只允许一个执行流访问的共享资源。
- 临界区:访问临界资源的代码片段。
互斥要求¶
- 空闲让进:临界区空闲时,应允许一个请求者进入。
- 忙则等待:已有进程在临界区时,其他请求者必须等待。
- 有限等待:等待者不能无限期等待。
- 让权等待:不能进入临界区时,应尽量释放 CPU。
常用实现¶
- 关中断:只适合内核中的短临界区。
- 锁:通过硬件原子指令实现。
- 信号量:用 P/V 操作控制进入和退出。