操作系统之进程管理:8、进程互斥的软件实现方法(单标志、双标志、Peterson)

思维导图

在这里插入图片描述

引言

在这里插入图片描述

上图中,进程AB同时访问打印机资源,这样就可能将AB的打印内容混在一起了,所以我们需要通过进程互斥来对资源进行访问控制

1、单标志法

在这里插入图片描述

我们用一个例子来说明:
小渣问老渣,你现在想用马桶吗?老渣说我现在不想用。小渣说:那我用了,下次让你先用。到了下次,小渣说你先用马桶,我是有原则的人,老渣却说,我不想用。这样小渣就要一直等。这样马桶就空下来了。违反了空闲让进的原则。只能轮询使用

2、双标志法

双标志先

在这里插入图片描述在这里插入图片描述

来看这样一个问题:
小渣问老渣你想用马桶吗?小渣一直在等老渣的回复。老渣突然问小渣你想用马桶吗?此时小渣说我想用,老渣也说我想用,然后俩个人一起走向了一个马桶。所以这种情况违反了忙则等待的原则。

双标志后检查法

在这里插入图片描述

来看这样一个问题:
当小渣想用马桶时,老渣同样也想要用马桶;然后小渣问老渣你想用吗?想用那你可以先用我等着。然后老渣又问小渣:你想用吗?你想用你先用我等着。就这样,俩个人都在等着,谁也不用。对于机器而言,俩个进程都不敢访问临界区(因为对方想用),这样就会进入无限的等待。这样虽然解决了忙则等待的问题,但违反了空闲让进有限等待的原则。进而产生饥饿现象。

3、Peterson算法

在这里插入图片描述
在这里插入图片描述

来看例子:
小渣对老渣说:我想用马桶但是我可以让你先用。
老渣对小渣说:我想用马桶但是我也可以让你先用。
小渣说:那我不客气了。

  • 9
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值