操作系统( 第四版) 高职应用技术专业 汤承林 张爱国 第7章 进程的并发.pptVIP

操作系统( 第四版) 高职应用技术专业 汤承林 张爱国 第7章 进程的并发.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 第7章 进程的并发 7.1 进程的PV操作 7.2 进程的互斥 7.3 进程的同步 7.4 死锁 7.5 进程通信 本章目标 理解与掌握进程的临界区、PV操作的基本知识。 理解与掌握进程的互斥与同步的基本知识。 理解与掌握进程通信的信箱的基本知识。 7.1 进程的PV操作 7.1.1 进程的并发性 7.1.2 临界区和临界资源 7.1.3 PV操作 7.1.1 进程的并发性 在多道程序设计的系统中,若干个作业可以同时执行,而每一个作业又需要有多个进程的协作来完成。因此,系统中会同时存在许多进程,在单处理器的情况下,这些进程轮流地占用处理器.即一个进程的工作没有全部完成之前,另一个进程就可开始工作,我们说这些可同时执行的进程具有并发性,并且把可同时执行的进程称为并发进程。 7.1.2 临界区和临界资源 1.临界资源 一次仅允许一个进程使用的资源称为临界资源。 2.临界区 每个进程中访问临界资源的那段程序称为临界区。 3.与时间有关的错误 4. 临界区的管理要求: ① 一次至多一个进程能够进人临界区,当有进程在临界区执行时,其它想进人临界区执行的进程必须等待; ② 不能让一个进程无限制地在临界区执行,即任何一个进人临界区的进程必须在有限的时间内退出临界区; ③ 不能强迫一个进程无限地等待进入它的临界区,即有进程退出临界区时应让一个等待进入临界区的进程进入它的临界区执行。 空则让进、忙则等待、等则有限、等则让权。 例如,某游乐场设置了一个自动计数系统,用一个计数器count指示在场的人数,。当有1人进人时,进程P1实现计数加1,当退出1人时,进程P2实现计数减1。假定某时刻的计数值count=n,这时有一个人要进入,正好另一个人要退出,于是进程P1和P2都要执行。那么各自完成了count+1和count-1的工作后,计数器的值为多少? 7.1.3 PV操作 PV操作是由两个操作P操作和V操作组成。这两个操作是两个不可中断的过程,它们在屏蔽中断的情况下连续执行。把不可中断的过程称作原语,于是P操作和V操作也可称为P操作原语和V操作原语简称PV操作。PV操作是对信号量进行操作,它们的定义如下: P操作P(S)将信号量S减去1,若S0则调用P(S)的进程被置成等待信号量S的状态。 V操作V(S):将信号量S加1,若S≤0,则释放一个等待信号量S的进程。 (1)信息号S是一个特殊的整型变量,信量号S的值描述了可用资源的数量或等待该资源的进程个数,当S≥0时表示可用资源数;当S<0时其绝对值|S|表示等待该资源的进程数。 (2)W(S)表示将调用过程的进程置成等待信号量S的状态。 (3)R(S)表示释放一个等待信号量S的进程。信号量S的初值为0或1或其它整数,它应在系统初始化时确定。 7.2 进程的互斥 进程的互斥是指:当有若干个进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用,其它要使用该资源的进程必须等待,直到占用资源者释放了该资源。 利用P-V操作实现互斥: A进程 B进程 ……. …….. p(s) p(s) 临界区 临界区 v(s) v(s) ……. ……. int count; semaphore S; S=1; void P1() { while(true) { int R1; P(S); R1=count; R1=R1+1; count=R1; V(S); } 7.3 进程的同步 进程的同步是并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到这才被唤醒。 PV操作不仅可以用来实现互斥进入临界区而且还是一个简单而又方便的同步工具,用它来解决生产者/消费者问题。 例1:现在假定有一个生产者

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档