第3章进程的同步与通信.pptxVIP

  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文档。上传文档
查看更多
Chap.3 进程的同步与通信 ;3.1 进程间的相互作用;1.进程间的联系;直接作用和间接作用 直接作用: 进程间的相互联系是有意识的安排的,直接作用只发生在相交进程间 间接作用: 进程间要通过某种中介发生联系,是无意识安排的,可发生在相交进程之间,也可发生在无关进程之间;进程的同步(直接作用);同步问题1;缓冲区;进程的互斥(间接作用);临界区(互斥区):critical section; 每个进程 互斥访问临界资源的那段代码称为临界区。代码构成如下: repeat entry section 进入区 —申请进入临界区 critical section 临界区 —访问临界资源 exit section 退出区 —退出对临界资源的访问 remainder section 剩留区 — 进程的其他代码 until false ;使用互斥区的原则;前提:任何进程无权停止其它进程的运行 进程之间相对运行速度无硬性规定 进程互斥的解决有两种做法: 由竞争各方平等协商 引入进程管理者,由管理者来协调竞争各方对互斥资源的使用 具体方法: 硬件 软件;软件解法 (1);软件解法 (2);软件解法的缺点: 1. 忙等待 2. 实现过于复杂,需要高的编程技巧 硬件解法:提供专门的硬件指令,允许对一个字的内容进行检测和修正,或交换两个字的内容 目的:解决共享变量的完整性和正确性 简单、有效,特别适用于多处理机 缺点:忙等待 ;硬件解法 (1) “测试并设置”指令;以两进程P1、P2并发执行为例,如果P1先执行:; 如果P2先执行:若P2先进入临界区,则P1循环执行TS指令,直到P2退出临界区。;2.进程的同步机制──信号量及P.V操作;进程的同步机制(续);1965年,由荷兰学者Dijkstra提出(所以P、V分别是荷兰语的test(proberen)和increment(verhogen)) 一种卓有成效的进程同步机制 最初提出的是二元信号量(互斥) 推广到一般信号量(多值)(同步) 广泛应用于存在临界资源和临界区控制的场合;Semaphores (proposed by Dijkstra in 1965);信号量:semaphore; ① S.value := S.Value + 1; ② 若 S.Value 0 进程继续执行。 若 S.Value ≤ 0 则释放S等待队列中的一个进程 , 使之转为就绪状态。; P 操作 Procedure P(s); Var s:semaphore; begin s.value:= s.value-1 if s.value ? 0 then block(s.L) end;; 说明: ① S.Value 0 时,其值表示某类资源可用数量。 S.Value ≤ 0 时,其绝对值表示在信号量队列中等待 该资源的进程数。 ② P、V操作有严格的不可分割性;执行过程不允许中断; ③ P、V操作成对出现。 ;Another Meaning from Semaphore;1、利用信号量实现进程互斥;Mutual Exclusion Achieved by Using Semaphore;The Bounded-Buffer Problem 1;设 mutex —公共互斥信号量 初值:mutex.Value = 1;2、实现进程间的同步;实现进程间的同步; 分析:打印进程与计算进程之间有两个约束: 1)计算进程只有当缓冲区为空时,才能放入计算结果。 2)打印进程只有当缓冲区有结果时,才能从缓冲区取 计算结果打印。;信号量机制的基本原理;Another Meaning from Semaphore;The Bounded-Buffer Problem 2;Synchronization Between Producer and Consumer;Classical Synchronization Problems;经典的生产者─消费者问题;生产者—消费者问题分析;Synchronization Between Producer and Consumer;;Mutual Exclusion Among Producers/Consumers;A Solution to the Bounded-Buffer P

文档评论(0)

职教魏老师 + 关注
官方认证
服务提供商

专注于研究生产单招、专升本试卷,可定制

版权声明书
用户编号:8005017062000015
认证主体莲池区远卓互联网技术工作室
IP属地北京
统一社会信用代码/组织机构代码
92130606MA0G1JGM00

1亿VIP精品文档

相关文档