操作系统 - 第六章 进程同步

2017-10-24  本文已影响0人  Dizy

进程同步

并发的进程之间相互合作,完成一项工作,它们之间有一定的时序关系。相互制约(如:一个进程等待另一个进程的变量结束)

使用私有信号量实现

进程互斥

并发进程之间相互竞争临界资源的排他性关系,利用公共信号量实现互斥

6.1 背景

临界区的访问规则:

互斥(Mutual Exclusion)

前进(Progress)

有限等待(Bounded Waiting)

6.2 临界区问题

临界区:进程访问临界资源的代码段

解决互斥的方法

软件方法

在进入区检查和设置一些标志,如果已有进程在临界区,则在进入区通过循环检查进行等待;在退出区修改标志。

算法1:单标志位

缺点:进程强制轮流进入临界区,容易造成资源利用不充分。

算法2:双标志位(先检查)

设立一个标志数组flag[]:描述进程是否在临界区,初值均为FALSE

先检查,后修改

优点:不用交替进入,可连续使用

缺点:进程i和进程j可能同时进入临界区

算法3:双标志法(先修改)

类似算法2,区别在于先修改后检查

优点:防止两个进程同时进入临界区

缺点:进程i 和进程j可能都进入不了临界区

6.3 Peterson算法

硬件方法

临界资源(互斥资源)

上一篇 下一篇

猜你喜欢

热点阅读