- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章进程的描述与控制(part5)详解
Heb Nomal University Department of Computer Science * 第二章 进程的描述与控制 2.1 前驱图和程序执行 2.2 进程 的描述 2.3 进程控制 2.4 进程同步 2.5 经典进程的同步问题 2.6 进程通信 2.7 线程的基本概念 2.8 线程的实现 * 关 于 进程同步 P.V操作必须成对出现 当为互斥操作时,它们同处于同一进程 当为同步操作时,则不在同一进程中出现 如果P(S1)和P(S2)两个操作在一起,那么P操作的顺序至关重要。 * 掌握信号量的物理意义 (1)一般考查对记录型信号量的理解。 信号量的物理含义: S-value0表示有S-value个资源可用; S-value==0表示无资源可用; S-value0则|S-value|表示等待队列中的进程个数。 说明:根据以上信号量的物理意义,可以计算信号量的变化范围。 (2)S-value的初值 表示系统中某类资源的数目,称为资源信号量。 若S-value的初值为1,表示只允许一个进程访问,此时信号量转化为互斥信号量。 (3)对信号量只能执行wait、signal操作 wait(S)表示申请一个资源 ; signal(S)表示释放一个资源。 注意:整型信号量不会取负值,可由此判断题目中的信号量是整型信号量还是记录型信号量。 * semaphore empty=1, full=0; item buffer; void producer(){ do{ wait(empty); putdata; signal(full); }while(1); } void consumer(){ do{ wait(full); getdata; signal(empty); }while(1); } void main(){ cobegin producer();consumer(); coend } 说明:对资源信号量empty和full的wait和signal操作,同样需要成对地出现,但处于不同的程序中。 1. 利用记录型信号量解决生产者—消费者问题 设置2个信号量full和empty。 Full:表示buffer中有数据的缓冲区个数,初值为0; Empty:表示buffer中空缓冲区的个数,初值为1; 取值范围都是[-1,1]。 buffer 生产者 消费者 * 复杂情况(既有同步,又有互斥): 一个buffer,n个生产者,m个消费者,生产者不断地生产,消费者不断地消费。只有buffer为空时生产者才能进行putdata操作,只有buffer有数据时消费者才能进行getdata操作。 buffer变成了临界资源,不允许多个进程同时操作buffer。即不允许多个生产者同时进行putdata操作,也不允许多个消费者同时进行getdata操作。 与简单情况相比,需要增加一个信号量mutex来实现对buffer的互斥访问,其初始值为1。 信号量full和empty的变化范围与简单情况有所不同。full初值仍然为0,变化范围:[-m,1],n是消费者进程总数量;empty初值仍然为1,变化范围:[1-n,1],m是生产者进程总数量。 buffer 生 产 者 消 费 者 * semaphore empty=1, full=0,mutex=1; item buffer; void producer(){ do{ wait(empty); putdata; signal(full); }while(1); } void consumer(){ do{ wait(full); getdata; signal(empty); }while(1); } void main(){ cobegin producer();consumer(); coend
您可能关注的文档
- 第2章计算机网络体系结构详解.ppt
- 第2章计算机的逻辑部件详解.ppt
- 抗菌药物培训分解.ppt
- 第2章计算机数控装置详解.ppt
- 第2章计算机软硬件基础详解.ppt
- 第2章误差理论与数据处理详解.ppt
- 昆虫的多样性分解.ppt
- 第2章软件体系结构概述详解.ppt
- 第2章软件项目综合管理详解.ppt
- 抗凝药分类及作用机制分解.ppt
- 中国人民银行[1].pptx
- 中国人民银行法律制度.pptx
- 五上语文【重难知识归纳】.pdf
- CECS14-2002 游泳池和水上游乐池给水排水设计规程建筑工程图集 conv.docx
- CECS94-2002 建筑排水用硬聚氯乙烯螺旋管管道工程技术规程建筑工程图集 conv.docx
- 湖职院水利水电工程施工技术教案09混凝土建筑物施工.doc
- PEP三年级英语下册教学课件 Unit 6 Number in life B Read and write.pptx
- PEP三年级英语下册教学课件 Unit 6 Number in life A Let's learn & Listen and chant.pptx
- PEP三年级英语下册教学课件 Unit 5 Old toys B Read and write.pptx
- 部编版一年级语文上册 第三单元6 j q x【交互版】.pptx
最近下载
- 存储网络配置指导华为oceanstor sns2124 2224 2248 3096 5192 5384产品概述.pdf VIP
- YB∕T 4001.3-2020- 钢格栅板及配套件 第3部分:钢格板楼梯踏板.pdf VIP
- 中国钢结构制造企业资质管理规定(暂行).pdf
- VTE的治疗与预防.pptx VIP
- (公共英语等级考试三级大纲词汇4107个记忆情况.doc VIP
- [医疗机构设置审批有关规定.doc VIP
- 建设工程档案管理课件.ppt VIP
- DD 2019-02 固体矿产地质调查技术要求(1:50000).pdf VIP
- xx太阳能发电公司50MWp光伏电站项目安全设施设计专篇.pdf VIP
- 物业管理单位服务费用测算明细表.pdf VIP
文档评论(0)