- 1、本文档共61页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、进程同步的基本概念 register2:=counter; register2:=register2-1; register1:=counter; counter:=register2; register1:=register1+1; counter:=register1; 2、记录型信号量 三、信号量的应用 进程互斥问题解题思路 一类临界资源设置一个互斥信号量mutex,初值为其可用个数(如打印机台数),如:只有一台打印机可设置为1 所有互斥进程在进入区执行P(mutex),退出区执行V(mutex);次序不能颠倒 P和V操作成对出现。遗漏P操作则不能保证互斥访问,遗漏V操作则可能造成死锁 三、信号量的应用 进程同步问题的解题思路 有几类同步进程,就设几个同步信号量。 设定信号量初值。 同一信号量的P、V操作要成对出现,但分别在不同进程的代码中。 四、管程 信号量机制中,大量分散的同步操作 给系统管理带来了麻烦 容易导致系统死锁 1、管程(monitor)定义 管程可定义为:一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。 管程由4部分组成 2、条件变量 在管程中引入条件变量(condition)来区分等待原因的不同,描述格式为 var x: condition; 对条件变量的P、V操作可表示为: x.wait:将调用该过程的进程挂起阻塞,并加入到x的挂起阻塞队列中;此时其它进程可以使用该管程。 x.signal:选择一个在条件变量x上被阻塞挂起的进程恢复,若没有,该操作无效。这与信号量机制中的signal操作不同,因为后者总是要执行s:=s+1操作,因而总会改变信号量的状态。 求解进程同步与互斥问题注意事项 进程应该先申请同步信号量,再申请互斥信号量;释放顺序不要求,但建议嵌套出现 任何信号量的P和V操作都必须成对出现 对互斥信号量的操作成对出现在同一进程中 对同步信号量的操作成对出现在不同进程中 在生产者消费者问题中,若只有一个缓冲区,则不需要互斥信号量 进程同步与互斥问题解题思路 分清哪些是互斥问题(互斥访问临界资源),哪些是同步问题(具有前后执行顺序要求,一个进程的操作结果影响另一个进程的操作)。 一类临界资源设置一个互斥信号量,初值为其可用个数,一般为1,代表一次只允许一个进程访问临界资源。 有几类同步进程,就设几个同步信号量。一个同步信号量表示一类同步进程是否可以开始或已经结束。 同步与互斥的解题步骤 确定进程。包括进程的数量、进程的工作内容,可以用流程图描述。 确定同步互斥关系。根据使用的是临界资源还是处理的前后关系,确定同步与互斥,然后确定信号量的个数、含义及对信号量的P、V操作。 用类C语言描述同步或互斥算法。 本章作业 三、信号量的应用 例:三个进程共用两个I/O缓冲区。 解:为缓冲区设置一个互斥信号量S,S.value=2,表示可用缓冲区有2个。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 利用信号量实现前驱关系 P1 P2 三、信号量的应用 设置一个信号量S,S=0 P1; V(S); P(S); P2; 如此即可实现先执行P1,再执行P2 为每个前趋关系设置一个同步信号量,其初值为0 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 三、信号量的应用 例: 程序前趋图如图所示,试用P、V操作实现其同步。 var a,b,c,d:semaphore:=0,0,0,0; begin cobegin s1; s2; s3; s4; coend; end; s1 s2 s3 s4 a b c d s1: begin …; v(a); end; s2: begin … v(b); v(c); end; s3: begin p(a); p(b); … v(d); end; s4: begin p(c); p(d);
您可能关注的文档
- 《排课高手》基本使用方法幻灯演示.ppt
- 《探究:什么是信息.ppt
- 《接口和总线.ppt
- 《排编高手2》基本使用方法39页.ppt
- 《探地雷达基本原理A.ppt
- 《接待服务与管理.ppt
- 《排版小窍门必学.ppt
- 《控制仓位的技巧.ppt
- 《排版与设计.ppt
- 《排水固结.ppt
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江西省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年安徽省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年福建省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年广东省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河南省高考英语试卷(含答案解析)+听力音频.docx
- 2024年湖北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江苏省高考英语试卷(含答案解析)+听力音频+听力原文.docx
文档评论(0)