- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二节 进程通信 进程之间的通信方式有三种: 共享存储器: 即多个进程拥有对同一块内存的访问权限,通过读写相 同的变量达到通信的目的。 消息传递系统: 即进程之间通过寄信的方式向对方传递消息。 PIPE: 借助于临时文件进行通信。 进程通信的目的: 传送信号,以协调合作进程之间的动作。 传送信息 计算机每条指令执行完毕后均可能发生进程切换 多个进程不加控制地同时访问一批共享变量… 假设某游乐场有一个入口和一个出口,管理人员需要随时了解当前游乐场中有多少游客,进程IN和进程OUT分别承担在入口处和出口处统计游客数的任务。当前游客数存放在两个进程都能存取的共享变量counter中(counter可能位于共享内存段或共享文件中,共享的位置不会影响进程通信的本质和所带来的问题)。两个进程的代码描述如下: 当一个游客进入,同时另一个游客出来时;IN和OUT会同时运行。 令count 的初值为1000,考虑以下三种情况: In运行完毕后OUT运行 IN1 IN2 OUT1 OUT2 IN3 OUT3 OUT1 OUT2 IN1 IN2 OUT3 IN3 问题的关键是:在一个进程(IN)修改共享变量count的整个时间段,系统应该禁止对count 的任何访问请求;否则,OUT读出的可能是修改前的值,也可能是修改后的值。Count的值和系统工作不正常。 竞争条件,临界资源,临界区 竞争情况(race condition),又称与时间有关的错误。当两个或多个进程正在同时读写共享变量,变量的最后结果依赖于各进程运行的时序时,称此时出现了竞争情况。 包含竞争情况的程序是错误的,但此种错误非常难以调试。 临界资源:一次仅允许一个进程使用的资源 软件方面:count等共享变量,表格,队列,文件中的记录… 硬件方面:打印机…设备 临界区:进程中访问临界资源的程序段。 IN进程中的1,2,3语句为其针对count 的临界区 OUT进程中的1,2,3语句… 临界区与临界资源有关,针对同一批临界资源的临界区为相关临界区。 进程之间的第一种关系——互斥 同时使用一个临界资源的多个进程应互斥。即:保证:在任何时刻最多只有一个进程运行于临界区。 用于互斥的程序段: entry section ; 检查临界资源空闲?Y则设置忙标 志,否则等待或稍后再试 critical section; exit section; 临界资源置不忙标志,将使用权 让于他人 同步机制应遵循的原则 空闲让进 忙则等待 有限等待 让权等待 软件的解决方案——算法1(简单锁变量) 解决临界资源互斥的最简单的想法是:为每个临界资源设置一个锁变量,每把锁只有打开和关闭两种状态。进程试图进入临界区前先检测锁的状态:若锁为关闭状态,则进程等待;若锁为打开状态,则关锁后进程执行临界区代码,在退出临界区后及时将锁打开。以下的代码反映了使用软件锁变量的流程(其中lock=0表示锁开着;lock=1表示锁关闭)。 while ( lock == 1) ; // 忙等待 lock = 1; // 关锁 临界区 lock = 0; // 开锁 算法的错误及错误的根源 有可能多个进程同时进入临界区。错误的根源:当lock==0时,while中的判断和lock=1应同时完成。 Lock也是临界资源。引入另一个临界资源来解决临界资源的互斥问题是不可能的。 解决问题的关键: lock变量的检查(while)和置1(lock=1)应同时完成。 硬件的解决方案 注:lock是多个进程共享的锁变量 关中断 again: cli: (if lock!=0) { sti ; goto again; } lock=1; sti; critical section; lock=0; … XSWAP指令 Local status=1; //lock是全局锁变量 Again: Xswap
您可能关注的文档
- PowerPoint2007培训演示文稿熟练掌握.ppt
- PowerPoint初级.ppt
- POCO快消行业合作案例分享2008.ppt
- preposition介词练习.ppt
- prius电油混合动力新车型培训2.ppt
- prius电油混合动力新车型培训4.ppt
- prius电油混合动力新车型培训7.ppt
- PROE50教程学习步骤.ppt
- PROMAX入门级地震资料处理教程.ppt
- Protel课件第2章简单原理图设计.ppt
- 考点解析人教版7年级数学上册《整式的加减》单元测评试题(含解析).docx
- 考点解析人教版7年级数学上册《整式的加减》单元测评试题(含答案解析).docx
- 考点解析人教版7年级数学上册《整式的加减》同步测评试卷(详解版).docx
- 考点解析人教版7年级数学上册《整式的加减》定向测评试卷(含答案详解).docx
- 考点解析人教版7年级数学上册《整式的加减》定向测评试题(含答案解析).docx
- 考点解析人教版7年级数学上册《整式的加减》定向测评试卷.docx
- 考点解析人教版7年级数学上册《整式的加减》定向测评练习题(含答案详解).docx
- 考点解析人教版7年级数学上册《整式的加减》定向攻克试题(含详细解析).docx
- 考点解析人教版7年级数学上册《整式的加减》定向攻克试题(含解析).docx
- 考点解析人教版7年级数学上册《整式的加减》定向攻克练习题(含答案解析).docx
最近下载
- 猫病诊疗技术—猫静脉留置针放置技术.pptx VIP
- 沪教版新教材初中数学2.3(1)(2)一次式的概念及同类项.pptx VIP
- 2025党校入党积极分子预备党员考试精选题库(含答案).docx VIP
- 光隔离器、衰减器、环形器.ppt VIP
- 集团供应链SCM计划管理现状及计划指标分析.pptx VIP
- 2022~2023学年安徽教科院版初中七年级上册信息技术全册教案(含教学计划).pdf VIP
- 2025年中国心力衰竭诊断和治疗指南更新要点解读.pdf VIP
- 特殊儿童家长培训安全内容.pptx
- 4.7.3 用药与急救 课件 生物人教版八年级上册.pptx VIP
- 15J401 钢梯国家标准图集.pdf VIP
文档评论(0)