进程互斥的硬件实现方式【操作系统学习笔记】
19.进程互斥的硬件实现方式
文章目录
- 19.进程互斥的硬件实现方式
- 🍅中断屏蔽方法
- 🍅TestAndSet(TS指令/TSL指令)
- 🍅Swap指令(XCHG指令)
🍅中断屏蔽方法
- 使用“开/关中断”指令实现
- 关中断:不允许当前进程被中断,自然也不会发生进程切换了
- 直至访问完临界区后再开中断,才可使得别的进程上处理机并访问临界区
- 优点:简单高效
- 缺点:只适用于单处理机;只适用于操作系统内核进程,不适用于用户进程(因为开/关中断指令只能运行在内核态,不能让用户使用)
🍅TestAndSet(TS指令/TSL指令)
-
TSL指令是用硬件实现的,执行的过程不允许被中断,只能一气呵成
-
old记录是否已被上锁;再将lock设置为true;检查临界区是否已被上锁(若已上锁,则循环重复前几步)
-
优点:实现简单;适用于多处理机环境;
- 比软件方式好很多
-
缺点:不满足“让权等待”,会导致“忙等”
🍅Swap指令(XCHG指令)
-
TSL指令是用硬件实现的,执行的过程不允许被中断,只能一气呵成
-
逻辑上等同于TSL指令
-
优点和缺点同TSL指令