临界区管理

一.临界区与临界资源

(一)、概念

并发进程中与共享变量有关的程序段临界区

共享变量代表的资源叫临界资源

(二)、临界区调度原则:

互斥使用,有空让进

忙则等待,有限等待

择一而入,算法可行

二、实现临界区的管理

(一)、Peterson算法

bool inside[2];
inside[0]=false;
inside[1]=false;
enum {0,1} turn;
cobegin
process P0( ) {                  
  inside[0]=true;                  
  turn=1;                             
  while(inside[1]&&turn==1);       
•  /* 临界区 */;                     
  inside[0]=false;                 
}            
   process P1( ) {
       inside[1]=true;
       turn=0;
      while(inside[0]&&turn==0);
•  { 临界区 };                    
     inside[1]=false;
}                                 

 (二)、实现临界期管理的硬件设施关中断

1、关中断:最简单的方法

2、测试并设置指令:

TS指令管理临界区时,可把一个临区与一个布尔变量s相连,由于变量s代表了临界资源的状态,可把它看成一把锁。

3、对换指令

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值