59、硬件方式实现互斥

本文探讨了硬件方法实现互斥,包括屏蔽中断和专用机器指令,如TestSet和Exchange指令。虽然硬件方法能有效保证资源独占,但也存在忙等、饥饿和死锁等问题。
摘要由CSDN通过智能技术生成

软件方法

内存访问级

  • 设置一个全局变量来标记临界区是否空闲(flag = 1 || 0);
  • 需要一个仲裁程序来判定进程是否进入临界区;
  • Dekker‘s Algorithm,Peterson’s Algotithm
  • 能够解决两个进程的互斥;
  • 需要较高的额外开销;
  • 很容易出现逻辑错误;

硬件方法

屏蔽中断

  • 一个进程一直执行到被中断 或 是执行完毕自行退出;
  • 屏蔽掉系统中断后,就能保证其不会被系统中断其独占已经拿到的资源;
  • 代价及其高
  • 在多处理机系统中,屏蔽一个处理器的中断,并不会阻止其他处理器上的进程来竞争资源;

步骤

屏蔽中断 -> 进入临界区 -> 开启中断
所以,如果进入临界区的进程使用时间过长,对于系统的危害是非常大的;

专用机器指令

  • 机器指令会在一个指令周期内执行(在一个指令周期之间是没有中断点的,但是DMA是可以在机器指令中间实现断点);
  • 一个指令周期和另一个指令就避免了冲突ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值