今天看啥  ›  专栏  ›  itczt

操作系统学习笔记(十二)

itczt  · 简书  ·  · 2019-04-23 19:38

锁机制

  • 设置一个“标志”S

表明临界资源“可用”还是“不可用”?1:0

上锁操作:进入临界区之前检查标志是否“可用”?
若为“不可用”状态,进程在临界区之外等待
若为“可用”状态

访问临界资源
且将标志修改为“不可用”
开锁操作:退开临界区时将标志修改为“可用”状态

上锁操作

步骤
第一步:检测锁S的状态(0或B)
第二步:如果S=0,则返回第一步
第三步:如果S=1,则置其为0

LOCK(S)   //(S==0)
{
goto test;//测试所标志
else //S==1
S=0;//上锁
}
上锁原语

开锁操作

步骤
第一步:把锁的状态置1

UnLock(s) //开锁操作
S=1;开锁

用锁机制访问临界区

步骤:
1.初始化锁的状态S=1(可用)
2.进入临界区之前执行上锁Lock(s)操作;

3.离开临界区之后执行开锁unLock(s)操作;

锁机制的应用

用锁机制访问临界区





原文地址:访问原文地址
快照地址: 访问文章快照