进程同步与互斥基础

本文介绍了进程同步和互斥的基本概念,包括空闲让进、忙则等待、有限等待和让权等待四大准则。通过厕所与擦屁股纸的比喻生动解释了这些概念。此外,文章讨论了信号量在实现进程同步中的作用,区分了整型和记录型信号量,并提到了利用信号量解决进程间的依赖关系。
摘要由CSDN通过智能技术生成

一、基本概念

同步:为了完成某个任务而建立的两个或多个进程,这些进程为了需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。进程间的制约关系就是源于它们之间的相互合作。

互斥:当一个进程进入临界区使用临界资源是,另一个进程必须等待,当占用临界区资源的进程退出临界区以后才允许进入临界区,访问资源。注意,这里的一个并非卡死就一次只能一个进程访问临界资源。当信号量个数大于1的时候,一次可以有多个进程同时访问临界资源。前文的互斥定义只是最原始的定义。

二、同步准则

1)空闲让进:临界区空闲时,应该允许某个进程立即进入临界区访问临界资源。

2)忙则等待:当临界区进程访问数达到方位上限时,其他试图进入临界区的进程应该等待。

3)有限等待:应该避免进程一直等待永远进入不了临界区的情况。

4)让权等待:“权”即CPU使用权,当进程不能进入临界区的时候,应该放弃使用CPU,进入等待队列,而不是“忙等待”。

为了记忆,我们做个比喻:假设厕所就是临界区,擦屁股纸就是CPU。很不幸一个厕所只有一卷擦屁股纸。然后突然来了一群尿急的人在外面排队。厕所里没人了,当然应该让外面等的人进去(空闲让进);厕所里有人了,外面的人再尿急也应该等待(忙则等待);但是外面的人总不可能一直憋着不让上吧(有限等待);你不上厕所࿰

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值