- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章-进程描述及控制-2
方法4 Semaphore fork[5]={1,1,1,1,1}; process Pi // i=0,1,2,3,4, AND型信号量 { //要么左右叉子都拿到,要么都不拿 while(1) { 思考; P( fork[i], fork[(i+1)mod 5] ); 吃面条; V( fork[i], fork[(i+1)mod 5] ); } } * 信号量机制小结 信号量的物理含义 S0表示有S个资源可用 S=0表示无资源可用 S0则| S |表示阻塞队列中的阻塞进程个数 信号量的初值应该大于等于0 * P/V操作 P(S):表示申请一个资源 V(S):表示释放一个资源 必须成对出现 当为互斥操作时,它们同处于同一进程 当为同步操作时,则在不同进程中出现 一个同步P操作与一个互斥P操作在一起时,同步P操作在互斥P操作前。而两个V操作顺序无关紧要。 * 信号量机制的优缺点 优点 简单,而且表达能力强(用信号量机制可解决任何同步互斥问题) 缺点 同步操作分散:信号量机制中,同步操作分散在各个进程中,使用不当就可能导致各进程死锁、饥饿和不公平。不适合实时系统。 可读性差:要了解对于一组共享变量及信号量的操作是否正确,必须通读整个系统或者并发程序; 不利于修改和维护:各模块的独立性差,任一组变量或一段代码的修改都可能影响全局; 正确性难以保证:操作系统或并发程序通常很大,很难保证这样一个复杂的系统没有逻辑错误。 * 作业 对于前面例题2,若司机和售票员的工作流程如下(司机:启动开车、正常行车、到站停车;售票员:开车门、关车门、售票),则用PV操作如何实现司机和售票员之间的同步(提示,此时初始状态为停车而还没开门状态,即乘客还没下车)。 有一个仓库,可以存放A和B 两种产品。要求: 1)每次只能存入一种产品(A或B); 2)?NA产品数量?B产品数量M。试用PV操作描述产品A与产品B的入库过程。 * 三个进程P1、P2、P3互斥使用一个包含N(N0)个单元的缓冲区。P1每次用produce( )生成一个正整数并用put( )送入缓冲区某一空单元中;P2每次用getodd( )从该缓冲区中取出一个奇数并用countodd( )统计奇数个数;P3每次用geteven( )从该缓冲区中取出一个偶数并用counteven( )统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。 * 2.5 进程通信 * 并发进程之间的交互必须满足两个基本要求:同步和通信。 例如,进程同步可通过信号量,建立进程之间的联系,相互协调运行和协同工作。 进程协同工作时,需要互相交换信息,有些情况下进程间交换少量信息,有些情况下进程间交换大量数据。 进程通信(Inter-Process Communication, IPC):是指进程之间的信息交换。 * 低级进程通信 只能传递状态和控制信息,如:信号量和管程。优点是速度快,缺点: 传送信息量小、效率低。 通信对用户不透明,编程复杂、容易出错。 高级进程通信 用户直接使用OS提供的一组通信命令高效地传送大量数据。 OS屏蔽了通信细节,即通信过程对用户透明,减少了通信程序编制的复杂性。 进程通信的分类 * (1)共享存储器系统 基于共享数据结构的通信方式(是低级通信) 如:producer-consumer中的有界缓冲区。 低效、不透明、适于少量数据的传递。 基于共享存储区的通信方式 共享存储区(从内存中划分) 。 通信过程: 向系统申请一个或多个分区 获得分区后即可读/写 特点:高效、速度快、可传输大量数据。 进程通信的分类 * (3)消息传递系统 信息单位:消息(报文); 是目前主要的通信方式,分为直接通信、间接通信; 实现:一组通信命令(原语),具有透明性; 可用于多处理机系统、分布式系统和计算机网络。 (2)管道(pipe)通信 管道:用于连接一个读进程和一个写进程之间通信的共享文件(pipe文件)。 功能:大量的数据发收。 注意:互斥地使用管道、同步、对方是否存在。 进程通信的分类 * (4)客户机-服务器系统 是网络环境中的主流通信机制。 主要的实现方法: 套接字 远程过程调用和远程方法调用 消息传递通信的实现方式 * (1)直接通信方式 send(Receiver, message) receive(Sender, message) (2)间接通信方式(可实现非实时通信) 优点:在读/写时间上的随机性 写进程--信箱(中间实体)--读进程 信箱的创建与撤消 信箱名、属性(公用、私用、共享)、共享者名字 消息的发送和接收 Send (mailbox, message) Receive
您可能关注的文档
最近下载
- 光伏电站组件安装前测试记录及电源并网前单位工程调试报告(记录).doc VIP
- QCR 749.1-2020 铁路桥梁钢结构及构件保护涂装与涂料 第1部分:钢梁.docx VIP
- MTBE生产技术知识问答.pdf VIP
- (2025春新版本)部编版一年级语文下册《 端午粽》PPT课件.pptx VIP
- 第20课 第一次工业革命 课件(共25张PPT).pptx VIP
- 颖川陈氏经秀族谱目录.doc VIP
- 2025年河北省国富农业投资集团有限公司人员招聘笔试备考试题及答案解析.docx VIP
- 新人教版五年级数学上册《★掷一掷》部级优课陈萍老师—省级公开课课件.ppt VIP
- 古野GPS操作说明书中文_GP170.PDF VIP
- TT310系列超声波测厚仪.PDF VIP
原创力文档


文档评论(0)