网站大量收购独家精品文档,联系QQ:2885784924

操作系统进程互斥及同步-互斥.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统进程互斥及同步-互斥

4.4 进程之间的约束关系 程序并发执行的相互制约 间接的相互制约关系 —— 资源共享(竞争资源系统) 直接的相互制约关系 —— 公共变量(进程协作) 间接制约 由共享公有资源而造成的对并发进程执行速度的间接制约。 受间接制约的类中各程序段在执行顺序上是任意的。 间接制约的几个进程是互斥关系 使用临界区应遵守的原则 各进程享有独立,平等的竞争共享资源的权利。 某个进程不在临界区,不阻止其他进程进入 排它性,只能有一个进程进入临界区 有限等待,某个进程申请使用临界区后,必须在有限的时间内离开。 4.5同步机构 操作系统提供的同步机构如下两种: 锁和上锁、开锁操作 信号灯和PV操作 开锁原语 算法 unlock 输入:锁变量w 输出:无 { w=0;∕*开锁*∕ } 信号灯 信号灯是整型变量。 变量值 ≥ 0 时,表示绿灯,进程执行; 变量值 ? 0 时,表示红灯,进程停止执行。 注意:创建信号灯时,应准确说明信号灯 s 的意义和初值 (这个初值 绝不能为负值)。 P 操作的实现 V 操作的实现 PV操作是通过原语实现的 4.6 进程互斥的实现 程序描述 pa( ) pb( ) { { ? ?  p(mutex); p(mutex); csa ; csb ; v(mutex); v(mutex); ? ? } } 信号灯可能的取值 两个并发进程,一个共享资源,互斥信号灯的值仅取1、0和-1三个值。 mutex=1 表示没有进程进入临界区; mutex=0 表示有一个进程进入临界区; mutex=-1 表示一个进程进入临界区, 另一个进程等待进入。 设:mutex为互斥信号灯,初值为1。 pa( ) pb( ) { { ? ? p(mutex); p(mutex); x:=x+1 ; x:=x+1 ; v(mutex); v(mutex); ? ? } } 50 互斥举例1: x代表某航班机座号,pa和pb两个售票进程,售票工作是对变量x加1。试用信号灯的P、V操作实现这两个进程的互斥。 上例中Pc和Pp进程的执行需解决进程间的直接制约,以最大限度的减少CPU时间的浪费。 如果终端A先来,对mutex进行P操作后,进入临界区,此时mutex为0。当它还没有处理完毕时,其它任何终端到来都因其执行P(mutex)后被阻塞,直到终端A执行了V(mutex)后将它们唤醒后才能进入其临界区对x进行操作,从而保证了只有一个进程进入临界区,避免了“与时间有关的错误” 的发生。 * 可以将该售票厅的每个窗口看作是一个临界资源为每个购票者进程共享,每个购票者进程只能使用其中一个窗口。 售票厅有20个窗口,所以有20个同类的临界资源,一次可以允许20个进程进入,并且先来者先进入。 由此可知:该问题满足互斥的2个必要条件(共享临界资源,共享方式是先来者先进入),所以该问题是互斥问题。 根据互斥问题的解决方法设置信号量并赋初值: 设置一个信号量mutex,初值为20。 用信号量的P、V操作将临界区括起来。 * 34 1. 进程互斥的概念 临界资

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档