1.禁用中断:
无中断则无切换
- 屏蔽中断后,硬件事件无法得到及时的响应
- 针对于临界区很小的情况是有效的
- 多CPU并行执行时,只屏蔽一个CPU是无用的,无法解决互斥问题
2.软件方法
必须交替运行
临界区三大属性:progress、互斥,不会无限等待
无互斥性
反证法
dex算法:
N进程解决方法1:
N进程解决方法2:
共享turn
3.更高级的抽象
被封装成一条机器指令,因此无中断及上下午切换
高优先级进程一直处在忙等导致低优先级进程一直无法释放锁?
无忙等为何会增加上下文切换的开销?