软件实现方法
在进入设置区设置并检查一些标志来标明是否有进程在临界区,若已经有进程在临界区,则在进入区通过循环检查进行等待,进程离开临界区后,则在退出区修改标志。
1)算法一:单标志法

2)算法二:双标志先检查

3)算法三:双标志法后检查

4)算法四:Peterson`s Algorithm



硬件实现方法
计算机提供了特殊的硬件指令,允许对一个字的内容进行检测和修正,或对两个字的内容进行交换,通过硬件支持实现临界段问题的方法称为低级方法,或称元方法。
(1)中断屏蔽法

(2)硬件指令法




用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作,从而很方便的实现了进程互斥,进程同步。
信号量其实就是一个变量(可以是一个整数,也可以是更复杂的记录型变量),可以用一个信号量来表示系统中某种资源的数量。
wait(S)和signal(S)原语常简称为P(S)、V(S)。
整型信号量

记录型信号量



利用信号量实现同步


利用信号量实现进程互斥
1)分析并发关键活动,划定临界区
2)设置互斥信号量 初值为1


利用信号量实现前驱关系

