进程管理——进程同步(互斥的软硬件实现)

一、互斥的硬件实现(要注意进程的并发所带来的异步对算法造成的影响)(完全可以类比排队上厕所)

四个过程:

进入区:检查厕所是否有人。若有人,等;若没有人,进入并锁门

临界区:开始工作,其他人不能进入()

退出区:开门

剩余区:其他事情

 1.单标志法

这个好理解,就是给厕所加把锁加个钥匙,厕所管理员先把钥匙给一个指定的人,里面的人拿钥匙,出来后把钥匙给另外一个人。但问题在于,如果拿钥匙的人一直不进去,其他人也进不去,厕所就一直空着。不满足“有限等待原则”。

2.双标志先检查法

这个算法按照每个人的进入意愿来判断谁先用厕所。最开始设置为每个人都不想进。先看有没有人想用,再表达自己想用的意愿。然其他人收到他的意愿,都在外等待。海盗甲检查完没人想用后才关门使用。

违反了“忙则等待”原则。

 3.双标志后检查法 

这个算法是双标志先检查法的改版,先表达想要进入的意愿,再看有没有其他人想进。(不满足“空闲让进”、和“有限等待原则”,会产生“饥饿”现象)

 4.peterson算法

 这个算法是1、3算法的结合。很好的体现了中华民族的谦让美德。

先表示自己想要使用厕所,后谦让一下,表示先让其他人用。当其他人不想用,且最后是自己进行了谦让,自己就能进。

会发生“让权等待”

 

 
5.总结 

 二、互斥的硬件实现

1.中断屏蔽

从开门进入到关门离开都不允许被打断(派政府人员强制执法);

不适合多个厕所的情况(一个厕所一个执法人员,系统开销太大)

注:类比不是特别合适,暂时就这样吧。

 

2.TSL指令

(堵在门口,看厕所的锁是不是锁着,并表示自己想用厕所)一系列原子操作,不会被打断

且适合多处理机(多个厕所),很明显不符合“让权等待”。

 

3.Swap指令 

 4.总结

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mu Haitian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值