过程的通讯:共享存储音讯传递和管道通讯

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过程的通讯:共享存储音讯传递和管道通讯相关的知识,希望对你有一定的参考价值。

过程通讯是指过程之间的信息交流。PV操作是初级通讯方法,髙级通讯方法是指以较高的效力传输少量数据的通讯方法。初级通讯办法次要有以下三个类。

共享存储

在通讯的过程之间存在一块可直接拜访的共享空间,经过对这片共享空间停止写/读操作完成过程之间的信息交流。在对共享空间停止写/读操作时,需求运用同步互斥工具(如 P操作、V操作),对共享空间的写/读停止掌握。共享存储又分为两种:初级方法的共享是基于数据构造的共享;初级方法则是基于存储区的共享。操作零碎只担任为通讯过程供给可共享运用的存储空间和同步互斥工具,而数据交流则由用户本人布置读/写指令完成。
需求留意的是,用户过程空间普通多是自力的,要想让两个用户过程共享空间必需经过特别的零碎挪用完成,而过程内的线程是天然共享过程空间的。

音讯传递

在音讯传递零碎中,过程间的数据交流是以格局化的音讯(Message)为单元的。若通讯的过程之间不存在可直接拜访的共享空间,则必需应用操作零碎供给的音讯传递办法完成过程通讯。过程经过零碎供给的发送音讯和接纳音讯两个原语停止数据交流。
1) 直接通讯方法:发送过程直接把音讯发送给接纳过程,并将它挂在接纳过程的音讯缓冲队列上,接纳过程从音讯缓冲队列中获得音讯。
2) 直接通讯方法:发送过程把音讯发送到某个两头实体中,接纳过程从两头实体中获得音讯。这种两头实体普通称为信箱,这种通讯方法又称为信箱通讯方法。该通讯方法普遍使用于盘算机收集中,响应的通讯零碎称为电子邮件零碎。

管道通讯

管道通讯是音讯传递的一种特别方法。所谓“管道”,是指用于衔接一个读过程和一个写过程以完成它们之间通讯的一个共享文件,别名pipe文件。向管道(共享文件)供给输出的发送过程(即写过程),以字符流方式将少量的数据送入(写)管道;而接纳管道输入的接纳过程(即读过程),则从管道中接纳(读)数据。为了调和单方的通讯,管道机制必需供给以下三方面的调和才能:互斥、同步和肯定对方的存在。


本文出自 “11999725” 博客,请务必保留此出处http://12009725.blog.51cto.com/11999725/1843716

以上是关于过程的通讯:共享存储音讯传递和管道通讯的主要内容,如果未能解决你的问题,请参考以下文章

进程的通信:共享存储消息传递和管道通信

进程间通讯

Linux 进程间通讯详解一

进程间通讯之有名管道

进程间通信方式

13.无名管道通讯编程