- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 六 讲 进 程 的 同 步(续) 例3:哲学家吃通心面问题 上述解法可能出现永远等待,有若干办法可避免死锁: 至多允许四个哲学家同时拿左边筷子; 奇数号先取左边的叉子,偶数号先取右边的叉子; 每个哲学家取到手边的两把叉子才吃,否则一把叉 子也不取。 例4:读者写者问题 因此,当Readcount=0, 表示尚无Reader进程在读时,Reader进程才需要执行wait(Wmutex)操作。若wait(Wmutex)操作成功,Reader进程便可去读,相应地,做Readcount+1操作。 同理,仅当Reader进程在执行了Readcount减1操作后其值为0时,才须执行signal(Wmutex)操作,以便让Writer进程写。 var Readcount : integer:=0; Wmutex,Rmutex: semaphore; Readcount := 0; /* 读进程计数 */ Wmutex := 1; Rmutex := 1; procedure read; procedure write; begin begin P(Rmutex); P(Wmutex); if Readcount =0 then P(Wmutex); 写文件; //是第一个读者 V(Wmutex); Readcount := Readcount + 1; end; V(Rmutex);//允许下一读者进入 读文件; P(Rmutex); Readcount := Readcount - 1; if Readcount = 0 then V(Wmutex); //没有读者了 V(Rmutex); end; 2.5 进程的通信 一、进程通信的概念 进程通信的定义:进程间的信息交换。 信号量及PV操作可实现进程互斥和同步,但缺乏传输大量消息的能力。这是一种低级的、间接的通信方式。 。进程通信是指进程之间可直接以较高的效率传递较多数据的信息交换方式。这种方式中采用的是通信机构。 所谓信件是指进程之间相互传递的赖以发生交互作用的有结构的数据。 通信机构将紧密地与进程的阻塞和释放相联系。 这样,进程间的通信就进一步扩充了并发进程 间对数据的共享。 二、进程通信的类型 1、进程的通信方式有:共享存储器方式、消息传递方式。 共享存储器方式分为共享数据结构方式和共享存储区方式 共享数据结构方式比如临界区,该数据类型的设置及管理必须由程序员完成,因此不常用,是低效的 共享存储区方式即信箱通信 进程通过对共享存储区中数据的读写来实现通信 消息传递方式 message为传递单位,也称报文 程序员通过系统提供的通信原语进行通信,操作系统隐藏了通信的细节 有直接和间接两种方式 三、消息传递系统的实现 1、消息传递方式有直接和间接两种。 2、直接通信方式 使用原语 Send(Receiver,message):发送一个消息给接收方, Receive(Sender,message):接收sender发来的消息 接收进程可与多个发送进程通信,接收原语中的源进 程参数,可灵活设置 3、间接通信方式 建立在共享数据结构的基础上实现通信 信件 信件内容包括发送者名信息(或信息存放地址和 长度)和等/不等回信;回信存放地址。 利用信箱实现通信 信箱 若干个进程都可向一个进程发送信件,接收的进程设立一个信箱。信箱大小决定了可以容纳的信件数。 每个信箱由“信箱说明”和“信箱体”两个部分组成。 通信原语 “发送”(Send)原语和“接收”(Receive)原语。 为避免信件的丢失和错误地索取信件,通信时应 遵循同步规则。 接收原语: S1为信箱满否信号量,初值为信箱B容量n; S2为信箱中当前信件数的信号量,初值为0。 算法 Receive(B,X) 输入:信箱B,接收区X 输出:无 { 根据信箱B找到该信箱(或接收进程)信号量S2; P(S2);//查询有无信件可取?若无则阻塞等待 X=B[J]; /*从信箱中取一封信件*/ J=(J+1) mod n; /*调整取信指针*/
您可能关注的文档
- 第二讲:先秦思想发展概要 春秋(一)孔子.ppt
- 第二讲、企业愿景与任务2.ppt
- 第二讲:创业革命与创业模型.ppt
- 第二讲:电子政务与政府改革.ppt
- 第二讲:温情的古典经济学.ppt
- 第二轮专题 诗歌鉴赏解题模式.ppt
- 第二讲:宋词漫步(苏轼).ppt
- 第二部分 三相异步电动机.ppt
- 第二部分 人际沟通效能:了解他人,相.ppt
- 第二部分 专题六 第二讲 语言、表达技巧.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
最近下载
- 《市政排水管道气囊封堵施工规程》.pdf
- TOPRAAD920印刷模切开槽机.pdf VIP
- 单相整流电路建模与仿真.doc VIP
- 缺血性脑血管病临床管理指南解读.pptx VIP
- 工程概算预算审核方案(3篇).docx VIP
- 神经重症气管切开患者气道功能康复与管理专家共识2024.pptx VIP
- 2025年监理工程师之监理概论考试题库及答案(名师系列).docx VIP
- 2025年监理工程师之监理概论押题练习试卷B卷附答案 .pdf VIP
- 2025年监理工程师之监理概论考试题库及完整答案(必刷).docx VIP
- 2025年监理工程师之监理概论押题练习试卷A卷附答案 .pdf VIP
文档评论(0)