临界资源:一次只允许一个进程使用的资源。
同步:又称直接制约关系,两个进程的发生要满足一定的先后顺序。
互斥:不能让两个进程同时访问临界资源。
临界区互斥的实现方法
软件实现方法
①单标志法
违背“空闲让进”
②双标志法先检测
优点:不用交替进入,可连续使用。
缺点:可能两个进程同时进入临界区。
③双标志法后检测
若两个进程几乎同时想进入临界区会导致双方互相谦让,谁也进不了临界区的饥饿情况。
④Peterson’s Algorithm
硬件实现方法
①中断屏蔽方法
②硬件指令方法
实现简单,适用于多处理机环境,不满足让权等待
TestAndSet指令:
Swap指令:
互斥锁
必须是原子操作
信号量
整型信号量
不满足让权等待原则,可能会出现忙等的情况,在等待过程中一直占用处理机