欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第五节 进程通信.ppt

    • 资源ID:66143517       资源大小:138KB        全文页数:18页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第五节 进程通信.ppt

    第五节第五节 进程通信进程通信n概述概述n共享内存共享内存n消息传递方式消息传递方式n共享文件方式(管道方式)共享文件方式(管道方式)一、一、概述概述1 1、进程通信的定义进程通信的定义指并发进程之间的信息交换指并发进程之间的信息交换进程的进程的同步与互斥同步与互斥机制就是一种通信的类型机制就是一种通信的类型2 2、进程通信的类型、进程通信的类型低级通信和高级通信低级通信和高级通信n低级通信:低级通信:只能传递状态和整数值(控制信只能传递状态和整数值(控制信息),包括进程互斥和同步所采用的信号量息),包括进程互斥和同步所采用的信号量和管程机制。优点的速度快。缺点是:和管程机制。优点的速度快。缺点是:n传送信息量小:传送信息量小:n编程复杂:所有操作均由编程复杂:所有操作均由程序员程序员完成;完成;n高级通信:高级通信:用户直接利用用户直接利用提供的命令提供的命令,高效地传递大量数据的方式,实现细节对用高效地传递大量数据的方式,实现细节对用户透明。户透明。能够传送任意数量的数据,包括三能够传送任意数量的数据,包括三类:类:共享存储区共享存储区、消息传递消息传递、共享文件共享文件。直接通信和间接通信直接通信和间接通信直接通信:直接通信:信息直接传递给接收方,如信息直接传递给接收方,如管道管道。在发送时,指定接收方的地址或标识,也可以指在发送时,指定接收方的地址或标识,也可以指定多个接收方或广播式地址;定多个接收方或广播式地址;在接收时,允许接收来自任意发送方的消息,并在接收时,允许接收来自任意发送方的消息,并在读出消息的同时获取发送方的地址。在读出消息的同时获取发送方的地址。间接通信:间接通信:借助于收发双方进程之外的共享借助于收发双方进程之外的共享数据结构作为通信中转,如数据结构作为通信中转,如消息消息队列。通常收队列。通常收方和发方的数目可以是任意的。方和发方的数目可以是任意的。二、共享存储器方式二、共享存储器方式共享内存方式共享内存方式1 1、基于、基于共享数据结构共享数据结构的通信方式:的通信方式:数据结构和同步由程序员实现,效率低。数据结构和同步由程序员实现,效率低。2 2、基于、基于共享存储区共享存储区的通信方式:的通信方式:存储器划出一块共享存储区,由管理。存储器划出一块共享存储区,由管理。三、消息传递模式三、消息传递模式进程间的数据交换是以格式化的进程间的数据交换是以格式化的消息消息(messagemessage)为单位的。为单位的。现代计算机系统中最广泛的通信机制,现代计算机系统中最广泛的通信机制,通过通过原原语语实现。实现。系统为进程提供了两个高级通讯原语系统为进程提供了两个高级通讯原语sendsend和和receivereceivesendsend:当要进行消息传递时执行当要进行消息传递时执行sendsendreceivereceive:当接收者要接收消息时执行当接收者要接收消息时执行receivereceive又有两种类型:又有两种类型:n消息缓冲消息缓冲在内存中开设缓冲区,发送进程将消息在内存中开设缓冲区,发送进程将消息送入缓冲区,接收进程接收传递来的缓送入缓冲区,接收进程接收传递来的缓冲区。属于直接通信方式。冲区。属于直接通信方式。n信箱通信信箱通信属于间接通信方式。属于间接通信方式。1 1、消息缓冲通信(直接通信方式)、消息缓冲通信(直接通信方式)交换以消息(交换以消息(messagemessage)为单位(网络中称为报文)为单位(网络中称为报文)发送进程直接将消息发送给接收进程,并将发送进程直接将消息发送给接收进程,并将之挂在接收进程的消息缓冲队列上,接收进程直之挂在接收进程的消息缓冲队列上,接收进程直接从消息缓冲队列接收消息。需要建立、维持和接从消息缓冲队列接收消息。需要建立、维持和撤消通信链路。撤消通信链路。发送进程发消息时要指定接收进程的名字,发送进程发消息时要指定接收进程的名字,反过来,接收时要指明发送进程的名字。反过来,接收时要指明发送进程的名字。Send(receiver,message);Send(receiver,message);Receive(sender,message);Receive(sender,message);在操作系统空间设置一组缓冲区,当在操作系统空间设置一组缓冲区,当发送进程发送进程需要发送消息时,执行需要发送消息时,执行sendsend系统调用系统调用,产生自,产生自愿性中断,进入操作系统,操作系统为发送进愿性中断,进入操作系统,操作系统为发送进程分配一个空缓冲区,并将所发送的消息从发程分配一个空缓冲区,并将所发送的消息从发送进程送进程copycopy到缓冲区中,然后将该载有消息的到缓冲区中,然后将该载有消息的缓冲区连接到接收进程的消息链链尾,如此就缓冲区连接到接收进程的消息链链尾,如此就完成了发送过程。发送进程返回到用户态继续完成了发送过程。发送进程返回到用户态继续执行执行在以后某个时刻,当在以后某个时刻,当接收进程接收进程执行到执行到receivereceive接收原语接收原语时,也产生自愿性中断进入操作系统,时,也产生自愿性中断进入操作系统,由操作系统将载有消息的缓冲区从消息链中取由操作系统将载有消息的缓冲区从消息链中取出,并把消息内容出,并把消息内容copycopy到接收进程空间,之后到接收进程空间,之后收回缓冲区,如此就完成了消息的接收,接收收回缓冲区,如此就完成了消息的接收,接收进程返回到用户态继续进行。进程返回到用户态继续进行。M:M:N:N:接受进程接受进程 R R发送进程发送进程 S S.消息缓冲区结构:消息缓冲区结构:q发送者发送者q消息长度消息长度q消息正文消息正文q下一个消息缓冲区指针下一个消息缓冲区指针用用P.VP.V操作来实现操作来实现SendSend原语原语:SendSend(R R,M M)BeginBegin根据根据R R找接收进程,如果没找到出错返回找接收进程,如果没找到出错返回;申请空缓冲区申请空缓冲区P P(s-bs-b);把消息从把消息从M处处copy到空缓冲区到空缓冲区;P(m-mutex);把缓冲区挂到接收进程的消息链链尾把缓冲区挂到接收进程的消息链链尾;V(m-mutex);V(s-m);ENDEND其中其中s-bs-b初值初值:n;s-m:n;s-m初值初值:0:0ReceiveReceive原语?原语?2 2、信箱通信(间接通信方式)、信箱通信(间接通信方式)发送进程发消息时不指定接收进程的名字,发送进程发消息时不指定接收进程的名字,而是指定一个中间媒介,即而是指定一个中间媒介,即信箱信箱。进程间通过。进程间通过信箱实现通信。信箱实现通信。信箱是一种数据结构,逻辑上分成有关信信箱是一种数据结构,逻辑上分成有关信箱描述的信箱头和若干放消息的格子。箱描述的信箱头和若干放消息的格子。可以单向也可双向通信;可以实时通信也可以可以单向也可双向通信;可以实时通信也可以非实时通信。非实时通信。至少有四种原语:创建和撤消信箱、发送和接至少有四种原语:创建和撤消信箱、发送和接收消息。收消息。Create(mailbox);kill(mailbox);Create(mailbox);kill(mailbox);Send(mailbox,message);Receive(mailbox,Send(mailbox,message);Receive(mailbox,message);message);信箱可由用户创建或由操作系统创建,因此信信箱可由用户创建或由操作系统创建,因此信箱可分为私用信箱、公用信箱和共享信箱。箱可分为私用信箱、公用信箱和共享信箱。私用信箱:进程为自己创建,拥有者读取消息,其他私用信箱:进程为自己创建,拥有者读取消息,其他进程发送消息,单向通信。进程发送消息,单向通信。公用信箱:由公用信箱:由OS创建,供所有核准进程使用,双向创建,供所有核准进程使用,双向通信。通信。共享信箱:由进程创建,创建时指出共享者,双向通共享信箱:由进程创建,创建时指出共享者,双向通信。信。发送进程与接收进程之间的关系有四种:一对发送进程与接收进程之间的关系有四种:一对一、多对一、一对多、多对多。一、多对一、一对多、多对多。发送进程发送进程接收进程接收进程字符流方式写入字符流方式写入 先进先出顺序读出先进先出顺序读出四、管道通信四、管道通信(利用共享文件通信)利用共享文件通信)1 1、管道、管道定义定义:用于连接一个读进程和写进程:用于连接一个读进程和写进程以实现他们之间的通信的一个以实现他们之间的通信的一个共享文件共享文件,又称又称为为PIPEPIPE文件,文件,所以也称共享文件方式所以也称共享文件方式2 2、利用一个打开的共享文件连接两个相互通、利用一个打开的共享文件连接两个相互通信的进程,文件作为缓冲传输介质信的进程,文件作为缓冲传输介质3 3、共享文件方式的优点:、共享文件方式的优点:可以长期保存可以长期保存大小不受限制,内容可为各种媒体信息大小不受限制,内容可为各种媒体信息可阅读任意部分、可多次阅读可阅读任意部分、可多次阅读多个进程可交互访问多个进程可交互访问4、需要协调的三个方面:、需要协调的三个方面:互斥互斥同步同步确定对方是否存在确定对方是否存在

    注意事项

    本文(第五节 进程通信.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开