- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
习题课(一) PV操作的应用
习题课(一) PV操作的应用 PV原语的含义 P:passeren pass V:verhoog increment P操作和V操作是不可中断的程序段,称为原语。 PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。在PV原语执行期间不允许有中断的发生。 PV原语的含义 信号量S是一整数 P(S)原语操作的动作是: (1)S减1; (2)若S减1后仍大于或等于零,则进程继续执行; (3)若S减1后小于零,则该进程被阻塞后进入与该 信号相对应的队列中,然后转进程调度。 V(S)原语操作的动作是: (1)S加1; (2)若相加结果大于零,则进程继续执行; (3)若相加结果小于或等于零,则从该信号的等待 队列中唤醒一等待进程,然后再返回原进程继续执 行或转进程调度。 用PV操作实现进程的互斥与同步 解决此类问题的一般方式: 根据问题给出的条件,确定进程有几个或几类; 确定进程间的制约关系——是互斥,还是同步; 各相关进程间通过什么信号量实现彼此的制约,标明信号量的含义和初值; 用PV操作写出相应的代码段 验证代码的正确性:设以不同的次序运行各进程,是否能保证问题的圆满解决,切忌按固定顺序执行各进程。 苹果桔子问题 桌上有一只盘子,每次只能放入一只水果;爸爸专 向盘子中放苹果(apple),妈妈专向盘子中放桔子 (orange),一个儿子专等吃盘子中的桔子,一个女 儿专等吃盘子里的苹果。请用P、V操作实现爸爸、 妈妈、儿子、女儿四个并发进程的同步与互斥。 苹果桔子问题 解: sp:semaphore; /* 盘子里可以放几个水果 */ sg1:semaphore; /* 盘子里有桔子 */ sg2:semaphore; /* 盘子里有苹果 */ sp := 1; /* 盘子里允许放一个水果*/ Sg1:= 0; /* 盘子里没有桔子 */ sg2 := 0; /* 盘子里没有苹果*/ cobegin 苹果桔子问题 process father begin L1:削一个苹果; 盘子为空吗? 把苹果放入plate; 女儿可以拿苹果; goto L1; end; process daughter begin L4: 盘子里有苹果吗? 从plate中取苹果; 盘子又为空; 吃苹果; goto L4; end; 苹果桔子问题 process mother begin L2:剥一个桔子; 盘子为空吗? 把桔子放入plate; 儿子可以拿桔子; goto L2; end; process son begin L3: 盘子里有桔子吗? 从plate中取桔子; 盘子又为空; 吃桔子; goto L3; end; 苹果桔子问题: process father begin L1:削一个苹果; P(sp); 把苹果放入plate; V(sg2); goto L1; end; process mother begin L2:剥一个桔子; P(sp); 把桔子放入plate; V(sg1); goto L2; end; 苹果桔子问题: process son begin L3: P(sg1); 从plate中取桔子; V(sp); 吃桔子; goto L3; end; process daughter begin L4: P(sg2); 从plate中取苹果; V(sp); 吃苹果; goto L4; end; 缓冲问题(一) 有三个并发进程R,M和P,它们共享一个缓冲区B。 进程R负责从输入设备读入一条记录,每读一条记 录后把它存放在缓冲区B中;进程M在缓冲区B中加 工进程R存入的记录;进程P把加工后的记录打印输 出。缓冲区B每次只能存放一条记录,当记录被加 工输出后,缓冲区B中才可存放另一条新记录。请 用P,V操作作为同步机制来描述它们并发执行时能正 确工作的程序。 缓冲问题(一) 解: begin R,M,P:semaphore; R:=1;M:=P:=0; cobegin 缓冲问题 进程R L1: 从输入设备中读取一条记录; P(R); 将读入记录存入缓冲区; V(M); goto L1 进程M L2: P(M); 对缓冲区中的数据信息进行加工,并将其存入缓冲区中;
您可能关注的文档
- 《单片机原理及应用》简明教案.doc
- 《单片机原理及应用》课程实训指导书.doc
- 《凡尔赛宫》ppt课件3.ppt
- 《宏观经济学》第一章宏观经济学导论.ppt
- 《微观经济学》第14章土地和资本.ppt
- 《微观经济学》第13章劳动市场.ppt
- 《微观经济学》下.ppt
- 《广告多棱镜》专题ppt课件5.ppt
- 《微观经济学》第5章第五节定价实践.ppt
- 《传感检测技术》试题和答案3.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
最近下载
- 单向板肋梁楼盖计算.docx
- 作业4:工学一体化课程《小型网络安装与调试》工学一体化课程考核方案.docx VIP
- 中国画之写意画.ppt VIP
- (2019苏教)小学科学三年级上册:全册整套教案资料.pdf
- 核心素养导向的高中数学课例设计研究与实践(样例)(1).doc
- 驾驶证延期委托书模板.doc
- 作业5:工学一体化课程《小型网络安装与调试》工学一体化课程终结性考核试题.docx VIP
- 作业5:工学一体化课程《小型网络安装与调试》工学一体化课程终结性考核试题.pdf VIP
- 中国画的构图形式ppt课件.pptx
- 作业11:《小型网络安装与调试》工学一体化课程教学进度计划表.pdf VIP
文档评论(0)