基于操作系统中进程同步的实现方法.pdfVIP

基于操作系统中进程同步的实现方法.pdf

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于操作系统中进程同步的实现方法

174 福建电脑 2008年第4期 基于操作系统中进程同步的实现方法 尤新华 (湖北大学知行学院计算机系湖北武汉430011) 【摘要l:用PV操作解决进程g-]步问题时首先应确定问题是属于进程互斥还是进程同步,或是互斥与g--]步的混合问 题。然后根据共事资源的数量以及使用共享费泺的规则正确的定义信号量及其初值.合理运用PV操作防止进程死锁,给出分 析进程同步与互斥的方法来编制程序. 【关键词】:进程;同步;互斥;临界资源;P操作;V操作 在多道程序环境下.当程序并发执行时。由于资源共享和进 数. 程合作.使同处于一个系统中的诸进程之问可能存在间接相互 2.2PV操作实现进程同步 制约和直接相互制约步的一种常用工具. 与进程互斥不同.进程同步时的信号量只与制约进程及被 1.正确区分互斥与同步 制约进程有关而不是与整组并发进程有关.所以称该信号量为 进程的同步是指在异步环境下的并发进程因直接制约而互 私有信号量.利用PV原语实现进程同步的方法是:首先判断进 相发送消息,进行相互合作、相互等待。使得各进程按一定的速度 程问的关系为同步的。且为各并发进程设置私有信号量:然后为 执行的过程:而进程的互斥是由并发进程同时共享公用资源而 私有信号量赋初值.进程通过调用P操作来测定自己需要的 造成的对并发进程执行速度的间接制约.无论是同步还是互斥. 消息是否到达.通过调用V操作把其它进程需要的消息发送出 都是在执行的时间顺序上对并发进程的操作加以某种限制.对 去。 于互斥的进程,它们各自单独执行时都是正确的;同步的进程,它 2.2.1利用信号量实现前趋关系 们各自单独执行会产生错误,必须互相配合共同推进,也就是说。 首先找出所有的前趋关系. 同步条件高.同步一方面要互斥进入临界区使用临界资源.另一 然后对每一种前趋关系(如1si川i 方面进入临界区有先后顺序. )专门设置一初值为0的信号量。 2.用信号量实现进程互斥与同步 并在Si结束之后执行对该信号 一个信号量的建立必须经过说明.即应该准确说明S的意 量的V操作,而在Si开始之前执 义和初值.信号量的值仅能由PV原语来改变.P操作是申请资行对该信号量的P操作.这样便 源.它使信号量值减l,若结果非负,该进程继续,否则该进程被封 可保证程序段Si执行完后才执 锁;V操作是释放资源,它使信号量值增l,若结果大于零,该进程 行程序段Si. 图l前趋图 继续,否则从该信号量的等待队列中移出一个进程,解除它的等 例如图l有5个前趋关系做设5个信号量S12、S13、$24 待状态. 2.1PV操作实现进程互斥 成。第i个进程能否开始. 用于互斥的信号量mutex与所有的并发进程有关。称之为 上述方法考虑的是有向边的个数.我们也可以根据结点来 公有信号量.公有信号量的值反映了可用该公有资源的数量.要 设置信号量.在前趋图中,有几个有后继的结点,就设几个信号 量,且初值为零,表示该结点表示的进程是否完成,此时。一个结点 实现进程互斥。只需用P(mutex)、V(mutex)框住临界区CS.程序 如下: 有几个后继.要做几次V操作. C 进程A: 进程B: 图l中,有5个结点有后继,故设5个信号量a…bd、e初 P(mutex);P(mutex); 值均为零。分别表示Pl、P2、P3、P4、P5是否执行完成,程序如 CSA; CSB; 下: V(mutex);V(mutex); 进程P1: 进程P

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档