- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 廉租房、公租房维修项目方案.pdf VIP
- 初次申请国家自然基金就中标后经验感想.ppt VIP
- 环境保护概论——大气污染及其防治 .docx VIP
- 研究型大学本科生科研能力提升策略.docx VIP
- 2025年四川巴中市中考自主招生数学试卷真题(含答案详解).docx VIP
- 2025-2026学年岭美版(2024)小学美术一年级上册(全册)教学设计(附目录P148).docx
- 模板周转施工方案(参考样本).docx VIP
- 搬运装卸服务外包安全文明保障方案.docx VIP
- 新型分离技术课件第6章-分子蒸馏.ppt VIP
- 《0~3岁婴幼儿动作发展与指导》项目一 0~3岁婴幼儿动作发展概述.pptx VIP
文档评论(0)