操作系统学习记录之七:临界区

互斥与临界区


临界资源:互斥共享变量所代表的资源,即一次只能被一个进程使用的资源;
临界区指并发进程中与互斥共享变量相关的程序段;
多个并发进程访问临界资源时, 存在竞争制约关系;

 如果两个进程同时停留在相关的临界区内,就会出现与时间相关的错误;

临界区的描述:

确定临界资源;
确定临界区;
两个进程的临界区有相同的临界资源,就是相关的临界区,必须互斥进入;
两个临界区不相关,进入就没有限制;
 

临界区管理的三个要求:

一次至多允许一个进程停留在相关的临界区内;
一个进程不能无限止地停留在临界区内;
一个进程不能无限止地等待进入临界区;
Notes:在临界区发生中断可能会引起死锁,所以应该避免在临界区发生中断;

实现临界区管理的硬件设施:

 

TS和swap指令均是忙式等待,效率低;
简单的解决办法是在进出临界区时开关中断,这样临界区执行就不会中断了,执行就有原子性;
关中断; 临界区; 开中断
操作系统原语就采用这种实现思路;
但是,临界区的指令长度应该短小精悍,这样才能保证系统效率,不建议用户程序使用, 滥用是可怕的!
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值